猜拳游戏(基于python面向对象4)

第4阶段:

需求

1 通过循环实现多次,并记录次数和和积分
   ----------------欢迎来到猜拳游戏---------------
    规则是:1.剪刀 2.石头 3.
    请输入你的大名:xx
    请选择对方角色(1:德玛 2:提莫 3:潘森):
    1
    你选择了德玛和你pk !!
    是否现在开始(y/n):
    y
    你出拳: 剪刀
    德玛出拳: 
    恭喜你,你赢了
    是否继续(y/n)
    y
    。。。
    。。。。


 2 显示比赛结果
    xx  VS  德玛
    对战次数 x
    比赛结果如下:
    xx积分:4
    德玛积分:6
    德玛胜利!!! 

代码如下:

# 游戏类
from Person import Person
from Computer import Computer

class Game():

    def __init__(self,person,computer,count):
        self.person = person
        self.computer= computer
        self.count= count

    def startGame(self):
        print("----------------欢迎来到猜拳游戏---------------")
        print("规则是:1.剪刀 2.石头 3.布")
        username = input("请输入你的大名:")
        #重置用户的名字
        self.person.name= username

        roule = input("请选择对方角色(1:德玛 2:提莫 3:潘森):")

        if roule=="1":
            print("你选择了德玛和你pk !!")
            self.computer.name='德玛'
        elif roule=="2":
            print("你选择了提莫和你pk !!")
            self.computer.name = '提莫'
        elif roule=="3":
            print("你选择了潘森和你pk !!")
            self.computer.name = '潘森'
        falg = input("是否现在开始(y/n):")
        while(falg=='y'):
            #各自出拳
            number1 = self.person.showFist()
            number2 = self.computer.showFist()
            #判断结果
            if(number1==number2):
                print("平局")
            elif((number1==1 and number2==3 ) or (number1==2 and number2==1)or (number1==3 and number2==2)):
                print(self.person.name,"胜利")
                self.person.score+=1
            else:
                print(self.computer.name,"胜利")
                self.computer.score+=1
            self.count+=1
            falg =input("是否继续(y/n)")

        self.showResult()

    #显示结果
    def showResult(self):
        print(self.person.name,"VS" ,self.computer.name)
        print("对战次数:",self.count)
        print("比赛结果如下:")
        print(self.person.name,":",self.person.score)
        print(self.computer.name, ":", self.computer.score)
        if(self.computer.score>self.person.score):
            print(self.computer.name,"胜利")
        elif(self.computer.score"胜利")
        else:
            print("平局!!")


p = Person('a',0)
c = Computer('a',0)
g = Game(p,c,0)
g.startGame()


总结:

  1. 主要巩固python基础 控制流 变量 数据类型 面向对象的封装
  2. 建议初学者按照每个阶段,自己动手一步一步走,如果有不明白的地方先自己动脑袋想为什么这样做?有什么好处?懂得知其然知其所以然的道理
  3. 建议不要复制代码,记住对初学者来说“复制代码就是给自己挖掘坟墓”

你可能感兴趣的:(python面向对象)