python实验—猜谜语闯关游戏
题目
设计并实现一款猜谜语的闯关游戏。玩家根据给出的谜面,输入谜底。游戏根据玩家给出的谜底正确与否,决定是否进入下一关。 如果玩家猜错,则闯关失败。如果玩家猜对,则进入下一关。每一关的谜语应随机抽取。玩家连续成功闯关五次,则玩家获胜。
或者
解
import random
class Check:
def __init__(self, num):
self.secret = [
{"miyu": "人不在其位", "answer": "立"},
{"miyu": "点点是黄金", "answer": "全"},
{"miyu": "拱手让人", "answer": "共"},
{"miyu": "多一半", "answer": "夕"},
{"miyu": "格外大方", "answer": "回"},
{"miyu": "十五天", "answer": "胖"},
{"miyu": "久雷不雨", "answer": "田"},
{"miyu": "千里姻缘一线牵", "answer": "重"},
{"miyu": "八兄弟共赏月", "answer": "脱"},
]
self.scores = 0
self.num = num
def isRight(self, ans, rand):
return ans == self.secret[rand]["answer"]
def printRight(self):
self.scores += 1
print("恭喜您答对了!")
def printError(self):
print("真可惜,答错了!")
print("太可惜了,闯关失败!")
def success(self):
return self.scores == self.num
def main():
rand = random.randint(0, 8)
check1 = Check(5)
for i in range(check1.num):
rand = (rand + 1) % 8
ans = input("请猜谜语:" + check1.secret[rand]["miyu"])
if check1.isRight(ans, rand):
check1.printRight()
else:
check1.printError()
break
if check1.success():
print("恭喜您,闯关成功!")
break
print("本次闯关您猜对了%d个谜语" % check1.scores)
main()
如果说你问我为啥写的这么复杂,我只能说我不好说,你随意