代码————
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()
运行结果---------



