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.')
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.')
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)
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('&', '&').replace('<', '<').replace('>', '>') 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))
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)
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)
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('&', '&').replace('<', '<').replace('>', '>') 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 ))
def get_attr(self, attr): return find_path(self.attrs, attr)
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)
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)
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)