我正在参加「构思开发 投稿大赛」概况请看:构思开发大赛来了!
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("你赢了!")