Impoved movement

This commit is contained in:
Juhani Krekelä 2019-06-28 20:31:03 +03:00
parent e48ce7886e
commit dc485a7c5f

View file

@ -181,7 +181,13 @@ function movePlayer(direction)
elseif direction == directions.right then elseif direction == directions.right then
dx = 1 dx = 1
elseif direction == directions.upleft then elseif direction == directions.upleft then
if player_direction == directions.down then if player_direction == directions.up then
dx = -1
new_direction = directions.left
elseif player_direction == directions.left then
dy = -1
new_direction = directions.up
elseif player_direction == directions.down then
-- ## ## -- ## ##
-- x# xo# -- x# xo#
-- #o# # # -- #o# # #
@ -203,6 +209,12 @@ function movePlayer(direction)
-- ## ## -- ## ##
dy = 1 dy = 1
new_direction = directions.right new_direction = directions.right
elseif player_direction == directions.left then
dy = 1
new_direction = directions.down
elseif player_direction == directions.down then
dx = -1
new_direction = directions.left
elseif player_direction == directions.right then elseif player_direction == directions.right then
-- ## ## -- ## ##
-- #xo #o -- #xo #o
@ -225,22 +237,34 @@ function movePlayer(direction)
-- # # #x# -- # # #x#
dx = 1 dx = 1
new_direction = directions.up new_direction = directions.up
elseif player_direction == directions.down then
dx = 1
new_direction = directions.right
elseif player_direction == directions.right then
dy = 1
new_direction = directions.down
else else
new_direction = player_direction new_direction = player_direction
end end
elseif direction == directions.upright then elseif direction == directions.upright then
if player_direction == directions.down then if player_direction == directions.up then
-- ## ## dx = 1
-- #x #ox new_direction = directions.right
-- #o# # #
dy = -1
new_direction = directions.left
elseif player_direction == directions.left then elseif player_direction == directions.left then
-- # # #x# -- # # #x#
-- ox# o# -- ox# o#
-- ## ## -- ## ##
dx = 1 dx = 1
new_direction = directions.down new_direction = directions.down
elseif player_direction == directions.down then
-- ## ##
-- #x #ox
-- #o# # #
dy = -1
new_direction = directions.left
elseif player_direction == directions.right then
dy = -1
new_direction = directions.up
else else
new_direction = player_direction new_direction = player_direction
end end