Compare commits
1 Commits
Author | SHA1 | Date |
---|---|---|
|
cc4415785f |
6
Makefile
6
Makefile
|
@ -1,6 +1,6 @@
|
||||||
LOVEFILE=eitmer.love
|
LOVEFILE=autoeitmer.love
|
||||||
WIN32_ZIPBALL=eitmer-win32.zip
|
WIN32_ZIPBALL=autoeitmer-win32.zip
|
||||||
NIX_TARBALL=eitmer-nix.tar.gz
|
NIX_TARBALL=autoeitmer-nix.tar.gz
|
||||||
|
|
||||||
.PHONY: all clean distclean run
|
.PHONY: all clean distclean run
|
||||||
|
|
||||||
|
|
24
README
24
README
|
@ -1,25 +1,5 @@
|
||||||
A dungeon crawler. That is, you are crawling around in a dungeon. This means
|
A dungeon crawler. That is, you are crawling around in a dungeon. Well, not you
|
||||||
you can't easily turn around in tight spaces and your vision to where you
|
in this version, but rather the computer.
|
||||||
came from is limited.
|
|
||||||
|
|
||||||
Find the Orb of Èitmer hidden within the dungeon, and beware the slimes for
|
|
||||||
it is up to chance whether you or they will prevail should you meet. It is
|
|
||||||
however better to face them head-on than to suffer an attack from behind.
|
|
||||||
|
|
||||||
If you find yourself stuck in a corner, try moving diagonally backwards.
|
|
||||||
|
|
||||||
i
|
|
||||||
jkl - movement up, left, down, right
|
|
||||||
|
|
||||||
u o
|
|
||||||
m . - movement upleft, downleft, downright, upright
|
|
||||||
|
|
||||||
a - autoexplore
|
|
||||||
|
|
||||||
space - do nothing for a turn
|
|
||||||
r - restart
|
|
||||||
q - quit
|
|
||||||
c - configure keybindings
|
|
||||||
|
|
||||||
The game code and assets are under Creative Commons Zero 1.0 Universal
|
The game code and assets are under Creative Commons Zero 1.0 Universal
|
||||||
license. If other code or data is distributed alongside them, see the
|
license. If other code or data is distributed alongside them, see the
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
function love.conf(t)
|
function love.conf(t)
|
||||||
t.window.title = "The Orb of Èitmer"
|
t.window.title = "The Automatic Orb of Èitmer"
|
||||||
t.window.width = 1280
|
t.window.width = 1280
|
||||||
t.window.height = 960
|
t.window.height = 960
|
||||||
t.window.resizable = true
|
t.window.resizable = true
|
||||||
|
|
|
@ -25,8 +25,7 @@ local heart_sprite = nil
|
||||||
|
|
||||||
local slimes = {}
|
local slimes = {}
|
||||||
|
|
||||||
local last_key_pressed = nil
|
local move_repeat_counter = 0.1
|
||||||
local move_repeat_counter = nil
|
|
||||||
|
|
||||||
local gamemodes = {normal = 0, won = 1, lost = 2, config = 3}
|
local gamemodes = {normal = 0, won = 1, lost = 2, config = 3}
|
||||||
local game_mode = nil
|
local game_mode = nil
|
||||||
|
@ -35,20 +34,13 @@ local configuration_steps = {quit = -4, restart = -3, configure = -2, autoexplor
|
||||||
local configuration_step = nil
|
local configuration_step = nil
|
||||||
|
|
||||||
local direction_keys = {}
|
local direction_keys = {}
|
||||||
direction_keys['i'] = directions.up
|
local control_keys = {quit = 'q', restart = '', configure = '', autoexplore = ''}
|
||||||
direction_keys['u'] = directions.upleft
|
|
||||||
direction_keys['j'] = directions.left
|
|
||||||
direction_keys['m'] = directions.downleft
|
|
||||||
direction_keys['k'] = directions.down
|
|
||||||
direction_keys['.'] = directions.downright
|
|
||||||
direction_keys['l'] = directions.right
|
|
||||||
direction_keys['o'] = directions.upright
|
|
||||||
direction_keys['space'] = directions.inplace
|
|
||||||
local control_keys = {quit = 'q', restart = 'r', configure = 'c', autoexplore = 'a'}
|
|
||||||
|
|
||||||
local win_image = nil
|
local win_image = nil
|
||||||
local win_is_raster = true
|
local win_is_raster = true
|
||||||
|
|
||||||
|
local reset_counter = nil
|
||||||
|
|
||||||
-- ------------------------------------------------------------------
|
-- ------------------------------------------------------------------
|
||||||
-- Cavern generation
|
-- Cavern generation
|
||||||
-- ------------------------------------------------------------------
|
-- ------------------------------------------------------------------
|
||||||
|
@ -606,6 +598,7 @@ function newGame()
|
||||||
|
|
||||||
if collidedPlayerOrb() then
|
if collidedPlayerOrb() then
|
||||||
game_mode = gamemodes.won
|
game_mode = gamemodes.won
|
||||||
|
reset_counter = 5
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -683,6 +676,7 @@ function step(direction)
|
||||||
|
|
||||||
if collidedPlayerOrb() then
|
if collidedPlayerOrb() then
|
||||||
game_mode = gamemodes.won
|
game_mode = gamemodes.won
|
||||||
|
reset_counter = 5
|
||||||
end
|
end
|
||||||
|
|
||||||
local body_x, body_y = getBodyLocation()
|
local body_x, body_y = getBodyLocation()
|
||||||
|
@ -749,7 +743,7 @@ function autoexplore()
|
||||||
|
|
||||||
for x, list in ipairs(visibility_map) do
|
for x, list in ipairs(visibility_map) do
|
||||||
for y, visible in ipairs(list) do
|
for y, visible in ipairs(list) do
|
||||||
if not visible and remembered_cavern[x][y] == nil then
|
if not visible and remembered_cavern[x][y] == nil or cavern[x][y] == tiletypes.orb then
|
||||||
distances[x][y] = {value = 0, direction = directions.inplace}
|
distances[x][y] = {value = 0, direction = directions.inplace}
|
||||||
neighbors(queue, x, y, 1)
|
neighbors(queue, x, y, 1)
|
||||||
end
|
end
|
||||||
|
@ -1131,8 +1125,16 @@ end
|
||||||
function love.update(dt)
|
function love.update(dt)
|
||||||
if move_repeat_counter ~= nil and move_repeat_counter > 0 then
|
if move_repeat_counter ~= nil and move_repeat_counter > 0 then
|
||||||
move_repeat_counter = move_repeat_counter - dt
|
move_repeat_counter = move_repeat_counter - dt
|
||||||
if move_repeat_counter <= 0 and last_key_pressed ~= nil then
|
if move_repeat_counter <= 0 then
|
||||||
love.keypressed(last_key_pressed)
|
autoexplore()
|
||||||
|
move_repeat_counter = 0.1
|
||||||
|
end
|
||||||
|
end
|
||||||
|
if reset_counter ~= nil then
|
||||||
|
reset_counter = reset_counter - dt
|
||||||
|
if reset_counter <= 0 then
|
||||||
|
newGame()
|
||||||
|
reset_counter = nil
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -1143,6 +1145,7 @@ function love.update(dt)
|
||||||
flash_player_damaged_counter = flash_player_damaged_counter - dt
|
flash_player_damaged_counter = flash_player_damaged_counter - dt
|
||||||
if hp == 0 and flash_player_damaged_counter <= 0 and game_mode ~= gamemodes.won then
|
if hp == 0 and flash_player_damaged_counter <= 0 and game_mode ~= gamemodes.won then
|
||||||
game_mode = gamemodes.lost
|
game_mode = gamemodes.lost
|
||||||
|
reset_counter = 5
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
@ -1198,8 +1201,6 @@ end
|
||||||
|
|
||||||
function love.keyreleased(key)
|
function love.keyreleased(key)
|
||||||
if last_key_pressed == key then
|
if last_key_pressed == key then
|
||||||
last_key_pressed = nil
|
|
||||||
move_repeat_counter = nil
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
|
@ -3,8 +3,8 @@ die() {
|
||||||
exit 1
|
exit 1
|
||||||
}
|
}
|
||||||
|
|
||||||
mkdir -p tmp/eitmer-nix || die mkdir
|
mkdir -p tmp/autoeitmer-nix || die mkdir
|
||||||
cp eitmer.love README CC0 tmp/eitmer-nix
|
cp autoeitmer.love README CC0 tmp/autoeitmer-nix
|
||||||
|
|
||||||
cd tmp
|
cd tmp
|
||||||
tar czvf ../eitmer-nix.tar.gz eitmer-nix
|
tar czvf ../autoeitmer-nix.tar.gz autoeitmer-nix
|
||||||
|
|
|
@ -11,15 +11,15 @@ get() {
|
||||||
|
|
||||||
version="11.2"
|
version="11.2"
|
||||||
|
|
||||||
mkdir -p tmp/eitmer-win32 || die mkdir
|
mkdir -p tmp/autoeitmer-win32 || die mkdir
|
||||||
|
|
||||||
cd tmp
|
cd tmp
|
||||||
test -e love-$version-win32/ || get
|
test -e love-$version-win32/ || get
|
||||||
cd love-$version-win32/
|
cd love-$version-win32/
|
||||||
cat love.exe ../../eitmer.love > ../eitmer-win32/eitmer.exe || die cat
|
cat love.exe ../../autoeitmer.love > ../autoeitmer-win32/autoeitmer.exe || die cat
|
||||||
cp *.dll license.txt ../eitmer-win32/ || die cp
|
cp *.dll license.txt ../autoeitmer-win32/ || die cp
|
||||||
cp ../../README ../eitmer-win32/readme.txt || die cp
|
cp ../../README ../autoeitmer-win32/readme.txt || die cp
|
||||||
cp ../../CC0 ../eitmer-win32/CC0.txt || die cp
|
cp ../../CC0 ../autoeitmer-win32/CC0.txt || die cp
|
||||||
|
|
||||||
cd ..
|
cd ..
|
||||||
zip -9 -r ../eitmer-win32.zip eitmer-win32
|
zip -9 -r ../autoeitmer-win32.zip autoeitmer-win32
|
||||||
|
|
Loading…
Reference in New Issue