#人和机器猜拳游戏
#选择角色1 曹操 2张飞 3 刘备
#角色猜拳1剪刀 2石头 3布 玩家输入一个1-3的数字
#电脑出拳 随机产生1个1-3的数字,提示电脑出拳结果,本局对战结果...赢...输,是否继续?y/n
#输出结果 角色赢几局 电脑赢几局,平局几次 游戏结束
import random
#写法--------1
class ren():
def __init__(self):
print("-----------人机大战-------------\n")
name=""
while 1:
js=input("输入要选择的角色:\n\n1---曹操 2---张飞 3---关羽")
if js.isdigit():
js=int(js)
if js==1:
print("玩家角色为---曹操")
self.name="曹操"
break
elif js ==2:
print("玩家角色为---张飞")
self.name="张飞"
break
elif js==3:
print("玩家角色为---关羽")
self.name ="关羽"
break
else:
print("角色选择错误,请从新选择----\n")
else:
print("输入角色有误!请从新输入----\n")
def caiquan(self):
while 1:
quan = input("请输入要出拳的选项:\n1----石头 2----剪刀 3----布")
if quan.isdigit():
quan = int(quan)
if quan == 1:
print("玩家选择出----石头", )
break
elif quan == 2:
print("玩家选择出----剪刀")
break
elif quan == 3:
print("玩家选择出---- 布")
break
else:
print("选择错误!请从新选择!\n")
else:
print("输入数字不正确!请重新输入------\n")
return quan
class dian():
diannao="电脑"
def suiji(self):
suijishu=random.randint(1,3)
if suijishu==1:
print("电脑选择出----石头")
elif suijishu==2:
print("电脑选择出----剪刀")
else:
print("电脑选择出---- 布")
return suijishu
class guocheng ():
chuquan1 = 0
chuquan2 = 0
chuquan3 = 0
def __init__(self):
renduixiang=ren() #ren类 对象
diannaoduixiang=dian() #dian类 对象
while 1:
caiquanjieguo=renduixiang.caiquan()
diannaojieguo=diannaoduixiang.suiji()
if caiquanjieguo==1 and diannaojieguo==2 or \
caiquanjieguo==2 and diannaojieguo==3 or \
caiquanjieguo==3 and diannaojieguo==1:
print("----------玩家赢!")
self.chuquan1+=1
elif caiquanjieguo==diannaojieguo:
print("----------平局!")
self.chuquan3+=1
else:
print("----------电脑赢!")
self.chuquan2+=1
if input("是否继续游戏:yes or no ?\n任意键------n\n").lower()=="n":
break
if self.chuquan1>self.chuquan2:
wanjiaying="玩家胜利!"
elif self.chuquan1==self.chuquan2:
wanjiaying="平---局"
else:
wanjiaying ="电脑胜利"
print("-----------------人机大战----------------\n游戏结束 :\n"
"玩家共赢{0}次---电脑共赢{1}次---平局次数{2}次\n————总结果为 : {3}"\
.format(self.chuquan1,self.chuquan2,self.chuquan3,wanjiaying))
duixiang1=guocheng() #生成的对象 未保存到变量中
python类与对象小练习
最新推荐文章于 2025-04-09 10:10:38 发布