Ejemplo n.º 1
0
def run():
    # entities
    entity_manager = entity.EntityManager()

    entity_manager.generate_random(10000)
    entity_manager.set_dimension_values([(2, 0)])

    # tasks
    task_manager = sim.taskmanager.TaskManager(entity_manager.get_ids())
    tasks = [
        sim.taskmanager.Task("Hunt", sim.taskmanager.TaskType.GATHER),
        sim.taskmanager.Task("Cook", sim.taskmanager.TaskType.ACTIVITY),
        sim.taskmanager.Task("Clean", sim.taskmanager.TaskType.ACTIVITY),
        sim.taskmanager.Task("Gather Water", sim.taskmanager.TaskType.GATHER),
    ]
    task_manager.randomly_assign(tasks)

    # terrain
    terrain = sim.world.Terrain([
        sim.world.Resource("Hunt", 2, entity.Point(-55, -33, 0)),
        sim.world.Resource("Cook", 4, entity.Point(15, 25, 0)),
        sim.world.Resource("Clean", 2, entity.Point(0, 0, 0)),
        sim.world.Resource("Gather Water", 100, entity.Point(5, 5, 0)),
    ])

    # renderer
    renderer = Renderer()
    event_processor = EventProcessor()

    # run sim
    world = sim.world.World(terrain, entity_manager, task_manager)
    while True:
        sim.world.run(world, renderer, event_processor)
        time.sleep(0.16)
Ejemplo n.º 2
0
Archivo: limit.py Proyecto: kozbot/kecb
 def generate(self):
     return [
         LSW_NC(),
         entity.Line(start=entity.Point(*LSW_NC_LINE_INTERSECT), end=entity.Point(30, -15)),
         entity.Arc.from_crse(center=entity.Point(30, -25), radius=10, start=0, end=180),
         entity.Line(start=entity.Point(20, -25), end=entity.Point(40, -25))
     ]
Ejemplo n.º 3
0
Archivo: pilot.py Proyecto: kozbot/kecb
 def generate(self):
     return [
         ITERM(right=False),
         entity.Line(start=entity.Point(10, -5), end=entity.Point(50, -5)),
         entity.Line(start=entity.Point(30, -5), end=entity.Point(30, 10)),
         ITERM(left=False).translate(xoff=40, yoff=0)
     ]
Ejemplo n.º 4
0
 def generate(self):
     return [
         entity.PolyLine(
             points=[entity.Point(0, 10), entity.Point(20, 10), entity.Point(20, -10), entity.Point(0, -10)],
             closed=True),
         entity.Circle(center=entity.Point(10, 0), radius=10)
     ]
Ejemplo n.º 5
0
 def generate(self):
     return [
         entity.Line(entity.Point(0, 0), entity.Point(0, -12)),
         entity.Line(entity.Point(-6, -12), entity.Point(6, -12)),
         entity.Line(entity.Point(-6, -12), entity.Point(-9, -17)),
         entity.Line(entity.Point(0, -12), entity.Point(-3, -17)),
         entity.Line(entity.Point(6, -12), entity.Point(3, -17)),
     ]
Ejemplo n.º 6
0
 def generate_multipole(self, poles=1):
     entities = self.generate_multipole_basic(poles=poles)
     entities.append(
         entity.Line(start=entity.Point(30, 20),
                     end=entity.Point(30,
                                      20 + (cfg.POLE_OFFSET * (poles - 1))),
                     linetype='PHANTOM'))
     return entities
Ejemplo n.º 7
0
 def generate(self):
     return [
         entity.PolyLine(points=[
             entity.Point(0, 0),
             entity.Point(10, 10),
             entity.Point(10, -10),
             entity.Point(20, 0)
         ], closed=False)
     ]
Ejemplo n.º 8
0
 def generate(self):
     return [
         entity.Line(entity.Point(0, 0), entity.Point(0, -12)),
         entity.PolyLine(points=[
             entity.Point(-6, -12),
             entity.Point(6, -12),
             entity.Point(0, -18)
         ],
                         closed=True)
     ]
Ejemplo n.º 9
0
Archivo: limit.py Proyecto: kozbot/kecb
 def generate(self):
     return [
         LSW_NC(),
         entity.PolyLine(points=[
             entity.Point(*LSW_NC_LINE_INTERSECT),
             entity.Point(30, -20),
             entity.Point(40, -20),
             entity.Point(30, -10),
         ], closed=False)
     ]
Ejemplo n.º 10
0
    def generate(self):
        base: List[entity.Entity] = [entity.Circle(entity.Point(10, 0), 5)]

        if self.left:
            base.append(entity.Line(entity.Point(0, 0), entity.Point(5, 0)))

        if self.right:
            base.append(entity.Line(entity.Point(15, 0), entity.Point(20, 0)))

        return base
Ejemplo n.º 11
0
 def generate(self):
     return [
         ETERM(),
         entity.Rect(points=[
             entity.Point(-10, 20),
             entity.Point(110, 20),
             entity.Point(110, -20),
             entity.Point(-10, -20),
         ], linetype='PHANTOM'),
         ETERM().translate(xoff=80, yoff=0)
     ]
Ejemplo n.º 12
0
 def generate(self):
     return [
         entity.Line(entity.Point(0, 0), entity.Point(0, -12)),
         entity.Line(entity.Point(-6, -12), entity.Point(6, -12)),
         entity.Line(entity.Point(-4, -14), entity.Point(4, -14)),
         entity.Line(entity.Point(-2, -16), entity.Point(2, -16)),
     ]
Ejemplo n.º 13
0
 def generate(self):
     return [
         entity.Line(entity.Point(0, 0), entity.Point(5, 0)),
         entity.Line(entity.Point(15, 0), entity.Point(20, 0)),
         entity.Line(entity.Point(5, 10), entity.Point(5, -10)),
         entity.Line(entity.Point(15, 10), entity.Point(15, -10)),
     ]
Ejemplo n.º 14
0
 def generate_multipole(self, poles=1):
     entities = self.generate_multipole_basic(poles=poles)
     entities.append(
         entity.PolyLine(points=[
             entity.Point(30, 20),
             entity.Point(
                 LSW_NO_LINE_INTERSECT[0], LSW_NO_LINE_INTERSECT[1] +
                 cfg.POLE_OFFSET * (poles - 0.5)),
             entity.Point(
                 LSW_NO_LINE_END[0],
                 LSW_NO_LINE_END[1] + cfg.POLE_OFFSET * (poles - 0.5)),
         ],
                         closed=False,
                         linetype='PHANTOM'))
     return entities
Ejemplo n.º 15
0
 def generate(self):
     return [
         ITERM(left=True, right=False),
         entity.Arc.from_crse(center=entity.Point(30, -5),
                              radius=25,
                              start=37,
                              end=143),
         ITERM(left=False, right=True).translate(xoff=40, yoff=0)
     ]
Ejemplo n.º 16
0
 def generate(self):
     return [
         ETERM(),
         entity.Line(start=entity.Point(20, 0), end=entity.Point(40, 0)),
         NC().translate(xoff=40, yoff=0),
         entity.Line(start=entity.Point(60, 0), end=entity.Point(80, 0)),
         entity.Rect(points=[
             entity.Point(-10, 20),
             entity.Point(110, 20),
             entity.Point(110, -20),
             entity.Point(-10, -20),
         ], linetype='PHANTOM'),
         ETERM().translate(xoff=80, yoff=0)
     ]
Ejemplo n.º 17
0
Archivo: limit.py Proyecto: kozbot/kecb
 def generate(self):
     return [
         LSW_NO(),
         entity.PolyLine(points=[
             entity.Point(*LSW_NO_LINE_INTERSECT),
             entity.Point(30, -10),
             entity.Point(35, -10),
             entity.Point(35, -15),
             entity.Point(25, -15),
             entity.Point(25, -20),
             entity.Point(30, -20),
             entity.Point(30, -25)
         ], closed=False)
     ]
Ejemplo n.º 18
0
Archivo: limit.py Proyecto: kozbot/kecb
 def generate(self):
     return [
         ITERM(right=False),
         entity.Line(entity.Point(15, 0), entity.Point(*LSW_NC_LINE_END)),
         ITERM(left=False).translate(xoff=40, yoff=0)
     ]
Ejemplo n.º 19
0
 def generate(self):
     return [
         NO(),
         entity.Line(entity.Point(0, 10), entity.Point(20, -10)),
     ]
Ejemplo n.º 20
0
 def generate(self):
     return [
         entity.Arc.from_crse(center=entity.Point(10, 0), radius=10, start=270, end=180),
         entity.Arc.from_crse(center=entity.Point(30, 0), radius=10, start=90, end=0)
     ]
Ejemplo n.º 21
0
Archivo: limit.py Proyecto: kozbot/kecb
 def generate(self):
     return [
         LSW_NC(),
         entity.Line(start=entity.Point(*LSW_NC_LINE_INTERSECT), end=entity.Point(30, -15)),
         entity.Circle(center=entity.Point(30, -25), radius=10)
     ]