/// <summary> /// Reset/Restart the puzzle to its initial condition /// </summary> public override void Reset(Bookmark bookMark) { initType = InitTypes.Restart; base.Reset(bookMark); Init(); }
public Bookmark MakeBookmark() { Bookmark bk = new Bookmark(); bk.Current = new SokobanMap(current); bk.PlayerMoves = new Path(StartPuzzle.Player); foreach(Move move in moves.ToArray()) { bk.PlayerMoves.Add(move.MoveDirection); } return bk; }
/// <summary> /// Reset to the start position /// </summary> public virtual void Reset(Bookmark bookMark) { Stats.Restarts++; Stats.Moves = 0; Stats.Pushes = 0; Current = bookMark.Current; Moves = new Stack<Move>(); // Do not allow undo beyond this point }
public void Add(Bookmark newBookmark) { bookmarks.Add(newBookmark); }