import random #定义游戏玩家的类 class Players: def __init__(self): self.fist=0 #初始化值(方法) self.score=0 #初始化值(方法) #玩家出拳 def show_player_fist(self): self.fist=int(input('玩家出拳(1.剪刀/2.石头/3.布):')) #电脑出拳 def show_computer_fist(self): self.fist=random.randint(1,3) #调用玩家对象和出拳的结果 p1=Players() #p1.show_player_fist() #调用电脑对象和出拳的结果 p2=Players() #p2.show_computer_fist() #定义游戏过程的类 class Game: count=5 def __init__(self): self.p1=Players() #把调用的玩家对象和出拳的结果 重新赋值给游戏过程中玩家的实例对象 self.p2=Players() #把调用的电脑对象和出拳的结果 重新赋值给游戏过程中电脑的实例对象 #单局判断玩家和电脑的出拳顺序规则,判定结果是哪方胜出 ''' 玩家胜出: | 玩家胜出 玩家出拳 VS 电脑出拳 | 玩家出拳 VS 电脑出拳 1.剪刀 3.布 | 1.剪刀 2.石头 2.石头 1.剪刀 | 2.石头 3.布 3.布 2.石头 | 3.布 1.剪刀 ''' def result(self): i=0 j=0 x=0 if self.p1.fist==1 and self.p2.fist==3 \ or self.p1.fist==2 and self.p2.fist==1 \ or self.p1.fist==3 and self.p2.fist==2: self.p1.score+=10 i=i+1 #统计玩家赢的次数 print(f'玩家胜利{i}次:积分为{self.p1.score}') elif self.p1.fist==self.p2.fist: x=x+1 #统计双方平局的次数 print(f'双方玩家平局{x}次') else: self.p2.score += 10 j=j+1 #统计电脑平局的次数 print(f'电脑胜利{j}次:积分为{self.p2.score}') #定义游戏开始出拳 def start_game(self): while Game.count>0: self.p1.show_player_fist() #玩家出拳 self.p2.show_computer_fist() #电脑出拳 self.result() #单局出拳结果判断 Game.count-=1 if __name__ == '__main__': st=Game() st.start_game()
python的类/方法引用---人机石头剪刀布游戏
这是一个使用Python实现的石头剪刀布游戏。游戏包括玩家和电脑的出拳,以及根据出拳结果判断胜负的逻辑。玩家可以输入1代表剪刀,2代表石头,3代表布,电脑则随机出拳。游戏会进行多次,直到所有回合结束,最后显示玩家和电脑的得分情况。
摘要由CSDN通过智能技术生成