Esempio n. 1
0
def find_websim():
    # Look bellow the KAPPY_DIR first, then KASIM_DIR
    up_two = path.normpath(
        path.join(path.dirname(path.abspath(__file__)), '..', '..'))
    sim_path = find_path(up_two, 'WebSim')
    if sim_path is not None:
        return sim_path
    raise KappaError('WebSim could not be found.')
Esempio n. 2
0
def find_websim():
    # Look bellow the KAPPY_DIR first, then KASIM_DIR
    up_two = path.normpath(path.join(path.dirname(path.abspath(__file__)),
                                     '..', '..'))
    sim_path = find_path(up_two, 'WebSim')
    if sim_path is not None:
        return sim_path
    raise KappaError('WebSim could not be found.')
Esempio n. 3
0
def can_move_towards_player(monster, game_data):
    if not can_see_player(monster, game_data):
        return False
    vec = monster.pos - game_data.player.pos
    if vec.length() < 2:
        return False
    return find_path(monster, game_data.player, game_data.map.entities,
                     game_data.map)
Esempio n. 4
0
    def do_output(self,
                  text='',
                  prefix='',
                  salt='',
                  extra='',
                  saved=None,
                  read_only=False):
        """Builds response, outputs headers, renders the template and outputs
        the response.
        """
        filename = self.get_file()
        path = util.find_path(filename)
        basename = util.find_base(filename)
        title = self.find_title(path, basename)

        save_text = 'Save'
        if saved is None:
            # Save status was not specified as an argument, perform test on
            # text.
            if text:
                save_text = 'Saved'
        elif saved:
            # The saved argument indicates the file is saved.
            save_text = 'Saved'

        text = text.replace('&', '&amp;').replace('<',
                                                  '&lt;').replace('>', '&gt;')
        ext = util.find_extension(filename)
        mode = util.get_mode(ext)
        tab_width = util.get_tab_width(ext)
        markup = util.is_markup(ext)

        self.set_header('Content-Type', 'text/html')
        self.finish(
            self.render_string('editor.html',
                               config=json.dumps({
                                   'file_name': basename,
                                   'path': path,
                                   'title': title,
                                   'file': filename,
                                   'text': text,
                                   'mode': mode,
                                   'tab_width': tab_width,
                                   'markup': markup,
                                   'save_text': save_text,
                                   'extra': extra,
                                   'prefix': prefix,
                                   'salt': salt,
                                   'modes': util.MODES,
                                   'read_only': read_only
                               }),
                               title=title,
                               modes=util.MODES))
Esempio n. 5
0
    def Inky(cls, path_data, ghost, pacman):
        self_pos, target_pos = GhostAI.get_pos(ghost, pacman)

        # Chase the pacman 1-4 tiles slow
        for offset in range(1, 4):
            tmp = target_pos + pacman.move_dir * offset * -1
            if tmp[0] > 18 or tmp[0] < 0 or tmp[1] > 18 or tmp[1] < 0:
                break
            if path_data[int(tmp[0])][int(tmp[1])] == 0:
                target_pos = tmp
                break

        return util.find_path(path_data, self_pos, target_pos)
Esempio n. 6
0
    def Clyde(cls, path_data, ghost, pacman):
        self_pos, target_pos = GhostAI.get_pos(ghost, pacman)

        # Foresee the movement of pacman
        for offset in range(1, 4):
            tmp = target_pos + pacman.move_dir * offset
            if tmp[0] > 18 or tmp[0] < 0 or tmp[1] > 18 or tmp[1] < 0:
                break
            if path_data[int(tmp[0])][int(tmp[1])] == 0:
                target_pos = tmp
                break

        return util.find_path(path_data, self_pos, target_pos)
Esempio n. 7
0
    def do_output(self, text = '', prefix = '', salt = '', extra = '', saved = None, read_only = False):
        """Builds response, outputs headers, renders the template and outputs
        the response.
        """
        filename = self.get_file()
        path = util.find_path(filename)
        basename = util.find_base(filename)
        title = self.find_title(path, basename)

        save_text = 'Save'
        if saved is None:
            # Save status was not specified as an argument, perform test on
            # text.
            if text:
                save_text = 'Saved'
        elif saved:
            # The saved argument indicates the file is saved.
            save_text = 'Saved'

        text = text.replace('&', '&amp;').replace('<', '&lt;').replace('>', '&gt;')
        ext = util.find_extension(filename)
        mode = util.get_mode(ext)
        tab_width = util.get_tab_width(ext)
        markup = util.is_markup(ext)

        self.set_header('Content-Type', 'text/html')
        self.finish(self.render_string(
            'editor.html',
            config = json.dumps({
                'file_name': basename,
                'path': path,
                'title': title,
                'file': filename,
                'text': text,
                'mode': mode,
                'tab_width': tab_width,
                'markup': markup,
                'save_text': save_text,
                'extra': extra,
                'prefix': prefix,
                'salt': salt,
                'modes': util.MODES,
                'read_only': read_only
            }),
            title = title,
            modes = util.MODES
        ))
Esempio n. 8
0
 def get_attr(self, attr):
     return find_path(self.attrs, attr)
Esempio n. 9
0
    def Pinky(cls, path_data, ghost, pacman):

        # Chase the pacman with 100% speed
        self_pos, target_pos = GhostAI.get_pos(ghost, pacman)

        return util.find_path(path_data, self_pos, target_pos)
Esempio n. 10
0
    def Blinky(cls, path_data, ghost, pacman):

        # Slow movement
        self_pos, target_pos = GhostAI.get_pos(ghost, pacman)

        return util.find_path(path_data, self_pos, target_pos)
Esempio n. 11
0
 def _schedule_movement(self, sprite, pos):
     end_x, end_y = pos
     path = find_path(self.map.coordinates, sprite.x, sprite.y, end_x,
                      end_y)
     for x, y in path:
         sprite.move_to(x, y, 0.3)
Esempio n. 12
0
 def _schedule_movement(self, sprite, pos):
     end_x, end_y = pos
     path = find_path(self.map.coordinates, sprite.x, sprite.y, end_x, end_y)
     for x, y in path:
         sprite.move_to(x, y, 0.3)