当前位置: 首页>>代码示例>>Python>>正文


Python Arena.agents方法代码示例

本文整理汇总了Python中arena.Arena.agents方法的典型用法代码示例。如果您正苦于以下问题:Python Arena.agents方法的具体用法?Python Arena.agents怎么用?Python Arena.agents使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在arena.Arena的用法示例。


在下文中一共展示了Arena.agents方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: Model

# 需要导入模块: from arena import Arena [as 别名]
# 或者: from arena.Arena import agents [as 别名]
class Model(object):
    """
    Asteroids float in space
    """
    def __init__(self, width, height, n_asteroids, min_mass=800, max_mass=1000):
        self.min_mass = min_mass
        self.max_mass = max_mass
        self.schedule = Schedule('move', 'random', 'collision_check', 'collision_response')
        Asteroid.activate(self.schedule)
        Ship.activate(self.schedule)
        Bullet.activate(self.schedule)
        CollisionChecker.activate(self.schedule)
        self._tick = 0
        self.logger = logging.getLogger("Model")
        self.arena = Arena(width, height)
        for i in range(n_asteroids):
            self.add_asteroid()
        centre = [self.arena.width / 2, self.arena.height / 2]
        self.ship = Ship(centre, 1500, 150, 1500, self.arena)

    def add_asteroid(self):
        position = (random() * self.arena.width, random() * self.arena.height)
        mass = random() * (self.max_mass - self.min_mass) + self.min_mass
        velocity = [0, 0]
        density = MAX_DENSITY * 0.1 + random() * MAX_DENSITY * 0.9
        a = Asteroid(position, mass, velocity, density, self.arena)
        a.apply_force(10000 * (random() - 0.5), 10000 * (random() - 0.5))

    def tick(self):
        self._tick += 1
        self.schedule.execute(self.arena.agents())
开发者ID:ggstuart,项目名称:pyasteroids,代码行数:33,代码来源:model.py


注:本文中的arena.Arena.agents方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。