zoukankan      html  css  js  c++  java
  • 【python面向对象实战练习】植物大战僵尸

    import random
    
    class PlantsVSZombies:
        """
        植物大战僵尸
        """
        # 类属性
        top_score = 0
    
        # 实例属性,好比是菜,
        # 加入玩家的属性:姓名,分数,玩家特有的属性
        def __init__(self, playser_name):
            self.playser_name = playser_name
            self.score = []
    
        # 实例方法,获取实例属性,需要实例方法
        def start_game(self):
            print("{}开始游戏...".format(self.playser_name))
            # 计算分数
            self.handle_score()
            # 打印游戏结束
            print("Game Over !")
    
        # 实例方法:对菜进行加工
        # 获取实例属性,计算分数的方法,处理分数
        def handle_score(self):
            # 将玩家独有的分数添加到实例属性score列表当中
            self.score.append(random.randint(0, 100))
            # 将实例属性赋值给类方法,将分数的最大值赋值给类属性top_score当中
            PlantsVSZombies.top_score = max(self.score)
    
        # 类方法,对类属性进行加工
        @classmethod
        def display_top_score(cls):
            print("游戏最高分:{}".format(cls.top_score))
        
        # 设置静态方法,打印帮助信息
        @staticmethod
        def display_help():
            print("帮助信息:阻止僵尸进入房间,吃掉脑子!")
    
    # 创建hc对象,给对象赋值实例属性name
    hc = PlantsVSZombies("帅哥")
    # 调用静态方法,帮助信息
    hc.display_help()
    # 设置玩游戏的次数
    for _ in range(10):
        hc.start_game()
    # 打印最高分
    hc.display_top_score()
  • 相关阅读:
    e552. 取Applet的参数
    e551. 精简的Applet
    e558. 在Applet中多图片交互显示
    e1087. try/catch语句
    e1086. if/else语句
    e1087. 用For循环做数组的遍历
    e1084. 捕获错误和异常
    Zookeeper 应用程序
    Zookeeper API
    Java并发编程:volatile关键字解析
  • 原文地址:https://www.cnblogs.com/python-test001/p/12443413.html
Copyright © 2011-2022 走看看