用Python编写一个简单的人机对战游戏
发布时间:2023-12-04 08:53:31
下面是一个使用Python编写的简单人机对战游戏的例子。
import random
def generate_computer_move():
moves = ["rock", "paper", "scissors"]
return random.choice(moves)
def determine_winner(player, computer):
if player == computer:
return "draw"
elif (player == "rock" and computer == "scissors") or \
(player == "paper" and computer == "rock") or \
(player == "scissors" and computer == "paper"):
return "player"
else:
return "computer"
def main():
print("Welcome to Rock-Paper-Scissors!")
while True:
player_move = input("Enter your move (rock/paper/scissors): ")
while player_move not in ["rock", "paper", "scissors"]:
print("Invalid move. Please try again.")
player_move = input("Enter your move (rock/paper/scissors): ")
computer_move = generate_computer_move()
print("Computer move:", computer_move)
winner = determine_winner(player_move, computer_move)
if winner == "player":
print("You win!")
elif winner == "computer":
print("Computer wins!")
else:
print("It's a draw!")
play_again = input("Do you want to play again? (yes/no): ")
while play_again not in ["yes", "no"]:
print("Invalid input. Please enter 'yes' or 'no'.")
play_again = input("Do you want to play again? (yes/no): ")
if play_again == "no":
break
if __name__ == "__main__":
main()
在这个例子中,游戏通过输入玩家的选择和随机生成电脑的选择来进行人机对战。玩家需要输入"rock"、"paper"或"scissors"中的一个。如果输入无效,程序会要求玩家重新输入。
接着,电脑选择一个随机的动作。通过比较玩家和电脑的动作,我们可以确定胜者。如果两个动作相同,则为平局。
游戏循环将重复进行,直到玩家选择不再为"yes"。
