Tehnografi.com - Технологические новости, обзоры и советы

Как создать игру на угадывание чисел в Python?

Примечание. Следующая статья поможет вам: Как создать игру на угадывание чисел в Python?

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

Давайте научимся создавать игру на угадывание чисел с нуля.

Игра в угадывание чисел

Игра проста. Пользователь должен угадать случайно сгенерированное число, лежащее в диапазоне от 1 к 100. Вот и все.

Игра настолько проста?

Да это оно.

Но есть одна вещь, которую мы должны предоставить пользователям, чтобы они угадывали число. Это намеки. Мы должны предоставить пользователю сообщение о том, что текущее угаданное число меньше правильного числа или текущее угаданное число больше правильного числа. Чтобы пользователи знали, в каком направлении им нужно идти.

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

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

Я хочу, чтобы вы попробовали создать игру без слепого копирования кода. Итак, сначала я объясню алгоритм. Это поможет вам кодировать самостоятельно или быстро понять код.

Давайте рассмотрим алгоритм создания игры «Угадай число».

Алгоритм

Убедитесь, что вы понимаете алгоритм, прежде чем переходить к части кодирования.

  • Определите диапазон чисел. По умолчанию это 1-100, но вы можете изменить его по своему усмотрению.
  • Сгенерируйте случайное целое число из указанного выше диапазона (1-100).
  • Запустите игру, показав пользователю сообщение с надписью . Вы можете обновить сообщение по своему усмотрению.
  • Инициализируйте переменную равным 0, чтобы подсчитать общее количество шансов, которые пользователь предпринял, чтобы правильно угадать число.
  • Напишите бесконечный цикл.
  • Попросите пользователя угадать число.
  • Если текущее угаданное число равно случайно сгенерированному числу, то поздравить пользователя сообщением можно как угодно. Примером может быть
  • Разорвите цикл после поздравления пользователя.
  • Если текущее угаданное число меньше, чем случайно сгенерированное число, то дайте сообщение пользователю, говорящее или пользовательское сообщение, имеющее то же значение.
  • Если текущее угаданное число больше, чем случайно сгенерированное число, то дайте сообщение пользователю, говорящее или обычай с тем же значением.
  • Наконец, увеличьте шансы пользователя угадать.
  • Вы бы получили код в уме после того, как увидели алгоритм. Не волнуйтесь, даже если вы не получите полный код. Но убедитесь, что вы понимаете приведенный выше алгоритм.

    Пришло время приступить к работе с кодом. Войдите в код без дальнейших церемоний.

    Код

    Вы пробовали писать код?

    Если да, то и доделал. Это великолепно. Ознакомьтесь с кодом и изучите его, чтобы расширить свои знания.

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

    Итак, давайте посмотрим код.

    import random class NumberGuessingGame: def __init__(self): ## определить диапазон self.LOWER = 1 self.HIGHER = 100 ## метод генерации случайного числа def get_random_number(self): return random.randint(self.LOWER, self .HIGHER) ## метод запуска игры def start(self): ## генерация случайного числа random_number = self.get_random_number() print( f”Угадай случайно сгенерированное число от {self.LOWER} до {self.HIGHER}”) ## сердце игры шансы = 0 в то время как True: user_number = int(input(“Введите угаданное число: “)) if user_number == random_number: print( f”-> Ура! Вы получили это в {chances + 1} step{‘s’, если шансы > 1 else ”}!”) break elif user_number Ваше число меньше случайного числа”) else: print(“-> Ваше число больше случайное число”) шансы += 1 ## создание экземпляра и запуск игры numberGuessingGame = NumberGuessingGame() numberGuessingGame.start()

    Есть некоторые вещи, которые вы понимаете из кода.

  • Диапазон определяется внутри метода __init__, поэтому его можно использовать в методах класса.
  • Мы можем легко изменить его в одном месте, которое соответственно изменится во всем приложении.
  • Существует отдельный метод генерации случайного числа, который следует принципу . Здесь у нашего метода мало кода, но он может увеличиться в будущем.
  • Наконец, мы использовали класс, чтобы каждый метод, связанный с игрой, находился внутри него. И его можно легко повторно использовать в некоторых других приложениях.
  • Все пункты, которые обсуждались выше, относятся к написанию чистого кода. Мы должны стараться писать чистый код, который вы понимаете даже спустя несколько лет.

    Пример вывода игры выглядит следующим образом.

    $ python number_guessing_game.py Угадай случайно сгенерированное число от 1 до 100 Введите угаданное число: 50 -> Ваше число меньше случайного Введите угаданное число: 75 -> Ваше число меньше случайного Введите угаданное число : 90 -> Ваше число больше, чем случайное число Введите угаданное число: 85 -> Ваше число больше, чем случайное число Введите угаданное число: 80 -> Ура! Вы получили это в 5 шагов!

    Я предполагаю, что у вас установлен Python, чтобы попробовать приведенный выше код.

    Дополнительная функция

    Мы собираемся добавить максимальное количество шансов, что пользователь может угадать число. Если пользователь не угадает число в пределах количества шансов, то пользователь проигрывает.

    Как мы его добавим?

    Это простой двухэтапный процесс. Давайте посмотрим шаги.

  • Определите максимальное количество шансов, которое пользователь может угадать число.
  • Проверьте, есть ли у пользователя шансы или нет, прежде чем запрашивать ввод. И завершить игру, если у пользователя нет шансов.
  • Следующий дополнительный код завершит функцию.

  • Добавьте следующий код в метод __init__.
  • self.MAX_CHANCES = 10

  • Добавьте следующее условие, прежде чем пользователь введет следующее предположение.
  • if Chances == self.MAX_CHANCES: print(“-> Уф! Вы проиграли игру. У вас нет шансов”)

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

    $ python number_guessing_game.py Угадайте случайно сгенерированное число от 1 до 100. У вас есть 10 шансов угадать. Введите угаданное число: 1 -> Ваше число меньше случайного числа Введите угаданное число: 2 -> Ваше число меньше случайного числа Введите угаданное число: 3 -> Ваше число меньше случайного числа Введите угаданное число: 4 -> Ваше число меньше случайного числа Введите угаданное число: 5 -> Ваше число меньше случайного числа Введите угаданное число: 6 -> Ваше число меньше случайного числа Введите угаданное число : 7 -> Ваше число меньше случайного числа Введите угаданное число: 8 -> Ваше число меньше случайного числа Введите угаданное число: 9 -> Ваше число меньше случайного числа Введите угаданное число: 10 -> Ваше число меньше, чем случайное число -> Уф! Вы проиграли игру. Вы вне шансов

    Ура! мы добавили дополнительную функцию в нашу игру. Это еще не конец. Вы можете добавить некоторые дополнительные функции, чтобы сделать его более привлекательным для пользователей. Сейчас ваше время. Давай, сделай его еще красивее :).

    Вывод

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

    Затем изучите Python IDE и онлайн-компилятор для запуска кода Python.

    Удачного кодирования 🙂

    Если вам не хватает вирусных словесных игр, вот как добиться большего успеха в Wordle.

    Понравилось читать статью? Как насчет того, чтобы поделиться с миром?

    Table of Contents