В сегодняшнем посте мы расскажем, как создать игру в крестики-нолики на Python.

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

Давайте сразу перейдем к руководству:

Этот проект будет разделен на 9 шагов. А затем мы объединим все шаги в единый блок твердого кода.

Шаг 1. Напишите функцию, которая может распечатать доску. Настройте свою доску в виде списка, где каждый индекс 1–9 соответствует номеру на цифровой клавиатуре, так что вы получите представление доски 3 на 3. Для этого мы будем импортировать функцию clear_output () из модуля IPython.display. и конкатенация строк:

Шаг 2: Напишите функцию, которая принимает вводимые игроком данные, и назначьте его маркер как «X» или «O». Для этого мы будем использовать циклы while, чтобы постоянно просить игрока выбирать между маркерами, если он ввел что-то еще:

Шаг 3. Создайте функцию, которая принимает объект доски, маркер (между «X» или «O») и желаемое положение на объекте доски (между 1–9) и назначьте маркер в эту позицию на объекте доски:

Шаг 4: Напишите функцию, которая принимает объект кабана, и проверьте, победил ли какой-либо маркер. Чтобы игрок выиграл, его маркеры должны появиться 3 в ряд по горизонтали, вертикали или диагонали:

Шаг 5. Определите функцию, которая использует модуль random для случайного выбора игрока, который идет первым, и возвращает строку, в которой игрок идет первым:

Шаг 6. Напишите функцию, которая возвращает True или False, указывая, является ли пространство пустым или нет. Эта функция принимает доску и позицию:

Шаг 7. Создайте функцию, которая проверяет, заполнена ли доска. Функция принимает объект списка плат, использует переменную диапазона:

Шаг 8: Создайте функцию, которая запрашивает следующую позицию игрока (от 1 до 9), а затем использует функцию, определенную на шаге 6, чтобы узнать, доступно ли место. Если место свободно, поместите маркер игрока в эту позицию, скажите игроку, чтобы он выбрал другую позицию. В качестве альтернативы мы можем использовать цикл while, чтобы продолжать печатать оператор, пока пользователь не введет позицию индекса, которая не заполнена:

Шаг 9: Напишите функцию, которая спрашивает игрока, хотят ли они играть снова. Эта функция возвращает логическое значение:

Написание игровой логики: для большинства программистов это может оказаться непростой задачей. Что касается игровой логики, мы собираемся объединить несколько циклов while, структур if / else и вызвать предопределенные функции (Еще одно важное замечание: вы можете написать игровую логику любым удобным для вас способом. Для меня это был наиболее понятный способ написания). Я сделаю несколько комментариев в коде, чтобы убедиться, что вы не потерялись в этом соусе. Мне не удалось сделать снимок экрана с логикой игры, поэтому я свяжу здесь свою учетную запись GitHub, чтобы вы могли посмотреть, как я вызвал и скомбинировал различные функции.

! Важно: при продвижении игровой логики я столкнулся с некоторыми проблемами. В спешке опубликовать этот пост где-то на этой неделе я еще раз вернусь к нему и вставлю ссылку на google collab. А пока ознакомьтесь с некоторыми из моих других сообщений: « Навыки, которые делают вас ценным разработчиком / программистом »

Привет! Я новичок в программировании, и моя цель - убедиться, что мои читатели понимают различные алгоритмы / проблемы Python, которые я решаю. Я также провожу обучающие программы для программистов и инженеров по машинному обучению.

Не стесняйтесь проверить мой Instagram @ newbieprogrammer и не забудьте подписаться на меня там.

Оставьте комментарий, если вам понравилось это читать, и если у вас есть темы, связанные с Python или программированием, вы бы хотели, чтобы я затронул их.

Больше контента на plainenglish.io