bacongamejam05-notsoalonein.../src/player.coffee

43 lines
1.5 KiB
CoffeeScript

# 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