本文整理汇总了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())