Beispiel #1
0
 def silly_inner_generator(self):
     while True:
         direction = random.choice(list(SK.STEPS.keys()))
         if direction == CM.TELEPORT:
             continue
         np = (self.p[0] + SK.STEPS[direction][0], self.p[1] + SK.STEPS[direction][1])
         if cell_is_correct(np):
             yield CM.pack_bot_step(self.run_number, self.time_frame, CM.CAT, direction)
Beispiel #2
0
    def run(self):
        while True:
            self.run_number += 1
            print('Game Map, start, run_number=' + str(self.run_number))

            self.cat = Cat(self.run_number, self.game_map)

            self.send_update_to_server_vis()

            s = sched.scheduler(time.perf_counter, time.sleep)

            for repeat in range(GAME_CONF.REPEATS_NUMBER):
                s.enter(TimesConf.BORDER_DELAY + repeat * TimesConf.BETWEEN_REPEATS_DT, 1, self.send_init)
            s.enter(TimesConf.TOTAL, 0, lambda *args: None)

            s.run()

            for t in range(GAME_CONF.STEPS_NUMBER):
                logger.info('Cat, run_number=' + str(self.run_number) + ', time_frame=' + str(
                    self.cat.time_frame) + ', p=' + str(self.cat.p))

                self.send_update_to_server_vis()

                s = sched.scheduler(time.perf_counter, time.sleep)

                s.enter(0, 2, self.cat.one_step)

                for i in range(GAME_CONF.FIELD_SIZE):
                    for j in range(GAME_CONF.FIELD_SIZE):
                        to_cat_direction = self.generate_step(t, i, j)
                        msg = CM.pack_bot_step(self.run_number, self.cat.time_frame, CM.CAT, to_cat_direction)
                        for repeat in range(GAME_CONF.REPEATS_NUMBER):
                            s.enter(TimesConf.BORDER_DELAY + repeat * TimesConf.BETWEEN_REPEATS_DT, 1,
                                    self.send_step, argument=(msg, i, j))

                s.enter(TimesConf.TOTAL, 0, lambda *args: None)
                s.run()
Beispiel #3
0
 def silly_inner_hunter(self):
     return CM.pack_bot_step(self.game_run.run_number, self.time_frame, CM.HUNTER, self.cat_direction)