Sokoban Movement (adjust box)
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 tileBlox[gameMap[targetX][targetY].id].x = gameMap[slideX][slideY].x end end
Comments