天天看點

python實作猜拳小遊戲

"""
建立一個猜拳遊戲系統包含以下特性:最高分、玩家姓名、玩家性别、幫助頁面,以及“出拳”技能。
要求:
使用者進入系統之後,設定玩家姓名和性别
與電腦對戰/或者兩個玩家對戰
出拳的記過是随機的:剪刀 1、石頭 0、布 2
三局兩勝(一局就是一把,輸了就是此局輸了),記錄最高獲勝次數(最高分)
"""
import random


class Quan:
    top_score = 0
    def __init__(self, name, sex):
        self.name = name
        self.sex = sex

    @staticmethod
    def help():
        print('猜拳遊戲,輸入1表示剪刀,輸入2表示布,輸入0表示石頭,您的對戰玩家是電腦')

    def pounch(self):
        self.victory_person = 0
        victory_com = 0
        while True:
            self.num = int(input('請輸入您的選項'))
            computer = random.randint(0, 2)
            # 你出剪刀
            if self.num == 1:
                if computer==2:
                    print('電腦:布(%d),你:剪刀(%d),你赢了!!!' % (computer, self.num))
                    self.victory_person += 1
                elif computer == 1:
                    print('電腦:剪刀(%d),你:剪刀(%d),平局!!!請重新開始' % (computer, self.num))
                    continue
                else:
                    print('電腦:石頭(%d),你:剪刀(%d),你輸了!!!' % (computer, self.num))
                    victory_com += 1
            # 你出布
            if self.num == 2:
                if computer == 2:
                    print('電腦:布(%d),你:布(%d),平局!!!請重新開始' % (computer, self.num))
                    continue
                elif computer == 1:
                    print('電腦:剪刀(%d),你:布(%d),你輸了!!!' % (computer, self.num))
                    victory_com += 1
                else:
                    print('電腦:石頭(%d),你:布(%d),你赢了!!!' % (computer, self.num))
                    self.victory_person += 1
            # 你出石頭
            if self.num == 0:
                if computer==2:
                    print('電腦:布(%d),你:石頭(%d),你輸了!!!' % (computer, self.num))
                    victory_com += 1
                elif computer == 1:
                    print('電腦:剪刀(%d),你:石頭(%d),你赢了!!!' % (computer, self.num))
                    self.victory_person += 1
                else:
                    print('電腦:石頭(%d),你:石頭(%d),平局!!!請重新開始' % (computer, self.num))

            if self.victory_person >= 2:
                print('恭喜你赢了!!!')
                if self.victory_person > Quan.top_score:
                    Quan.top_score = self.victory_person
                break
            if victory_com >= 2:
                print("恭喜你輸了!!!")
                if self.victory_person > Quan.top_score:
                    Quan.top_score = self.victory_person
                break


Quan.help()
person = Quan('狄雲', '男')
person.pounch()
print('最高分:%d' % Quan.top_score)