Как сделать виселицу на python
Перейти к содержимому

Как сделать виселицу на python

  • автор:

Игра «Виселица»¶

«Виселица» — игра на угадывание слов. Компьютер загадывает слово. Игроку известны первая и последняя буквы, а также количество букв. Игрок угадывает слово по буквам. Если буква есть в слове, то открываются все ее вхождения. Если буквы нет, то к виселице дорисовывается часть человека. Если слово открыто полностью, игрок побеждает. Если набрано максимальное количество ошибок и человек на виселице нарисован полностью, игрок проигрывает.

Пример интерфейса игры:

В примере мы видим последнюю стадию — игрок не смог угадать слово и проиграл. Перед нами:

Полностью нарисованный человек.

Слово, в котором часть букв закрыто и отображается точками.

Алфавит, в котором вместо использованных букв отображаются точки.

Перед началом работы нужно ответить на вопросы:

Какие структуры данных будут полезны при реализации игры?

Какие подзадачи можно выделить, глядя на пример интерфейса?

Посмотрите на заготовку кода. Расскажите, какие объекты уже созданы. Назовите их типы.

После реализации основной функциональности проверьте, как приложение реагирует на некорректный ввод.

Примеры некорректного ввода:

  1. Пользователь вводит букву в верхнем регистре.

  2. Пользователь вводит не букву (цифру или спецсимвол).

  3. Пользователь многократно вводит уже использованную букву (присутствующую или отсутствующую в слове).

  4. Пользователь вводит несколько букв сразу.

Как вы считаете, какое поведение было бы ожидаемым в данном случае? Доработайте приложение таким образом, чтобы оно было более устойчиво в некорректному вводу.

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

Глава 9.1 Игра «Виселица»

В этой главе вы познакомитесь со множеством новых понятий. Но не волнуйтесь, мы подробно рассмотрим каждую новую инструкцию и вдоволь поэкспериментируем с ней в интерактивной оболочке. Вы узнаете о методах, которые являются функциями, привязанными к значениям. Также мы изучим новый тип цикла Python 3 — for и новый тип данных — list (список). Как только вы усвоите эти знания, код программы «Виселица» станет намного понятнее.

Исходный код игры «Виселица»

Код этой игры существенно больше тех, что мы изучали ранее. Но на самом деле, значительную часть кода программы занимают символьные рисунки виселицы. Наберите код программы в текстовом редакторе Python 3 и сохраните её под именем hangman.py

Как всегда, если вам лень набирать программу, вы можете скачать готовый файл на странице «Загрузки«.

Пишем игру “Виселица” на python

Пишем игру "Виселица" на python

Статьи

Введение

В этой статье напишем игру “Виселица” на python. Создание данной игры отлично подойдёт для тренировки начинающих python.

Правила создаваемой игры:

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

Импорт модулей

На самом деле нам понадобится всего один модуль, а именно модуль random из которого мы возьмём choice.

Написание кода

Создадим кортеж, хранящий в себе этапы неверных предположений игрока:

Создадим переменную max_wrong, хранящую в себе количество неверных предположений игрока:

Далее создадим кортеж слов, загадываемых программой, одно из которых будет рандомно выбираться и сохраняться в переменную word:

Добавим ещё 2 переменных, хранящих чёрточки на каждую букву в слове и количество неверных предположений, а так же список угаданных букв:

Создадим цикл, который будет работать до тех пор, пока число максимальных ошибок не превысит количество имеющихся попыток и пока слово не будет угадано:

В цикле добавим переменную, в которую игрок будет вводить предполагаемые буквы:

В основном цикле while создадим ещё один цикл, который проверяет, вводилась ли данная буква игроком ранее:

Если буква не вводилась ранее, то она добавится в основном цикле в список used:

В основном цикле создаём условие, проверяющее есть ли введённая буква в загаданном слове:

Последнее условие, которое находится после цикла проверяет, превышено ли количество ошибок:

И в конце кода будет выводиться загаданное слово:

Заключение

В данной статье мы написали игру “Виселица” на python. Игра довольно простая, но код объёмный, надеюсь Вам понравилась статья ��

Python Online Compiler

Write, Run & Share Python code online using OneCompiler's Python online compiler for free. It's one of the robust, feature-rich online compilers for python language, supporting both the versions which are Python 3 and Python 2.7. Getting started with the OneCompiler's Python editor is easy and fast. The editor shows sample boilerplate code when you choose language as Python or Python2 and start coding.

Taking inputs (stdin)

OneCompiler's python online editor supports stdin and users can give inputs to programs using the STDIN textbox under the I/O tab. Following is a sample python program which takes name as input and print your name with hello.

About Python

Python is a very popular general-purpose programming language which was created by Guido van Rossum, and released in 1991. It is very popular for web development and you can build almost anything like mobile apps, web apps, tools, data analytics, machine learning etc. It is designed to be simple and easy like english language. It's is highly productive and efficient making it a very popular language.

Tutorial & Syntax help

Loops

1. If-Else:

When ever you want to perform a set of operations based on a condition IF-ELSE is used.

Indentation is very important in Python, make sure the indentation is followed correctly

2. For:

For loop is used to iterate over arrays(list, tuple, set, dictionary) or strings.

Example:

3. While:

While is also used to iterate a set of statements based on a condition. Usually while is preferred when number of iterations are not known in advance.

Collections

There are four types of collections in Python.

1. List:

List is a collection which is ordered and can be changed. Lists are specified in square brackets.

Example:

2. Tuple:

Tuple is a collection which is ordered and can not be changed. Tuples are specified in round brackets.

Example:

Below throws an error if you assign another value to tuple again.

3. Set:

Set is a collection which is unordered and unindexed. Sets are specified in curly brackets.

Example:

4. Dictionary:

Dictionary is a collection of key value pairs which is unordered, can be changed, and indexed. They are written in curly brackets with key — value pairs.

Example:

Supported Libraries

Following are the libraries supported by OneCompiler's Python compiler

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *