summaryrefslogtreecommitdiff
path: root/logic/map.lua
diff options
context:
space:
mode:
authorEltrac <hi@guhub.cn>2025-03-04 10:07:03 +0800
committerEltrac <hi@guhub.cn>2025-03-04 10:07:03 +0800
commite92177bdc3e97e7e7cc166bd9d76082197297244 (patch)
treee7c6ecbc10c245122df1c42ffce4b3ccf0dad23f /logic/map.lua
parentba308f4edd76de2eb802843959c8c1ab50760eac (diff)
refactor: add Way / Ways global
Diffstat (limited to 'logic/map.lua')
-rw-r--r--logic/map.lua27
1 files changed, 7 insertions, 20 deletions
diff --git a/logic/map.lua b/logic/map.lua
index 2f212f8..25002b7 100644
--- a/logic/map.lua
+++ b/logic/map.lua
@@ -18,31 +18,18 @@ function map.connectRoom(room1, room2, way)
local door1, door2
if type(way) == "number" then
- local ways = {"lr","rl","tb","bt"}
- way = ways[way]
+ way = Ways[way]
end
- if way == "lr" then
- door1 = Door:new(Direction.LEFT, room1, room2)
- door2 = Door:new(Direction.RIGHT, room2, room1)
- room1:addDoor(door1)
- room2:addDoor(door2)
- elseif way == "rl" then
- door1 = Door:new(Direction.RIGHT, room1, room2)
- door2 = Door:new(Direction.LEFT, room2, room1)
- room1:addDoor(door1)
- room2:addDoor(door2)
- elseif way == "tb" then
- door1 = Door:new(Direction.TOP, room1, room2)
- door2 = Door:new(Direction.BOTTOM, room2, room1)
- room1:addDoor(door1)
- room2:addDoor(door2)
- elseif way == "bt" then
- door1 = Door:new(Direction.BOTTOM, room1, room2)
- door2 = Door:new(Direction.TOP, room2, room1)
+ local door1, door2
+ if Way[way] then
+ local dir1, dir2 = table.unpack(directions[way])
+ door1 = Door:new(dir1, room1, room2)
+ door2 = Door:new(dir2, room2, room1)
room1:addDoor(door1)
room2:addDoor(door2)
end
+
return door1, door2
end