欢迎访问宙启技术站
智能推送

使用Python编写一个石头-剪刀-布游戏

发布时间:2023-12-04 15:58:42

石头-剪刀-布游戏,也被称为“猜拳游戏”,是一种简单而受欢迎的游戏。在这个游戏中,两个人同时展示石头、剪刀或布的手势,然后根据一定的规则来决定谁是赢家。在本文中,我将使用Python编写一个石头-剪刀-布游戏,并给出使用例子。

首先,我们需要引入random模块,用于生成计算机随机选择的手势。

import random

接下来,我们定义一个字典来表示不同手势之间的关系。键表示玩家1选择的手势,值表示玩家2选择的手势。为了方便起见,我们使用1表示石头,2表示剪刀,3表示布。在字典中,我们将数字1、2和3分别映射到字符串"石头"、"剪刀"和"布"。

gestures = {1: "石头", 2: "剪刀", 3: "布"}

然后,我们定义一个函数来判断谁是赢家。这个函数将接受两个参数,即玩家1和玩家2选择的手势。根据游戏规则,石头赢剪刀,剪刀赢布,布赢石头。如果玩家1赢,函数将返回1;如果玩家2赢,函数将返回2;如果平局,函数将返回0。

def judge(player1_gesture, player2_gesture):
    if (player1_gesture - player2_gesture) % 3 == 1:
        return 1
    elif (player1_gesture - player2_gesture) % 3 == 2:
        return 2
    else:
        return 0

最后,我们可以编写一个使用例子来展示这个游戏的功能。在例子中,我们让玩家输入自己的手势选择,并生成计算机随机选择的手势。然后,我们调用judge函数来判断谁是赢家,并根据判断结果输出相应的提示信息。

while True:
    player1_gesture = int(input("请输入你的选择(1-石头,2-剪刀,3-布):"))
    player2_gesture = random.randint(1, 3)
    
    print("你的选择是:", gestures[player1_gesture])
    print("计算机的选择是:", gestures[player2_gesture])
    
    result = judge(player1_gesture, player2_gesture)
    
    if result == 1:
        print("你赢了!")
    elif result == 2:
        print("你输了!")
    else:
        print("平局!")
    
    choice = input("是否继续游戏?(输入q退出,其他任意键继续):")
    if choice == 'q':
        break

在这个使用例子中,玩家将不断被要求输入手势选择,直到输入q退出。计算机随机选择手势,并通过调用judge函数来判断谁是赢家。最后,根据判断结果输出相应的提示信息。

以上就是使用Python编写一个石头-剪刀-布游戏的实例。通过这个例子,你可以了解到如何使用Python来实现一个简单的游戏,并掌握一些基本的编程技巧。希望对你有所帮助!