alestane icon

Sokoban movement (slidable check)

alestane | PRO | 01/02/14 01:39:12 PM UTC | 0 ⭐ | 345 👁️ | Never ⏰ | []
Lua |

370 B

|

None

|

0 👍

/

0 👎

local function move(map, startX, startY, dX, dY)
    local targetX, targetY = startX + dX, startY + dY
    if not map[targetX][targetY] then return startX, startY; end
    if map[targetX][targetY].isBox then
        local slideX, slideY = targetX + dX, targetY + dY
        if not (map[slideX] and map[slideX][slideY] and map[slideX][slideY].isWalkable) then return startX, startY; end
    end
end

Comments