Skip to content

Latest commit

 

History

History

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 

README.md

Проект 2: Крестики-нолики

Консольная игра для двух игроков. Игроки по очереди ставят X и O на поле 3×3. Побеждает тот, кто соберёт три в ряд.

🎯 Что закрепляет

  • Вложенные списки (матрица 3×3)
  • Индексация и доступ к элементам
  • Проверка условий (победа, ничья)
  • Функции и модульность
  • Обработка ошибок ввода
  • Игровая логика

📋 Функционал

1. Игровое поле

  • Поле 3×3, отображается после каждого хода
  • Координаты строк и столбцов от 0 до 2

2. Ход игры

  • Первый ход всегда за X
  • Игрок вводит строку и столбец
  • Проверка корректности ввода (числа, диапазон, занятость)

3. Проверка победы

  • Три одинаковых символа в строке, столбце или диагонали
  • Автоматическое определение победителя

4. Проверка ничьей

  • Если поле заполнено, а победитель не определён — ничья

5. Повтор игры

  • После окончания партии предлагается сыграть ещё
  • Защита от неверного ввода (только "да" или "нет")

🛡️ Обработка ошибок

  • Защита от ввода букв вместо цифр
  • Проверка координат (0-2)
  • Проверка занятости клетки
  • Защита от неверного ввода при повторе игры

📝 Пример работы

   0   1   2
0 X |   |   
  -----------
1   |   |   
  -----------
2   |   |   

Ход X. Введите строку (0-2) 0
Ход X. Введите столбец (0-2) 0

   0   1   2
0 X |   |   
  -----------
1   | O |   
  -----------
2   |   |   

Ход O. Введите строку (0-2) 1
Ход O. Введите столбец (0-2) 1

   0   1   2
0 X |   |   
  -----------
1 X | O |   
  -----------
2   |   |   

Ход X. Введите строку (0-2) 1
Ход X. Введите столбец (0-2) 0

...

Победитель X

Хотите сыграть еще раз? (да/нет)

🧠 Чему научился

  • Работать с двумерными списками
  • Реализовывать игровую логику
  • Обрабатывать разные типы ошибок
  • Строить структуру с несколькими циклами
  • Делать игру с возможностью повтора

📁 Структура проекта

02_tic_tac_toe/
├── main.py # основной код игры
└── README.md # документация

🚀 Как запустить

python main.py

📅 Статус

✅ Проект готов