python封装一个小游戏

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)来直接退出。

爱,就是你和某个人一起经历的一切。
原文地址:https://www.cnblogs.com/afly-8/p/13561149.html