diff options
author | toma <toma@283d02a7-25f6-0310-bc7c-ecb5cbfe19da> | 2009-11-25 17:56:58 +0000 |
---|---|---|
committer | toma <toma@283d02a7-25f6-0310-bc7c-ecb5cbfe19da> | 2009-11-25 17:56:58 +0000 |
commit | c90c389a8a8d9d8661e9772ec4144c5cf2039f23 (patch) | |
tree | 6d8391395bce9eaea4ad78958617edb20c6a7573 /ksnake/rattler.h | |
download | tdegames-c90c389a8a8d9d8661e9772ec4144c5cf2039f23.tar.gz tdegames-c90c389a8a8d9d8661e9772ec4144c5cf2039f23.zip |
Copy the KDE 3.5 branch to branches/trinity for new KDE 3.5 features.
BUG:215923
git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/kdegames@1054174 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
Diffstat (limited to 'ksnake/rattler.h')
-rw-r--r-- | ksnake/rattler.h | 155 |
1 files changed, 155 insertions, 0 deletions
diff --git a/ksnake/rattler.h b/ksnake/rattler.h new file mode 100644 index 00000000..2922dfe6 --- /dev/null +++ b/ksnake/rattler.h @@ -0,0 +1,155 @@ +/** + * Copyright Michel Filippi <[email protected]> + * Robert Williams + * Andrew Chant <[email protected]> + * André Luiz dos Santos <[email protected]> + * Benjamin Meyer <[email protected]> + * + * This file is part of the ksnake package + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public License + * along with this library; see the file COPYING.LIB. If not, write to + * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + * Boston, MA 02110-1301, USA. + */ + +#ifndef RATTLER_H +#define RATTLER_H + +#include <qwidget.h> +#include <kaction.h> +#include "ball.h" +#include "snake.h" + +class Board; +class PixServer; +class Level; +class Basket; +class SamySnake; + + +enum { Init, Playing, Demo, Paused, Over }; + +class Rattler : public QWidget +{ + Q_OBJECT + +public: + Rattler ( QWidget *parent=0, const char *name=0 ); + ~Rattler(); + void setActionCollection(KActionCollection *a){ actionCollection = a;} + + + void setBalls(int); + void setBallsAI(int); + void setCompuSnakes(int); + void setSnakesAI(int); + void setSkill(int); + void setRoom(int); + + void reloadRoomPixmap(); + + QStringList backgroundPixmaps; + +public slots: + void closeGate(int); + void openGate(); + void loadSettings(); + + void scoring(bool, int); + + void restart(); + void newTry(); + void levelUp(); + + void pause(); + void restartTimer(); + + void speedUp(); + + void run(); + void demo(); + + void killedComputerSnake(); + +private slots: + void start(); + void stop(); + void showRoom(); + void restartDemo(); + +signals: + void setPoints(int); + void setTrys(int); + + void setScore(int); + // Is this used? Maybe remove? + void togglePaused(); + + // progress + void rewind(); + void advance(); + +protected: + void timerEvent( QTimerEvent * ); + void paintEvent( QPaintEvent * ); + void keyPressEvent( QKeyEvent * ); + void mousePressEvent( QMouseEvent * ); + void focusOutEvent( QFocusEvent * ) { ; } + void focusInEvent( QFocusEvent * ) { ; } + KActionCollection *actionCollection; + +private: + Board *board; + PixServer *pix; + Level *level; + Basket *basket; + SamySnake *samy; + + int timerCount; + bool leaving; + + int check; + int points; + int trys; + + int direction; + + QPtrList<Ball> *balls; + void restartBalls(bool); + int numBalls; + int ballsAI; + + QPtrList<CompuSnake> *computerSnakes; + void restartComputerSnakes(bool); + int numSnakes; + int snakesAI; + + int room; + int skill; + + int gameTimer; + bool timerHasRunOut; + void start(int); + void resetFlags(); + void init(bool); + + void score(int); + void cleanLabel(); + + void resizeEvent( QResizeEvent * ); +}; + + +#endif // RATTLER_H + |