Этот простой учебник по игре поможет вам попрактиковаться в основах программирования на Python.
Создание игры «Камень, ножницы, бумага» на Python — отличный способ улучшить свои навыки программирования. Вы можете создать игру с помощью одного скрипта Python и играть в нее из командной строки.
Игра начинается с того, что игроку предлагается сделать выбор: «камень», «бумага» или «ножницы». Затем он ждет, пока они введут свой ответ. Вы можете играть в игру против «компьютерного» игрока, который автоматически выберет свой ход.
Игра также может включать в себя множество раундов. Так что даже если вы проиграете в первом раунде, вы все равно можете попытаться выиграть два из трех!
Как настроить игру и попросить игрока сделать ход
Когда игра начинается, программа Python должна попросить игрока ввести «камень», «бумагу» или «ножницы» и принять ответ игрока. Чтобы настроить новую игру, начните с создания нового файла Python с расширением .py.
Полный код для этого руководства доступен в репозиторий GitHub.
- Создайте новый файл с именем RockPaperScissors.py.
- Откройте новый файл Python с помощью любого текстового редактора, например Notepad++ или Visual Studio Code.
- В верхней части файла импортируйте случайный модуль. Вы будете использовать это позже в игре, чтобы случайным образом выбрать ход для хода компьютера.
Импортировать случайный
- Отправьте сообщение игроку, попросив его войти в камень, бумагу или ножницы.
выбор пользователя = ввод(«Камень, бумага или ножницы? ").ниже()
- Инициализируйте массив с именем «moveOptions», в котором хранится список доступных ходов, которые можете сыграть вы или компьютер.
MoveOptions = ['камень', 'бумага', 'ножницы']
- Когда игрок вводит ввод, подтвердите его, чтобы убедиться, что это один из доступных ходов. После того, как игрок ввел допустимый ход, распечатайте подтверждающее сообщение.
пока (Выбор пользователя не в варианты перемещения):
выбор пользователя = ввод("Неверный выбор. Должен быть камень, бумага или ножницы: ").ниже()
Распечатать("")
Распечатать(f"Вы выбрали {выбор пользователя}.")
Как по очереди обращаться к компьютеру и сравнивать ходы
После того, как вы введете свой ход, компьютер начнет свою очередь, случайным образом выбрав «камень», «бумагу» или «ножницы». Затем игра должна будет сравнить ваш ход с ходом компьютера, чтобы определить, кто выиграл.
- Используйте модуль random, чтобы заставить компьютер случайным образом выбирать из списка доступных ходов.
computerChoice = random.choice (moveOptions)
Распечатать(f"Компьютер выбрал {выбор компьютера}.") - Вам нужно будет сравнить свой ход с ходом компьютера, чтобы определить, кто выиграл. Вы можете сделать это, создав новый словарь. Этот словарь содержит каждый ход (например, «камень») и то, какой ход он выигрывает или проигрывает (например, «камень» побеждает «ножницы» и проигрывает «бумаге»).
движется = {
'камень': { 'бьет': 'ножницы', 'проигрывает': 'бумага' },
'ножницы': { 'бьет': 'бумага', 'проигрывает': 'камень' },
'бумага': { 'бьет': 'камень', 'проигрывает': 'ножницы' },
} -
Используйте оператор Python if чтобы проверить, не приведет ли ваш ход и ход компьютера к ничьей. В противном случае используйте словарь ходов, чтобы сравнить ход игрока с ходом компьютера.
Например, если вы выбрали «камень», то значением move[userChoice]['beats'] будет «ножницы». Если компьютер выбрал «ножницы», это означает, что ваш ход лучше их.если выбор пользователя == выбор компьютера:
Распечатать(f"И вы, и компьютер выбрали {выбор пользователя}. Это галстук!")
еще:
если (перемещает[выбор пользователя]['бьет'] == выбор компьютера):
Распечатать(ф"{выбор пользователя} бьет {выбор компьютера}. Ты победил!")
если (перемещает[выбор пользователя]['проигрывает'] == выбор компьютера):
Распечатать(ф"{выбор пользователя} проигрывает {выбор компьютера}. Компьютер победил!»)
Как сохранить счет между игроком и компьютером между несколькими раундами
Вы также можете добавить дополнительные раунды, в которых вы и компьютер делаете по три хода каждый.
Как только вы и компьютер выберете камень, бумагу или ножницы, игра снова спросит вас и будет отслеживать ваши результаты. Счет игрока увеличивается в зависимости от того, кто выиграл этот конкретный раунд.
- Текущий код представляет собой один раунд ходов, сделанных как игроком, так и компьютером. Добавьте весь текущий код, кроме оператора импорта, в новую функцию turn(). Вы также можете соответствующим образом изменить выходные сообщения, чтобы сказать «Вы выиграли этот раунд», а не «Вы выиграли»:
дефповернуть():
выбор пользователя = ввод(«Камень, бумага или ножницы? ").ниже()MoveOptions = ['камень', 'бумага', 'ножницы']
пока (Выбор пользователя не в варианты перемещения):
выбор пользователя = ввод("Неверный выбор. Должен быть камень, бумага или ножницы: ").ниже()Распечатать("")
Распечатать(f"Вы выбрали {выбор пользователя}.")computerChoice = random.choice (moveOptions)
Распечатать(f"Компьютер выбрал {выбор компьютера}.")движется = {
'камень': { 'бьет': 'ножницы', 'проигрывает': 'бумага' },
'ножницы': { 'бьет': 'бумага', 'проигрывает': 'камень' },
'бумага': { 'бьет': 'камень', 'проигрывает': 'ножницы' },
}если выбор пользователя == выбор компьютера:
Распечатать(f"И вы, и компьютер выбрали {выбор пользователя}. Это галстук!")
еще:
если (перемещает[выбор пользователя]['бьет'] == выбор компьютера):
Распечатать(ф"{выбор пользователя} бьет {выбор компьютера}. Ты выиграл этот раунд!")если (перемещает[выбор пользователя]['проигрывает'] == выбор компьютера):
Распечатать(ф"{выбор пользователя} проигрывает {выбор компьютера}. Компьютер победил!») - Игрок и компьютер делают по три хода каждый. Добавьте глобальную переменную под названием «повороты» вверху файла.
обороты = 3
- После функции turn() использовать цикл Python for повторить раунд три раза. В начале каждого раунда выведите номер раунда. Вызовите функцию turn(), чтобы попросить игрока и компьютер сделать свои ходы в этом раунде.
для i в диапазоне (поворотов):
Распечатать("")
Распечатать(ф" Круглый {я+1}: ")
повернуть() - Чтобы отслеживать, кто выиграл каждый раунд, добавьте переменную счета для каждого игрока вверху файла. Вы будете присваивать значения этим переменным внутри функции turn(), поэтому обязательно используйте их как глобальные переменные.
оценка компьютера = 0
оценка игрока = 0дефповернуть():
Глобальный оценка компьютера, оценка игрока - Внутри функции turn() после того, как и игрок, и компьютер сделали свой ход, добавьте очко к счету победителя. Измените оператор if, чтобы увеличить значение переменной playerScore или computerScore.
если (перемещает[выбор пользователя]['бьет'] == выбор компьютера):
Распечатать(ф"{выбор пользователя} бьет {выбор компьютера}. Ты выиграл этот раунд!")
playerScore += 1если (перемещает[выбор пользователя]['проигрывает'] == выбор компьютера):
Распечатать(ф"{выбор пользователя} проигрывает {выбор компьютера}. Компьютер победил!»)
оценка компьютера += 1 - В конце функции turn() вывести обновление общего количества очков для каждого игрока.
# Распечатать обновление общего количества очков после раунда
Распечатать("")
Распечатать(f"ТАБЛО | Счет игрока: {playerScore} | Рейтинг компьютера: {computerScore}") - В самом конце игры и после цикла for, который повторяет ходы игрока и компьютера, выведите окончательного победителя.
Распечатать("")
если (computerScore > playerScore):
Распечатать(f"Компьютер выигрывает {computerScore} точки!")
Элиф (оценка игрока > оценка компьютера):
Распечатать(f"Вы выигрываете с {playerScore} точки!")
еще:
Распечатать(f"Ничья! Вы оба выигрываете с {playerScore} точки!")
Как запустить игру
Чтобы играть в игру, запустите скрипт Python с помощью терминала или командной строки. Введите свой ход и подождите, пока компьютер сделает свой ход. После того, как вы завершите три раунда, программа отобразит победителя.
- Откройте командную строку или терминал и перейдите в папку, в которой вы храните файл Python.
- Используйте команду python для запуска скрипта:
питонКамень ножницы Бумага.py
- Играйте в игру, вводя «камень», «бумагу» или «ножницы».
Изучайте Python, создавая игры
Создание простых игр, таких как «Камень, ножницы, бумага», — отличный способ лучше познакомиться с концепциями программирования. Есть так много других забавных игр, которые вы можете сделать с помощью Python, например, текстовая приключенческая игра.