Найти в Дзене
Я познаю Питон

Игра "Виселица" на языке программирования Python

На бесплатном курсе от GeekBrains было создание простой игры "Виселица". Игра классическая, может кто-то даже играл на бумаге. Те кто не знает правила игры, можете посмотреть по ссылке. Если кратко:

Виселица - лингвистическая игра в которой один игрок загадывает слово, а другой пытается его отгадать по буквам. Если отгадывающий ошибается, то рисуется одна из восьми деталей висельницы или висельника. Как только все детали будут нарисованы (8 неправильных букв), игрок проигрывает. Если же он угадывает слово, то игроки меняются ролями.

На курсе показывалась основная логика игры. Первое что нужно сделать, создать набор слов, которые будут загадываться, для этого достаточно задать кортеж из слов (кортеж, штука похожая на список, но неизменяемого типа):

Для тестового примера достаточно и 9 слов
Для тестового примера достаточно и 9 слов

Далее с помощью функции random выбираем случайное для игры слово.....

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

В чем же тогда суть статьи. В том, что на примере простой игры, можно найти себе неограниченное количество задач для практики программирования. Например, результат программы, написанной во время курса GeekBrains, будет выглядеть так:

Игра на языке python Виселица ver. 0.00001
Игра на языке python Виселица ver. 0.00001

Первый минус, который слушатели курса должны были исправить в Д/З, это отсутствие проверки на ввод английских букв. Т.е. это небольшой апгрейд логики игры. Но если мы посмотрим, то для пользователя интерфейс слегка непонятный. Поэтому после выполнения заданного, появляется желание исправить и вид программы. Вот что получилось дальше у меня:

Игра на языке python Виселица ver. 0.00002
Игра на языке python Виселица ver. 0.00002

Появляется мини-меню, где можно запустить игру, либо выйти из неё. Есть сообщение для пользователя, что его ввод некорректен. Слово помещается в рамочку, чтобы игрок видел его среди кучи сообщений. А дальше новый апгрейд приложения:

Игра на языке python Виселица ver. 0.00003
Игра на языке python Виселица ver. 0.00003

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

Поэтому дальше вариантов для улучшений можно придумать очеееень много: уровни сложности (через уменьшение кол-ва доступных ошибок), графический интерфейс, таблица очков, подгрузка игровых слов из файла или БД, разбиение слов на отдельные тематики, придумать подсказки за игровую валюту, да даже уровни прохождения можно прикрутить с каким-нибудь сюжетом. А самое главное, что можно получить огромный пласт практических задач и готовый продукт.

Правда многие видимо довели до готового проекта. Результат поиска по запросу "Виселица" Play Маркет
Правда многие видимо довели до готового проекта. Результат поиска по запросу "Виселица" Play Маркет

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