示例#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)
示例#2
0
文件: limit.py 项目: 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))
     ]
示例#3
0
文件: pilot.py 项目: 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)
     ]
示例#4
0
文件: terminal.py 项目: kozbot/kecb
 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)
     ]
示例#5
0
文件: ground.py 项目: kozbot/kecb
 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)),
     ]
示例#6
0
文件: protect.py 项目: kozbot/kecb
 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
示例#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)
     ]
示例#8
0
文件: ground.py 项目: kozbot/kecb
 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)
     ]
示例#9
0
文件: limit.py 项目: 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)
     ]
示例#10
0
文件: terminal.py 项目: kozbot/kecb
    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
示例#11
0
文件: generic.py 项目: kozbot/kecb
 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)
     ]
示例#12
0
文件: ground.py 项目: kozbot/kecb
 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)),
     ]
示例#13
0
文件: contact.py 项目: kozbot/kecb
 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)),
     ]
示例#14
0
文件: protect.py 项目: kozbot/kecb
 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
示例#15
0
文件: protect.py 项目: kozbot/kecb
 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)
     ]
示例#16
0
文件: generic.py 项目: kozbot/kecb
 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)
     ]
示例#17
0
文件: limit.py 项目: 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)
     ]
示例#18
0
文件: limit.py 项目: 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)
     ]
示例#19
0
文件: contact.py 项目: kozbot/kecb
 def generate(self):
     return [
         NO(),
         entity.Line(entity.Point(0, 10), entity.Point(20, -10)),
     ]
示例#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)
     ]
示例#21
0
文件: limit.py 项目: 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)
     ]