栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

QuickHit游戏【python版】

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

QuickHit游戏【python版】

代码————

import random
import sys
import time


class xxl(object):#信息类
    def __init__(self,dj,cd,cs,sj,df):
        #等级、字符串长度、各等级输出字符串的次数、时间限制、得分
        self.__dj=dj #等级
        self.__cd=cd #字符串长度
        self.__cs=cs #各等级输出字符串的次数
        self.__sj=sj #时间限制
        self.__df=df #得分

    def getDj(self):
        return self.__dj
    def setDj(self,a):
        self.__dj=a

    def getCd(self):
        return self.__cd
    def setCd(self, a):
        self.__cd = a

    def getCs(self):
        return self.__cs
    def setCs(self,a):
        self.__cs=a

    def getSj(self):
        return self.__sj
    def setSj(self,a):
        self.__sj=a

    def getDf(self):
        return self.__df
    def setDf(self,a):
        self.__df=a

    dj=property(getDj,setDj)
    cd=property(getCd,setCd)
    cs=property(getCs,setCs)
    sj=property(getSj,setSj)
    df=property(getDf,setDf)

class xxxxl(object):#信息详细类
    # 等级、字符串长度、各等级输出字符串的次数、时间限制、得分
    hw=[xxl(1, 1, 3, 30, 1),
        xxl(2, 2, 3, 25, 1),
        xxl(3, 3, 3, 20, 1),
        xxl(4, 4, 3, 15, 1),
        xxl(5, 5, 3, 10, 1),
        xxl(6, 6, 3, 5, 1)]

class game(object):#游戏类
    def __init__(self,wj):
        self.wj=wj #玩家

    def sczfc(self):#随机生成字符串
        #1、生成字符串
        zfc = ""
        cd=xxxxl.hw[self.wj.wjdj-1].cd
        for x in range(cd):
            num = random.randint(0,cd)
            if num == 0:
                zfc += "<"
            elif num == 1:
                zfc += ">"
            elif num == 2:
                zfc += "&"
            elif num == 3:
                zfc += "*"
            elif num == 4:
                zfc += "|"
            elif num == 5:
                zfc += "#"

        #2、输出字符串
        print(zfc)
        #3、返回字符串
        return zfc
    def pdzfc(self,d,w):#判断玩家与电脑的字符串是否一致
        #1、确定玩家的输入是否正确
        if d==w:#如果输入正确,则会出现两种情况
            if  int(time.time())-self.wj.kssj > xxxxl.hw[self.wj.wjdj-1].sj:#如果超时,提示并退出程序
                print("你输入的太慢了,已经超时,游戏结束!!")
                sys.exit()
            else:#如果没有超时,则会执行一下操作
                #计算玩家当前积分
                self.wj.wjjf=self.wj.wjjf+xxxxl.hw[self.wj.wjdj-1].df
                #计算玩家已用时间
                self.wj.yysj=(int(time.time())-self.wj.kssj)+self.wj.yysj
                #输出玩家当前级别,当前积分和已用时间
                print("输入正确,您的级别%d,您的积分%d,已用时间%d秒"%(self.wj.wjdj,self.wj.wjjf,self.wj.yysj))
                #判断用户是否已经闯过最后一关
                if self.wj.wjdj==6:
                    #计算6级的积分总数
                    jfzs=xxxxl.hw[self.wj.wjdj-1].df * xxxxl.hw[self.wj.wjdj-1].cs
                    #求出积分总数后,判断与用户的时候一致
                    if jfzs==self.wj.wjjf:
                        print("恭喜您,闯过全部关卡!!!")
                        sys.exit()

        else:#2、如果输入不正确,则输出错误信息并退出程序
            print("输入不正确,退出!")
            sys.exit()

class wj(object):#玩家类
    def __init__(self):
        self.__wjdj=0 #玩家等级
        self.__wjjf=0 #玩家积分
        self.__kssj=0 #开始时间
        self.__yysj=0 #已用时间

    def getWjdj(self):
        return self.__wjdj
    def setWjdj(self,a):
        self.__wjdj=a

    def getWjjf(self):
        return self.__wjjf
    def setWjjf(self, a):
        self.__wjjf = a

    def getKssj(self):
        return self.__kssj
    def setKssj(self, a):
        self.__kssj = a

    def getYysj(self):
        return self.__yysj
    def setYysj(self, a):
        self.__yysj = a

    wjdj=property(getWjdj,setWjdj)
    wjjf=property(getWjjf,setWjjf)
    kssj=property(getKssj,setKssj)
    yysj=property(getYysj,setYysj)

    def wyx(self):#玩游戏
        print("-------小黄QuickHit游戏【python版】--------")
        #1、创建game游戏对象并传入wj属性
        g=game(self)
        #2、外部循环(循环次数是6,每次循环1次,玩家提升1级)
        for x in range(len(xxxxl.hw)):
            # 2.1 玩家晋级
            self.__wjdj+=1
            # 2.2 积分清零,计时清零
            self.__wjjf=0
            self.__kssj=int(time.time())
            self.__yysj=0 
            # 2.3 内层循环(循环各等级输出字符串的次数,循环一次判断一次)
            for x in range(xxxxl.hw[self.__wjdj-1].cs):
                #游戏输出字符串
                dn=g.sczfc()
                #玩家输入字符串
                wj=input()
                #判断玩家输入的字符串并输出相应的结果
                g.pdzfc(dn,wj)

"""主程序"""
if __name__=='__main__':
    hw=wj()
    hw.wyx()

运行结果---------

 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/854113.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号