Написать игру "Камень-Ножницы-Бумага" на Python. Игроки одновременно показывают один из трех знаков: камень, ножницы, бумага.
Победитель определяется по следующим правилам:
1. Бумага побеждает камень («бумага накрывает камень»).
2. Камень побеждает ножницы («камень ломает ножницы»).
3. Ножницы побеждают бумагу («ножницы разрезают бумагу»).
1. Для начала создадим переменные для подсчета очков.
Например: YourScore, ComputerScore
2. Выведем на экран текущий счет.
Например: Текущий счет - Игрок: 0 - Компьютер: 0
3. Спросим у игрока, что он выбирает? Камень, ножницы или бумагу?
Проверь с if / else что игрок ввел корректное значение, иначе игра не будет работать.
Например: Выбирайте: камень / ножницы / бумага
4. Теперь компьютер делает свой ход.
С функции random.randint(A, B) генерируем случайное число.
5. Теперь надо заменить это число на строку "камень", "ножницы" или "бумага"
Подсказка: нам условный оператор if / elif.
6. Уже почти, осталось определить кто победил.
Самое простое: ничья. Это случится если выбор игрока и компьютера совпал.
Теперь обработаем случаи, когда игрок точно победил.
В остальных случаях игрок проигрывает.
Не забудь добавить за победу в нужную переменную!
7. Добавь сообщения о победе/проигрыше/ничье если еще этого не сделал, а также выводи на экран какой выбор сделал компьютер.
8. Теперь будем играть до трех побед! Добавь цикл while, и повторяй игру, пока кто-нибудь не выиграет 3 раза. Добавь сообщение об окончании игры и итоговый счет.
9. Перед выводом выбора компьютера можно поместить считалку (time.sleep(X) в ):
Камень, ножницы, бумага, 1, 2, 3! Или любой другой на твой выбор. (доп.)
10. Придумай, как можно научить компьютер чаще выигрывать у игрока? (доп.)
Код:
from random import choice
YourScore = 0
ComputerScore = 0
MOVES = "камень", "ножницы", "бумага"
while ((YourScore != 3) and (ComputerScore != 3)):
print(f"Текущий счет - Игрок: {YourScore} - Компьютер: {ComputerScore}")
while True:
YourMove = input(
"Ваш ход, введите камень/ножницы/бумага ").strip().lower()
if YourMove in MOVES:
break
ComputerMove = choice(MOVES)
print(f"\nВаш ход: {YourMove}\nХод компьютера: {ComputerMove}\n")
if YourMove == ComputerMove:
print("У вас ничья!")
# Не выйгрывает никто
elif (YourMove == MOVES[0] and ComputerMove == MOVES[1]): # Камень VS Ножницы
print("Вы победили компьютер!")
YourScore += 1
elif (YourMove == MOVES[1] and ComputerMove == MOVES[2]): # Ножницы VS Бумага
print("Вы победили компьютер!")
YourScore += 1
elif (YourMove == MOVES[2] and ComputerMove == MOVES[0]): # Бумага VS Камень
print("Вы победили компьютер!")
YourScore += 1
else:
print("Компьютер вас победил!")
ComputerScore += 1
print()
Могу ещё дать ссылку на PasteBIN