Egzamin: Gra Kółko i Krzyżyk
Napisz kompletną grę w 1–2 godziny używając wszystkiego czego się nauczyłeś
To jest twój egzamin końcowy!
Wyobraź sobie że nauczyłeś się gotować poszczególne dania: kroić warzywa, robić bulion, smażyć mięso. Egzamin końcowy to ugotowanie kompletnego obiadu. Tutaj połączysz zmienne, tablice, funkcje, pętle i warunki w jednym żywym projekcie.
Co budujemy
Grę Kółko i Krzyżyk dla dwóch graczy. Plansza 3×3, pierwszy gracz to X, drugi to O. Kto pierwszy ułoży trzy w rzędzie (poziomo, pionowo lub po przekątnej) — wygrywa.
Projekt składa się z 5 kroków, każdy to osobne zadanie. Wykonuj je po kolei.
Architektura gry
Zanim zaczniesz kodować, musisz podzielić zadanie na części:
- Plansza — tablica 3×3 gdzie każda komórka to
null,'X'lub'O' - Ruch — funkcja
makeMove(board, row, col, player) - Sprawdź zwycięzcę — funkcja
checkWinner(board)→'X','O'lubnull - Remis — funkcja
isDraw(board) - Pętla gry — kontroluje tury graczy i koniec gry
Plansza to tablica tablic (macierz 3×3). null oznacza pustą komórkę.
Wskazówka o wierszach i kolumnach
board[0][0] — lewy górny róg. board[1][1] — środek. board[2][2] — prawy dolny róg. Pierwszy indeks to wiersz, drugi to kolumna.
Jak sprawdzić zwycięzcę
Musisz sprawdzić 8 kombinacji:
- 3 poziome (wiersze 0, 1, 2)
- 3 pionowe (kolumny 0, 1, 2)
- 2 przekątne (główna i anty)
Jeśli wszystkie trzy komórki w linii są takie same i nie są null — jest zwycięzca.
Iterujemy po wszystkich 8 liniach i sprawdzamy czy wszystkie trzy komórki są takie same.
Gotowy? Wykonaj zadania po kolei!
Każde zadanie buduje na poprzednim. Gdy ukończysz wszystkie 5 — będziesz miał kompletną grę. Nie zaglądaj od razu do rozwiązania — spróbuj samodzielnie przez co najmniej 10–15 minut.