# function: update player position update_player_position = () -> new_position = player.position if keymap[37] and toxy(player.position).x > 0 # left new_position = new_position-1 if keymap[39] and toxy(player.position).x < config.map.width-1 # right new_position = new_position+1 if keymap[38] and toxy(player.position).y > 0 # up new_position = new_position - config.map.width if keymap[40] and toxy(player.position).y < config.map.height-1 # down new_position = new_position + config.map.width switch level[new_position] # EXIT when 7 current_level++ load_level(current_level) return # DOOR when 2 if inventar.key inventar.key = false level[new_position] = 0 # KEY when 1 inventar.key = true level[new_position] = 0 #console.log enemy_layer if enemy_layer[new_position] > 0 and !config.debug config.gamestate = gamestates.OVER if level[new_position] in blocks.walkable then player.position = new_position # function: draw player draw_player = (position) -> pixel(position, config.pixelsize, config.pixelsize, colors.player) break_walls = (position) -> level[position-1] = 0 if level[position-1] is 5 or config.debug level[position+1] = 0 if level[position+1] is 5 or config.debug level[position-config.map.width] = 0 if level[position-config.map.width] is 5 or config.debug level[position+config.map.width] = 0 if level[position+config.map.width] is 5 or config.debug