Patru în linie contra AI: joc cu minimax
Joacă „Patru în linie” împotriva unui AI creat de tine. Alegi cât de departe gândește, iar jocul arată câte poziții a verificat la fiecare mutare.

✓ Prompt verificat în Gemini Pro: a funcționat de 3 ori din 3
- Nivelul
- Pro
- Rezultat
- Joc cu adversar AI (minimax) într-un singur fișier HTML
- Vârsta
- 12+
- Timp
- ≈ 40 min
- Instrumente
- Gemini
- Cont
- Nu e nevoie
Ce iese
Vei face un joc în care adversarul gândește cu adevărat: verifică mii de poziții. Așa funcționau primele programe de șah.
Pași
-
Deschide gemini.google.com. Sub 13 ani — împreună cu un părinte, pe dispozitivul lui.
-
Copiază promptul întreg și trimite-l:
Fă jocul „Patru în linie” contra calculatorului într-un singur fișier HTML. Nu conecta nimic de pe internet: fără Tailwind, CDN, fonturi, imagini sau biblioteci — doar CSS și JavaScript propriu în fișier. Nu salva nimic în memoria browserului. Toată interfața în limba română. Tabla are 7 coloane × 6 rânduri, tabla e făcută din celule div în CSS Grid (nu canvas), o atingere pe orice celulă a unei coloane aruncă piesa în acea coloană cu animație de cădere. Jucătorul — roșu, calculatorul — galben, primul mută jucătorul. AI-ul calculatorului — minimax cu tăiere alfa-beta; evaluarea poziției: +1000 pentru victorie, pentru fiecare grup de patru celule numără piesele proprii și ale adversarului (3 proprii și una goală = +5, 2 proprii și 2 goale = +2, 3 ale adversarului și una goală = −4), coloana din mijloc +3 pentru fiecare piesă. Glisor „Adâncimea gândirii” 1–7, implicit 4. Pornește mutarea calculatorului cu setTimeout(aiMove, 100) după mutarea jucătorului, ca ecranul să apuce să se actualizeze. Căutarea — adâncire iterativă: adâncimea 1, 2, 3… până la cea aleasă, dar oprește-te dacă au trecut 2 secunde și mută cea mai bună mutare găsită; calculatorul trebuie să mute mereu. După mutarea calculatorului arată: câte poziții a verificat și câte milisecunde a gândit. Cele patru piese câștigătoare se evidențiază, un mesaj mare „Victorie!”, „Înfrângere” sau „Remiză” și butonul „Joc nou”. Structura codului: tabla — tabloul board[rând][coloană] cu 0, 1 și 2; funcțiile dropPiece(col, player), getValidCols(), checkWin(player), scorePosition(), minimax(depth, alpha, beta, isMax), aiMove(), resetGame() — declară fiecare exact o dată. Verifică dacă toate variabilele sunt declarate, toate funcțiile există și nu există erori de sintaxă. Totul trebuie să arate bine pe telefon. Folosește exact aceste id-uri în HTML și în cod: board, status, depth, depthValue, stats, newGame. Minimax — recursie obișnuită cu adâncimea fixă din glisor; dacă adâncimea e mai mare de 5, limitează căutarea la 2 secunde. Arată rezultatul în Canvas. Răspunde direct ca aplicație în Canvas, cu fila de previzualizare. -
Așteaptă cam un minut, apasă Previzualizează (Preview) și încearcă toate butoanele și glisoarele.
-
Verifică AI-ul (întrebarea de mai jos).
-
Apasă Descarcă (Download; uneori e meniul Exportă) — fișierul se deschide în orice browser.
Schimbă promptul
Schimbă doar cuvintele, regulile despre internet și Canvas lasă-le.
- „7 × 6” → „8 × 7” — i-a fost mai greu AI-ului?
- „primul mută jucătorul” → „primul mută calculatorul”
Dacă nu merge
- Calculatorul nu mută? Scrie:
Calculatorul nu face mutarea după mine. Găsește și repară eroarea. - Se blochează la adâncime mare? Scrie:
La adâncimea 7 jocul se blochează. Limitează căutarea la 2 secunde. - Nu există butonul „Previzualizează” (Preview)? Scrie:
Arată rezultatul în Canvas.
Trimiterea lucrărilor în galerie se deschide în curând.