00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019 #ifndef __FIELD_H
00020 #define __FIELD_H
00021
00022 #include <qobject.h>
00023 #include <qwidget.h>
00024 #include "cell.h"
00025
00026
00027 #define NUMCELLSW 11
00028 #define NUMCELLSH 11
00029
00030 class Field: public QWidget
00031 {
00032 Q_OBJECT
00033 public:
00034 void clearField();
00035
00036 protected:
00037 Field(QWidget* parent, const char* name);
00038 ~Field();
00039
00040 void putBall(int x, int y, int color);
00041 void putBallRun(int x, int y, int color);
00042 void removeBall(int x, int y );
00043 int getBall(int x, int y);
00044 int getAnim(int x, int y);
00045 void setAnim(int x, int y, int anim );
00046 void clearAnim();
00047 int deleteAnimatedBalls();
00048 void moveBall(int xa, int ya, int xb, int yb);
00049
00050 bool checkBounds( int x, int y );
00051
00052 int freeSpace();
00053 void saveUndo();
00054 void restoreUndo();
00055
00056 private:
00057 Cell field[NUMCELLSH][NUMCELLSW];
00058 Cell field_undo[NUMCELLSH][NUMCELLSW];
00059
00060
00061 };
00062
00063 #endif