zoukankan      html  css  js  c++  java
  • 练习题-游戏获取最高分,类属性,类方法获取

    游戏设计-静态方法,类方法,实例方法,类属性,def __str__(self):魔术方法

    最高分-类属性,因为每个玩家都能查看,更新最高分

    获取最高分-类方法获取

    玩家打印时,返回对象,定义def __str__(self):魔术方法,让其返回用户名

    静态方法-与每个玩家无关,但是提醒每个玩家,可以定义为静态方法

    实例方法-与每个玩家相关

    from random import randint
    
    
    class Player:
        top_score = 0
        score_list = []
    
        def __init__(self, name):
            self.name = name
    
        @classmethod
        def display_history_high_score(cls):
            cls.top_score = max(cls.score_list)
    
        def start(self):
            self.show_help()
    
            print(f"欢迎{self.name}光临,请愉快玩耍!")
            score = randint(0, 100)
            self.score_list.append(score)
    
        @staticmethod
        def show_help():
            print(f"
    欢迎光临,植物大战僵尸游戏!")
            print(f"游戏过程中,要遵守相关规定!")
    
        # __str__方法是魔术方法
        # a. 名称是固定的
        # b. 当print(对象)时, 会自动调用__str__方法
        # c. 只能返回字符串类型, 其他类型会报错
        def __str__(self):
            return self.name
    
    
    player1 = Player("小小")
    player2 = Player("叮当")
    player3 = Player("TOM")
    
    # 没有定义魔术方法__str__时,返回
    # <__main__.Player object at 0x02987150>
    # <__main__.Player object at 0x02987E90>
    # <__main__.Player object at 0x029A3DD0>
    
    # 定义魔术方法__str__后,return self.name,返回
    # 小小
    # 叮当
    # TOM
    print(player1)
    print(player2)
    print(player3)
  • 相关阅读:
    我不写博客的原因就是cnblogs不好用
    使用KeePass愉快的来管理你的密码
    Visual studio常用的code snippets
    日常工作小贴士
    win10下面visual studio, sublime ctrl+shift+f快捷键失效的原因
    Markdown常用语法对应
    常见的Message Queue应用场景
    二分查找(binary search)
    在ROS中使用花生壳的域名服务
    排序算法 选择排序(selection sort)
  • 原文地址:https://www.cnblogs.com/shishibuwan/p/12747271.html
Copyright © 2011-2022 走看看