From eaaf57114cfb74c29f1b0c4e9786bed6d225225c Mon Sep 17 00:00:00 2001 From: Steph Enders Date: Wed, 15 Jun 2022 23:36:43 -0400 Subject: Initial setup commit This setups up the project for messing around with C++ and Lua bindings. So far this project just prints the defined dng map and lets you move the character around. What this fails to do is actually provide any reason to use Lua at the moment. So I need to figure out some way of enabling logic on the processing side of things. --- include/constants.lua | 10 ++++++++++ include/default_proc.lua | 42 ++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 52 insertions(+) create mode 100644 include/constants.lua create mode 100644 include/default_proc.lua (limited to 'include') 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 -- cgit v1.2.3-54-g00ecf