fix state representation not being updated when toggling restricted movement

This commit is contained in:
2026-02-20 02:15:13 +01:00
parent 7860963fcb
commit 71e1dd4f32
3 changed files with 8 additions and 1 deletions

View File

@ -272,6 +272,8 @@ public:
auto ToggleTarget(int x, int y) -> bool;
auto ToggleRestricted() -> void;
auto MoveBlockAt(int x, int y, Direction dir) -> bool;
auto GetNextStates() const -> std::vector<State>;

View File

@ -162,6 +162,11 @@ auto State::ToggleTarget(int x, int y) -> bool {
return true;
}
auto State::ToggleRestricted() -> void {
restricted = !restricted;
state.replace(0, 1, restricted ? "R" : "F");
}
auto State::MoveBlockAt(int x, int y, Direction dir) -> bool {
Block block = GetBlock(x, y);
if (!block.IsValid()) {

View File

@ -266,7 +266,7 @@ auto main(int argc, char *argv[]) -> int {
} else if (IsKeyPressed(KEY_O)) {
renderer.connect_solutions = !renderer.connect_solutions;
} else if (IsKeyPressed(KEY_F)) {
current_state.restricted = !current_state.restricted;
current_state.ToggleRestricted();
previous_state = clear_masssprings(masssprings, current_state);
edited = true;
} else if (IsKeyPressed(KEY_T)) {