我正在参加「构思开发 投稿大赛」概况请看:构思开发大赛来了!

1. 概述

昨天写了生命游戏,不禁想起了刚刚触摸python的时候,对于编程的种种都还十分生疏,第一个做的就是剪刀石头布的游戏,正巧构思开发征文想要冲一波升降桌,不如就把这个也放上来(手动狗头.jpg)。

当然,对于刚刚触摸编程的同学,剪刀石头布也不失为协助大家充分熟悉条件操控与循环语句好方法。

这个游戏陈旧而简略,其间充满了一物降一物和相生相克的哲学思想~~

总而言之,其规则如下:

  • 石头抑制剪刀
  • 剪刀抑制布
  • 布抑制石头

为了顺利完成游戏流程,咱们需求做到以下几点:

  • 能够通过人机交互的方式输入自己的挑选
  • 设置电脑机器人进行其自己的挑选
  • 进行比赛比赛,得出游戏的胜负联系

2. 代码

总体代码如下所示:

import random
import os
import re
// 用户(咱们)的挑选
def UserChoiceText(userChoice):
    if 'S' == str.upper(userChoice):
        return '石头'
    elif 'J' == str.upper(userChoice):
        return '剪刀'
    elif 'B' == str.upper(userChoice):
        return '布'
os.system('cls' if os.name=='nt' else 'clear')
while (True):
    print("\n")
    print("石头, 剪刀, 布 - 开端......")
    userChoice = input("进行你的挑选:[S]石头,[J]剪刀,[B]布,[T]退出: ")
    if 'T' == str.upper(userChoice):
        print("你挑选了退出,GAME OVER。")
        break
    if not re.match("[JjSsBb]", userChoice):
        print("只能挑选下面的字母:")
        print("[S]石头, [J]剪刀, 或 [B]布.")
        continue
    print("你的挑选: " + UserChoiceText(userChoice))
    choices = ['S', 'B', 'J']
    opponenetChoice = random.choice(choices) // 机器人(电脑)的挑选
    print("我的挑选: " + UserChoiceText(opponenetChoice))
    // 胜负联系的判断
    if opponenetChoice == str.upper(userChoice):
        print("平局! ")
    elif opponenetChoice == 'S' and userChoice.upper() == 'J':
        print("石头砸剪刀, 我赢了! ")
        continue
    elif opponenetChoice == 'J' and userChoice.upper() == 'B':
        print("剪刀剪布, 我赢了! ")
        continue
    elif opponenetChoice == 'B' and userChoice.upper() == 'S':
        print("布包石头,我赢了! ")
        continue
    else:       
        print("你赢了!")