您的位置:首页 > 编程语言 > Python开发

python封装一个小游戏

2020-01-15 04:12 113 查看
import os
a =['西瓜','梨子','香蕉','核桃','苹果','桃子','花生','橘子','西瓜','梨子']
b =['绿色的,红心','配冰糖,暖到心','弯弯的月儿小小的船,小小的船儿两头尖','皱肉皱骨头, 骨头生在肉外头。','乔布斯','胖娃娃,没手脚,红尖嘴,一身毛,背上一道沟,肚里好味道。',':青藤藤,开黄花,地上开花不结果,地下结果不开。,','小小红坛子,装满红饺子,吃掉红饺子,吐出白珠子。','绿色的,红心','绿色的,红心']

class Game:
__core = 0
def __init__(self,player):
self.player = player
self.start = '1'
self.__jin = 3
self.you = 10
def jinn(self,i):
if self.__jin != 0:
print('同时,您也可以使用我们的锦囊(', self.__jin, "次机会)!选择请再下方输入1,不使用输入任意键")
f = input("请选择是否使用锦囊:")  # f 代表是否使用锦囊
if f == '1':
print("一共有三种锦囊供您选择")
print("1.提示第一个字")
print("2.提示第二个字")
print("3.提示它的总字数是多少")
g = input("请选择您需要选择的锦囊类型:")
if g == '1':
print("这个水果的一个字是:", a[i][0])
elif g == '2':
print("这个水果的第二个字是", a[i][1])
elif g == '3':
print("这个水果一共是", len(a[i]), '个字')
else:
print("输入有误,默认为放弃锦囊资格")
self.__jin -= 1
print("锦囊次数还有", self.__jin, '次')
if self.__jin == 0:
print("您的锦囊次数已经用完!")
print("依靠您的智慧取胜吧!")
else:
print("您的锦囊次数还剩", self.__jin, '次')
else:
print("您的锦囊次数已经使用完,请用您自己的智慧解决吧!")
def cai(self,ds,i):
if ds == a[i]:
self.__core+=10
print("恭喜你,猜对了!是否继续")
print("继续玩游戏选择1,不继续选择任意键")
o =input("请选择是否继续:")
if o=='1':
print("好的!游戏继续!")
print("您还有",self.you-i-1,'次猜测机会')
i+=1
else:
print("您的总分为",self.__core,'分')
if self.__core >= 60:
print(f"{self.player}有点强呀!")
elif self.__core > 40 and self.__core < 60:
print("还需要继续努力!")
else:
print(f"{self.player}有点菜!!!")
print("您的次数已经全部使用玩")
print("游戏结束")
os._exit(0)
#退出
else:
print("猜错了哟!")
print("您还有",self.you-i-1,'次机会')
print("欢迎来到猜水果小游戏!")
print("下面是游戏的规则,请认真阅读:")
print('*********************************')
print("1.猜题游戏一共有10个题,每个题10分,共一百分")
print("2.您在这个游戏中可以猜测10次,不管您答对还是答错,都会消耗猜测的次数")
print("3.每道题目开始时,系统都会提示是否使用锦囊,一共有三次的锦囊机会(锦囊一共有三种  ,并且可以重复选择!)。同时,锦囊不算在猜测的次数中。")
print("4.锦囊包括:1.提示水果第一个字。2.提示水果第二个字3.这个水果的字数")
print("5.游戏可以提前结束")
print("6.祝大家玩得愉快")
print("*********************************")
print("游戏开始选择1,游戏结束按任意键")
player = input('请输入您得姓名:')
game = Game(player)
if __name__ == '__main__':
c=input("请选择开始:")#代表开始
if c == game.start:
print("下面,游戏开始!")
s = 0
while s<game.you:
print(b[s])
game.jinn(s)
ds = input("请输入您所猜测的水果名:")  # 猜测水果名
game.cai(ds,s)
s += 1
else:
print("不玩了?好的!")

之前在学循环的时候写了具体的控制步骤,拿到之前写的代码直接拆开先定义一个记录分数的类属性,将游戏者,控制开始,锦囊次数,游戏次数属性放在__init__()类里面,在上面私有化了两个属性,锦囊次数和分数,剩下就是两个方法,一个控制锦囊,一个控制猜谜,在主函数中用循环来控制游戏进行。在玩游戏过程中还可以退出,我是直接导入了一个os模块,用os._exit(0)来直接退出。

  • 点赞
  • 收藏
  • 分享
  • 文章举报
+all+ 发布了20 篇原创文章 · 获赞 10 · 访问量 192 私信 关注
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: