?>
Написать игру "Камень-Ножницы-Бумага" на 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