This commit is contained in:
@ -62,17 +62,13 @@ class Furniture:
|
||||
class State:
|
||||
def __init__(
|
||||
self,
|
||||
#plan: list[list[int]],
|
||||
width: int,
|
||||
height: int,
|
||||
furniture: dict[id, Furniture],
|
||||
parent: Optional[State] = None
|
||||
):
|
||||
#self.plan: list[list[int]] = plan
|
||||
self.furniture: dict[id, Furniture] = furniture
|
||||
self.parent: Optional[State] = parent
|
||||
#self.width: int = len(plan[0])
|
||||
#self.height: int = len(plan)
|
||||
self.width: int = width
|
||||
self.height: int = height
|
||||
|
||||
@ -93,7 +89,6 @@ class State:
|
||||
for i, tiles in furniture.items()
|
||||
}
|
||||
|
||||
#return State(plan, furniture2)
|
||||
return State(width, height, furniture2)
|
||||
|
||||
def to_list(self) -> list[list[int]]:
|
||||
@ -113,22 +108,6 @@ class State:
|
||||
return self.parent.get_depth() + 1
|
||||
|
||||
def apply_move(self, id: int, offset: tuple[int, int]) -> Optional[State]:
|
||||
#new_plan: list[list[int]] = [[0] * self.width for _ in range(self.height)]
|
||||
|
||||
"""
|
||||
for y, row in enumerate(self.plan):
|
||||
for x, tile in enumerate(row):
|
||||
if tile == id:
|
||||
x2, y2 = x + offset[0], y + offset[1]
|
||||
if x2 < 0 or x2 >= self.width or y2 < 0 or y2 >= self.height:
|
||||
return None
|
||||
if new_plan[y2][x2] not in (0, id):
|
||||
return None
|
||||
new_plan[y2][x2] = id
|
||||
new_plan[y][x] = 0
|
||||
else:
|
||||
new_plan[y][x] = tile
|
||||
"""
|
||||
plan: list[list[int]] = self.to_list()
|
||||
furn2: Furniture = self.furniture[id].move(offset)
|
||||
for tx, ty in furn2.get_tiles():
|
||||
@ -192,7 +171,6 @@ def minimumMoves(current_plan: list[list[int]], target_plan: list[list[int]]) ->
|
||||
current_state = State.from_list(current_plan)
|
||||
target_state = State.from_list(target_plan)
|
||||
|
||||
|
||||
states: list[State] = [current_state]
|
||||
while len(states) != 0:
|
||||
new_states: list[State] = []
|
||||
|
Reference in New Issue
Block a user