zoukankan      html  css  js  c++  java
  • 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)来直接退出。

    爱,就是你和某个人一起经历的一切。
  • 相关阅读:
    TypeScript学习: 一、TypeScript的Hello World
    着重查看
    表内灌数
    jvm
    GitHub如何使用命令过滤筛选你想要的项目源代码
    [CVPR2021]Beyond Self-attention External Attention using Two Linear Layers for Visual Tasks
    [CIKM2019] AutoInt: Automatic Feature Interaction Learning via Self-Attentive Neural Networks
    [IJCAI2017] Attentional Factorization Machines: Learning the Weight of Feature Interactions via Attention Networks
    [SIGIR2020] Sequential Recommendation with Self-Attentive Multi-Adversarial Network
    ES6 Promise 的链式调用
  • 原文地址:https://www.cnblogs.com/afly-8/p/13561149.html
Copyright © 2011-2022 走看看