Залік: Гра «Хрестики-нулики»
Напиши повноцінну гру за 1–2 години, використавши все що вивчив
Це твій фінальний залік!
Уяви, що ти навчився готувати окремі страви: різати овочі, варити бульйон, смажити м'ясо. Фінальний залік — це приготувати повноцінну вечерю. Тут ти поєднаєш змінні, масиви, функції, цикли та умови в одному живому проєкті.
Що ми будуємо
Гра «Хрестики-нулики» для двох гравців. Дошка 3×3, перший гравець — X, другий — O. Хто перший збере три в ряд (горизонталь, вертикаль або діагональ) — перемагає.
Проєкт складається з 5 кроків, кожен — це окреме завдання. Виконуй по порядку.
Архітектура гри
Пеш ніж кодувати, треба розбити задачу на частини:
- Дошка — масив 3×3, де кожна клітинка
null,'X'або'O' - Хід — функція
makeMove(board, row, col, player) - Перевірка переможця — функція
checkWinner(board)→'X','O'абоnull - Нічия — функція
isDraw(board) - Ігрова петля — керує чергуванням гравців і завершенням гри
Дошка — це масив масивів (матриця 3×3). null означає порожню клітинку.
Підказка про рядки і стовпці
board[0][0] — лівий верхній кут. board[1][1] — центр. board[2][2] — правий нижній. Перший індекс — рядок (row), другий — стовпець (col).
Як перевірити переможця
Потрібно перевірити 8 комбінацій:
- 3 горизонталі (рядки 0, 1, 2)
- 3 вертикалі (стовпці 0, 1, 2)
- 2 діагоналі (головна та побічна)
Якщо всі три клітинки в лінії однакові і не null — є переможець.
Перебираємо всі 8 ліній і перевіряємо чи всі три клітинки однакові.
Готовий? Виконуй завдання по порядку!
Кожне завдання будує наступне. Коли виконаєш усі 5 — у тебе буде повноцінна гра. Не підглядай у рішення одразу — спробуй сам хоча б 10–15 хвилин.