Underground 2 Revived
Play Need for Speed: Underground 2 (2004) in Chrome and Firefox with WebGPU graphics, Web Audio, up to 120 fps widescreen, controller support, free roam and Online races with friends. Fan project, not
翻譯準備中
尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證Texas Hold'em toernooipoker in de browser — 5 bots met Monte-Carlo equity, pure CSS-graphics, WebAudio
翻譯準備中
取自儲存庫 README
正在載入完整 README。 以下為已儲存的摘錄。
Texas Hold'em toernooipoker in de browser. Jij tegen vijf bots met elk hun eigen karakter, stijgende blinds en winner-takes-all. Geen backend, geen accounts, geen afbeeldingen — alles wordt in de browser getekend en berekend.檢視完整 README ↗
Texas Hold'em toernooipoker in de browser. Jij tegen vijf bots met elk hun eigen karakter, stijgende blinds en winner-takes-all. Geen backend, geen accounts, geen afbeeldingen — alles wordt in de browser getekend en berekend.
Volledige Hold'em-regels
Handevaluator Beste 5 uit 7 kaarten via alle 21 combinaties, met een enkele vergelijkbare score per hand. Straat met aas-laag (A-2-3-4-5) inbegrepen. Gecontroleerd op alle negen categorieën plus de onderlinge ordening.
Bots die echt rekenen — en die jou lezen Elke bot schat zijn winkans met een Monte-Carlo simulatie tegen het werkelijke aantal tegenstanders, en zet die af tegen de pot odds. Daarbovenop een karakter — agressie, blufneiging en tightness:
| Bot | Stijl |
|---|---|
| 🦊 Vera | strak, straft hard af |
| 🐗 Mad Mo | elke pot is van hem |
| 🦅 Rook | leest je als een boek |
| 🐢 Nonna | wacht op de nuts |
| 🎲 Dice | gokt op gevoel |
Ze houden bij hoe jij speelt — hoe vaak je vrijwillig meedoet, hoe vaak je verhoogt, en vooral hoe vaak je weglegt tegen een raise — en verschuiven hun bluf- en callgrenzen daarop. Gemeten in simulatie: tegen een tegenstander die bijna altijd foldt vallen ze in 65% van de gevallen aan; tegen een station dat nooit weglegt nog maar 16%.
Daarnaast onthouden ze frustratie: wie net een dure pot verloor speelt een paar handen agressiever. Korte stacks schakelen over op push-or-fold, en op hogere toernooiniveaus rekenen de bots met meer simulaties en minder veiligheidsmarge.
Ze praten ook. Elke bot heeft een eigen stem, en wat ze zeggen hangt af van wat ze werkelijk deden — een bluf-raise klinkt anders dan een waarderaise.
Coach Na elke hand één zin over je leerzaamste beslissing, met de winkans en de pot odds die je op dat moment écht had: "Je foldde op de turn met 62% winkans, terwijl 31% al genoeg was om te callen." Optioneel een live winkansmeter tijdens je beurt.
Carrière en dagchallenge Een ladder van vier toernooien — Café-avond, Pokerclub, Casino, High Roller — met eigen inleg, stack, prijzengeld en steeds scherpere bots. Je bankroll, gewonnen niveaus en 15 prestaties staan in localStorage. De dagchallenge leidt de shuffle af van de datum, dus iedereen speelt vandaag dezelfde kaarten; het resultaat is met één klik te kopiëren.
All-in showdown Zodra er niets meer te beslissen valt draaien alle kaarten open, komt er een ALL-IN banner met hoeveel kaarten er nog moeten en krijgt elke speler een winkansbalk in zijn naambalk. Het board rolt trager uit zodat je de balk ziet verspringen; wie voorstaat kleurt goud.
runoutEquities() telt exact uit zodra alle handen bekend zijn: met één kaart
te gaan alle 44 mogelijkheden, met twee alle 990. Alleen bij een preflop all-in
(vijf kaarten) wordt er geschat met 2.000 trekkingen. Gecontroleerd tegen
bekende waarden: AhQd tegen Kd5c op 2h 7d Kc Js geeft exact 7/44 = 15,91%,
een board dat voor beiden speelt exact 50/50, en AA tegen KK 81,7% tegen de
boekwaarde van 81,9%.
Presentatie
Bediening en comfort
| Toets | Actie |
|---|---|
F | fold |
C | check / call |
R | raise naar het ingestelde bedrag |
A | all-in |
spatie | pauze — zet de hele tafel stil |
Of gewoon klikken. De schuifbalk en de knoppen ½ pot / ¾ pot / pot / all-in zetten je inzet.
Next.js 15 (App Router) · React 19 · TypeScript · handgeschreven CSS. Geen runtime-dependencies buiten React, geen externe assets, volledig statisch.
npm install
npm run dev
Typecheck: npm run typecheck. Build: npm run build.
lib/cards.ts kaarten, deck, schudden (met injecteerbare RNG)
lib/rng.ts deterministische generator + zaadje van de dag
lib/evaluator.ts beste 5 uit 7, vergelijkbare score
lib/equity.ts Monte-Carlo winkans
lib/engine.ts volledige spelstatus + regels + side pots + spelersreads
lib/ai.ts botbeslissingen, aangepast aan de tegenstander
lib/chatter.ts tafelpraat per bot
lib/coach.ts beoordeling van je beslissingen
lib/tiers.ts toernooiladder en prijzengeld
lib/achievements.ts prestaties
lib/stats.ts localStorage: statistieken, voortgang, instellingen
lib/sound.ts WebAudio-synth
components/ tafel, stoelen, kaarten, chips, knoppen, lobby
De engine is puur: elke functie neemt een GameState en geeft een nieuwe terug.
Daardoor is hij los van React te simuleren — wat ook gebeurd is. De laatste
controle: 48 volledige toernooien over alle vier de niveaus, 752 handen, zonder
chip-lekken, zonder vastlopers, met consistente spelersreads en correcte side
pots. Het zaadje van de dag gaf in Node dezelfde eerste hand als in de browser.