Привет, мои великолепные друзья в Интернете!

Итак, лучший и самый увлекательный способ выучить любой язык программирования для меня всегда заключался в разработке увлекательного проекта, такого как простая игра или какой-нибудь проект, который я буду использовать в своей повседневной жизни.

Итак, когда я начал изучать Python, я начал с этой книги, опубликованной No Starch Press Автоматизация скучных вещей с помощью Python, которая просто потрясающая, и если вы ищете книгу, чтобы начать изучение Python, я бы порекомендовал вам просмотреть эту книгу. Он очень удобен для новичков и охватывает почти все основные темы Python. Итак, решая упражнения из этой книги, я наткнулся на эту реализацию игры TicTacToe на python.

Что мы собираемся делать?

Мы собираемся создать игру в крестики-нолики для двух игроков, в которую мы сможем играть из командной строки. Сначала мы сделаем пустое игровое поле, а затем примем данные от игроков и проверим условие выигрыша, и если все поле будет заполнено и никто не выиграет, мы объявим результат как «Ничья». »И спросите пользователей, хотят ли они перезапустить игру.

Что мы будем использовать?

Мы создадим эту игру с использованием Python 3, поэтому убедитесь, что она установлена ​​на вашем ноутбуке / компьютере, и все готово.

Что мы узнаем?

После создания этой игры мы можем получить довольно четкое представление о словарях в python, о том, как получить доступ к словарям, как перебирать словари, цикл for, условия if-else и функции в python.

Как работает игра?

Доска пронумерована, как цифровая клавиатура. Таким образом, игрок может сделать свой ход на игровом поле, введя число с цифровой клавиатуры.

Время кода💻

Во-первых, давайте посмотрим, как мы собираемся использовать словарь для создания нашей игровой доски. Словарь - это примитивный тип данных в Python, который хранит данные в формате «ключ: значение». Таким образом, мы создадим словарь длиной 9, и каждая клавиша будет представлять блок на доске, а соответствующее ей значение будет представлять ход, сделанный игроком. и мы создадим функцию printBoard(), которую мы сможем использовать каждый раз, когда захотим распечатать обновленную доску в игре.

Initially our game board will look like this:
 | |
-+-+-
 | |
-+-+-
 | |

Теперь в функции main мы сначала возьмем входные данные от игрока и проверим, является ли введенный ход правильным или нет. Если блок, в который игрок просит перейти, действителен, мы заполним этот блок, иначе мы попросим пользователя выбрать другой блок.

Теперь, чтобы проверить условие выигрыша, мы проверим в общей сложности 8 условий, и какой бы игрок ни сделал последний ход, мы объявим этого игрока победителем. И если никто не выиграет, мы объявляем ничью.

А теперь мы спросим игроков, хотят ли они снова сыграть.

И бум !! Теперь наша игра готова.

Полный код:

Время воспроизведения:

 | |
-+-+-
 | |
-+-+-
 | |
It's your turn,X.Move to which place?
7
X| |
-+-+-
 | |
-+-+-
 | |
It's your turn,O.Move to which place?
9
X| |O
-+-+-
 | |
-+-+-
 | |
It's your turn,X.Move to which place?
5
X| |O
-+-+-
 |X|
-+-+-
 | |
It's your turn,O.Move to which place?
3
X| |O
-+-+-
 |X|
-+-+-
 | |O
It's your turn,X.Move to which place?
6
X| |O
-+-+-
 |X|X
-+-+-
 | |O
It's your turn,O.Move to which place?
1
X| |O
-+-+-
 |X|X
-+-+-
O| |O
It's your turn,X.Move to which place?
4
X| |O
-+-+-
X|X|X
-+-+-
O| |O
Game Over.
**** X won. ****

Спасибо за прокрутку, надеюсь, вам понравилось. Напишите мне свои мнения и предложения в комментариях ниже.