File indexing completed on 2021-12-21 12:50:22

0001 /*
0002  *  ksokoban - a Sokoban game by KDE
0003  *  Copyright (C) 1998  Anders Widell  <d95-awi@nada.kth.se>
0004  *
0005  *  This program is free software; you can redistribute it and/or modify
0006  *  it under the terms of the GNU General Public License as published by
0007  *  the Free Software Foundation; either version 2 of the License, or
0008  *  (at your option) any later version.
0009  *
0010  *  This program is distributed in the hope that it will be useful,
0011  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
0012  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
0013  *  GNU General Public License for more details.
0014  *
0015  *  You should have received a copy of the GNU General Public License
0016  *  along with this program; if not, write to the Free Software
0017  *  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
0018  */
0019 
0020 #ifndef MOVESEQUENCE_H
0021 #define MOVESEQUENCE_H
0022 
0023 #include <assert.h>
0024 
0025 class Move;
0026 class LevelMap;
0027 
0028 class MoveSequence {
0029 public:
0030   MoveSequence (Move *_move, LevelMap *_map, bool _undo=false);
0031 
0032   bool newStep ();
0033   bool next ();
0034 
0035 private:
0036   LevelMap *map_;
0037   Move     *move_;
0038   int       pos_;
0039   int       x_, xDest_, y_, yDest_, xd_, yd_;
0040   bool      push_;
0041   bool      undo_;
0042 
0043 };
0044 
0045 #endif  /* MOVESEQUENCE_H */