Шаг меняет несколько вещей
Нарисуй ряд из пяти клеток. Герой стоит в первой, коробка — во второй. Он может шагнуть вправо и толкнуть коробку, если следующая клетка свободна. После такого действия герой окажется во второй клетке, коробка — в третьей. Если отмена вернёт только героя, мир восстановится неправильно: коробка останется на новом месте. Нужно помнить всё, что изменилось за ход.
Сохрани состояние до действия
Перед ходом запиши две позиции: героя и коробки. Затем выполни перемещение. Для отмены просто восстанови записанную пару. Сделай ещё один ход, сохранив новую карточку поверх первой. Когда нажимаешь «отменить», используй последнюю карточку и убирай её из стопки. Повторная отмена возьмёт предыдущую. Так порядок карточек связывает действие с тем состоянием, из которого оно началось.
Что происходит после отмены
Вернись на шаг назад и вместо движения вправо сделай другой разрешённый ход. В простой версии старое будущее не сохраняется: новая карточка продолжает историю от текущего состояния. Кнопку «повторить отменённое» пока не добавляй. Проверь отмену при пустой стопке: ничего не меняется, появляется понятное сообщение. Невозможный шаг тоже не должен создавать новую запись, иначе история заполнится действиями без результата.
Твоя мастерская
Верни мир в предыдущее состояние
Отмечай готовые шаги.
Отметки сохраняются в этом браузере. Можно распечатать задание и отмечать шаги карандашом.