📜  石头游戏(1)

📅  最后修改于: 2023-12-03 15:11:23.654000             🧑  作者: Mango

石头游戏介绍

石头游戏是一种多人互动的游戏,通常由两个或两个以上的玩家进行。游戏的目标是基于双方的决策,判断哪一方获胜。

游戏规则
  1. 游戏开始时,每个玩家需选择三种不同的手势:石头、剪刀或布。
  2. 玩家同时出拳,胜负规则如下:
    • 石头胜剪刀,剪刀胜布,布胜石头。
    • 如果两个玩家出拳一样,则为平局。
  3. 获胜者获得1分,平局则不计分。
  4. 游戏一般由两局或三局为胜利条件。
程序实现

可以用编程语言实现这一游戏,以下为python代码示例:

import random

# 定义代表手势的数字
rock = 0
scissors = 1
paper = 2

# 定义手势代表的字符串
gesture_str = ['石头', '剪刀', '布']

# 玩家出拳
def player_gesture():
    while True:
        try:
            player_input = int(input('请出拳:0-石头 1-剪刀 2-布\n'))
            if player_input not in [0, 1, 2]:
                print('请输入正确的数字')
            else:
                break
        except ValueError:
            print('请输入数字')
    return player_input

# 机器人出拳
def robot_gesture():
    return random.randint(0, 2)

# 根据出拳判断胜负
def judge_gesture(player, robot):
    if player == robot:
        return '平局'
    elif player == rock and robot == scissors or player == scissors and robot == paper or player == paper and robot == rock:
        return '玩家胜利'
    else:
        return '机器人胜利'

# 游戏主函数
def game_main(round_num):
    player_score = 0
    robot_score = 0
    for i in range(round_num):
        print(f'第{i+1}局开始')
        player_input = player_gesture()
        robot_input = robot_gesture()
        print(f'玩家出了{gesture_str[player_input]}, 机器人出了{gesture_str[robot_input]}')
        result = judge_gesture(player_input, robot_input)
        print(result)
        if result == '玩家胜利':
            player_score += 1
        elif result == '机器人胜利':
            robot_score += 1

    # 判断胜者
    if player_score > robot_score:
        print('玩家获胜!')
    elif player_score == robot_score:
        print('平局!')
    else:
        print('机器人获胜!')
使用示例
game_main(3)

返回:

请出拳:0-石头 1-剪刀 2-布
0
第1局开始
玩家出了石头, 机器人出了布
机器人胜利
请出拳:0-石头 1-剪刀 2-布
1
第2局开始
玩家出了剪刀, 机器人出了剪刀
平局
请出拳:0-石头 1-剪刀 2-布
2
第3局开始
玩家出了布, 机器人出了剪刀
机器人胜利
机器人获胜!