python设计一个猜拳游戏

设计一个猜拳的游戏,要求如下:

1、游戏开始时,输入玩家名字
2、可以选择3个电脑对手(电脑名字自定)
3、游戏规则为:1、剪刀 2、石头 3、布
4、游戏开始,玩家vs电脑,玩家选择出一个,电脑随机1-3
5、具有局数统计(如:现在是第几局)、输赢统计(玩家胜几局,电脑胜几局)

效果图如下:
在这里插入图片描述
代码如下:

import random    #先导入随机数
class game():         #创建一个游戏的类 里面分为两个属性一个玩家名 一个电脑名
    def __init__(self,playername,computername):
        self.playername=playername
        self.computername=computername
        self.playerscore=0    #玩家得分
        self.comscore=0       #电脑得分
        self.sum=0            #平局数
    def startgame(self):
        newname=input("请输入你的鼎鼎大名:")
        self.playername=newname
        dnname=input("请选择你的对手:1.王源,2.王俊凯,3.易烊千玺:")
        if dnname=="1":
            print("你的对手为王源")
            self.computername="王源"
        elif dnname=="2":
            print("你的对手为王俊凯")
            self.computername = "王俊凯"
        elif dnname=="3":
            print("你的对手为易烊千玺")
            self.computername = "易烊千玺"
        else:
            print("输入有误,系统以为你随机挑选王俊凯")
            self.computername = "王俊凯"
        print("--------猜拳游戏开始,%s VS %s--------" % (self.playername, self.computername))
        print("游戏规则为:1.剪刀,2.石头,3.布")
        while True:
            player=int(input("玩家请出拳:"))
           #玩家出拳
            player = random.randint(1, 3)
            if player == 1:
                print("     %s出了剪刀" % self.playername)
            elif player == 2:
                print("     %s出了石头" % self.playername)
            else:
                print("     %s出了布" % self.playername)
            #电脑出拳
            computer=random.randint(1,3)
            if computer==1:
                print("     %s出了剪刀"%self.computername)
            elif computer==2:
                print("     %s出了石头"%self.computername)
            else:
                print("     %s出了布"%self.computername)
            if(player==computer):
                print("平局")
                self.sum+=1
            elif(player==1 and computer==3) or(player==2 and computer==1) or(player==3 and computer==2):
                print("%s本局获胜"%self.playername)
                self.playerscore+=1
            else:
                print("%s本局获胜"%self.computername)
                self.comscore+=1
            print("输赢统计:%s VS %s" % (self.playername, self.computername),
                  "玩家%s胜利%d次" % (self.playername, self.playerscore),
                  "%s胜利%d次" % (self.computername, self.comscore),
                  "%d次平局" % self.sum)
            print("---------------------------------------------------")
            tag = input("是否继续y/n :")
            if tag.lower() == 'n':
                print("输赢统计:%s VS %s" % (self.playername, self.computername),
                      "玩家%s胜利%d次" % (self.playername, self.playerscore),
                      "%s胜利%d次" % (self.computername, self.comscore),
                      "%d次平局" % self.sum)
                break


lx=game("as","hfg") #传入的参数数量必须和定义参数的数量相等
lx.startgame()      #调用游戏开始的方法
发布了10 篇原创文章 · 获赞 7 · 访问量 970

猜你喜欢

转载自blog.csdn.net/qq_41209886/article/details/105281426