Привет, мои великолепные друзья в Интернете!
Итак, лучший и самый увлекательный способ выучить любой язык программирования для меня всегда заключался в разработке увлекательного проекта, такого как простая игра или какой-нибудь проект, который я буду использовать в своей повседневной жизни.
Итак, когда я начал изучать 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. ****
Спасибо за прокрутку, надеюсь, вам понравилось. Напишите мне свои мнения и предложения в комментариях ниже.