diff options
Diffstat (limited to 'include')
-rw-r--r-- | include/constants.lua | 10 | ||||
-rw-r--r-- | include/default_proc.lua | 42 |
2 files changed, 52 insertions, 0 deletions
diff --git a/include/constants.lua b/include/constants.lua new file mode 100644 index 0000000..5d8e860 --- /dev/null +++ b/include/constants.lua @@ -0,0 +1,10 @@ +KEY_W = 119 +KEY_A = 97 +KEY_S = 115 +KEY_D = 100 +KEY_SPACE = ' ' + + +TILE_WALL = 'w' +TILE_SPACE = ' ' +TILE_ENEMY = 'e'
\ No newline at end of file diff --git a/include/default_proc.lua b/include/default_proc.lua new file mode 100644 index 0000000..13ef15d --- /dev/null +++ b/include/default_proc.lua @@ -0,0 +1,42 @@ +--[[ +These are the default implementations of the override actions. +If you want to add custom logic into your game you can define a "proc.lua" in your map dir. + +The following functions are also available via our C library: + +void c_update_player_pos (dx, dy) +boolean c_player_can_move (dx, dy) +boolean c_enemy_can_move (id, dx, dy) +c_spawn_enemy (x, y) +c_destroy_enemy (id) +c_trigger_win() +c_trigger_loss(msg) +c_fatal(msg) + +--]] + +require "include.constants"; + +---@param pressedKey number +function onKeyPress(pressedKey) + + dx = 0 + dy = 0 + if (pressedKey == KEY_W) then + dy = -1 + elseif pressedKey == KEY_A then + dx = -1 + elseif pressedKey == KEY_S then + dy = 1 + elseif pressedKey == KEY_D then + dx = 1 + end + + if c_player_can_move(dx, dy) then + c_update_player_pos(dx, dy) + end +end + +function onUpdate() + +end
\ No newline at end of file |