刚学习Python做的一个小游戏,希望大佬点评啊!
石头剪刀布的一个小游戏,PC做的,大佬可以点评一下吗(小的想要优化啊!!!)下面是源代码,有大佬帮忙优化一下吗?
'''
游戏 :石头剪刀布
作者 :C丁洞杀O
版本 :2.0
制作时间 :2022.3.30
'''
# coding:utf-8
import random
# 变量初始化
player_fraction = 0
computer_fraction = 0
ms = '正常'
# 输的次数
sc = 0
# 赢的次数
yc = 0
print("""
***********************CO元宇小游戏游戏******************************
石头 - 剪刀 - 布
作者 :C丁洞杀O
************************!欢迎游玩哦!*******************************
""")
print("———————————————————————输入玩家的名字——————————————————————————")
PLAYER_NAME = input("玩家的名字是:")
print("————————————————————————请选择对手————————————————————————————")
print("1.诸葛亮2.王昭君3.曹操")
cn =eval(input("你的对手是:"))
if cn == 1:
COMPUTER_NAME = '诸葛亮'
elif cn == 2:
COMPUTER_NAME = '王昭君'
elif cn == 3:
COMPUTER_NAME = '曹操'
elif cn == 4:
COMPUTER_NAME = '人工智能小九'
elif cn == 5:
COMPUTER_NAME = '电脑'
else:
COMPUTER_NAME = '匿名者'
print(PLAYER_NAME,"VS",COMPUTER_NAME)
# 判断游戏是否继续
youxi = True
# 游戏开始
while youxi:
#玩家出拳
player_fist = eval(input("|—————————————————————1.拳头2.剪刀3.布————————————————————|\n"))
if player_fist == 1:
playerfist = '石头'
elif player_fist == 2:
playerfist = '剪刀'
elif player_fist == 3:
playerfist = '布'
else:
playerfist = '石头'
#电脑出拳
if ms == '正常':
computer_fist = random.randint(1,3)
if computer_fist== 1:
computerfist = '石头'
elif computer_fist == 2:
computerfist = '剪刀'
elif computer_fist == 3:
computerfist = '布'
elif ms == '必胜':
if playerfist == '石头':
computerfist = '剪刀'
elif playerfist == '剪刀':
computerfist = '布'
elif playerfist == '布':
computerfist = '石头'
elif ms == '必输':
if playerfist == '石头':
computerfist = '布'
elif playerfist == '剪刀':
computerfist = '石头'
elif playerfist == '布':
computerfist = '剪刀'
#判断胜负
print(PLAYER_NAME+"出的"+playerfist,COMPUTER_NAME+"出的"+computerfist)
if playerfist == '石头' and computerfist == '剪刀':
if yc < 3:
print("恭喜啊,你赢了呢!不要骄傲哦")
yc += 1
ms = '正常'
elif yc >= 3:
print("你太厉害了,但我有不好的预感啊!")
ms = '必输'
yc = 0
#player_fraction = player_fraction + 1
player_fraction += 1
elif playerfist == '石头' and computerfist == '布':
if sc < 5:
print("失败乃成功之母,不要灰心")
ms = "正常"
sc += 1
elif sc >= 5:
print("我觉得,你下次必胜啊!努力")
ms = "必胜"
sc = 0
computer_fraction += 1
elif playerfist == '剪刀' and computerfist == '石头':
if sc < 5:
print("哎,你输了,加油,下次加油")
ms = "正常"
sc += 1
elif sc >= 5:
print("虽然输了,但我告诉你,下次必胜啊!快开下一局吧。")
ms = "必胜"
sc = 0
computer_fraction += 1
elif playerfist == '剪刀' and computerfist == '布':
if yc < 3:
print("好厉害,你赢了呢!!!")
yc += 1
ms = '正常'
elif yc >= 3:
print(COMPUTER_NAME+":这次的胜利会为你之后的失败定下基础!")
ms = '必输'
yc = 0
player_fraction += 1
elif playerfist == '布' and computerfist == '石头':
if sc < 5:
print("输了,好可惜啊,再来一局吧,加油")
ms = "正常"
sc += 1
elif sc >= 5:
print("加油,胜利是留给你的,下局必胜啊!")
ms = "必胜"
sc = 0
computer_fraction += 1
elif playerfist == '布' and computerfist == '剪刀':
if yc < 3:
print("你好厉害啊,恭喜你了,继续努力啊!")
yc += 1
ms = '正常'
elif yc >= 3:
print(COMPUTER_NAME+":你不要太骄傲,下局你输定了!")
ms = '必输'
yc = 0
player_fraction += 1
elif playerfist == computerfist:
print("平局了?")
sc = 0
yc = 0
print("当前分数是",player_fraction)
# 判断还玩吗
a = input("还玩吗? y/n")
if a == 'y':
youxi = True
elif a == 'n':
youxi = False
break
else:
print("你输入的是啥?我不管,你继续玩吧!下一局")
youxi = True
print("—————————————————————————————————————————————————————————————")
if player_fraction > computer_fraction:
c = player_fraction - computer_fraction
print("你以" ,c, "的差距赢了" + COMPUTER_NAME)
elif player_fraction < computer_fraction:
c = computer_fraction - player_fraction
print(COMPUTER_NAME+"用",c,"的差距赢了你!\n你输了")
elif player_fraction == computer_fraction:
print("你们平局了,下次再努力吧")
咋样啊?我要努力学Python了,学习Python第一天,打卡!{:5_108:} 哎,想要做个回复可见,该咋搞咧?{:10_247:} 你把每个值做成字典试试 可以,让俺想起了,我用python做的文字游戏 很厉害啊 wiselin 发表于 2022-3-31 11:04
你把每个值做成字典试试
好吧,我知道你是什么意思了,今天刚刚学到
{:10_247:}人比人气死人 C丁洞杀O 发表于 2022-3-30 22:22
哎,想要做个回复可见,该咋搞咧?
手动回复{:10_256:}
页:
[1]