summaryrefslogtreecommitdiff
path: root/noncore/games/zbounce
authorimm <imm>2002-08-31 22:00:08 (UTC)
committer imm <imm>2002-08-31 22:00:08 (UTC)
commit45c0bbbfb9eefb501a69cbdc5bd736b1d3376c22 (patch) (unidiff)
treeef84efaf072d1285dcec669c8fc2bf334db04435 /noncore/games/zbounce
parenta6102be62cdbb8836c5c9a73ba64d62dbd821776 (diff)
downloadopie-45c0bbbfb9eefb501a69cbdc5bd736b1d3376c22.zip
opie-45c0bbbfb9eefb501a69cbdc5bd736b1d3376c22.tar.gz
opie-45c0bbbfb9eefb501a69cbdc5bd736b1d3376c22.tar.bz2
- <memarray.h>
Diffstat (limited to 'noncore/games/zbounce') (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/games/zbounce/game.h2
1 files changed, 0 insertions, 2 deletions
diff --git a/noncore/games/zbounce/game.h b/noncore/games/zbounce/game.h
index ae0d4fa..656fba3 100644
--- a/noncore/games/zbounce/game.h
+++ b/noncore/games/zbounce/game.h
@@ -1,154 +1,152 @@
1/* 1/*
2 * Copyright (C) 2000 Stefan Schimanski <1Stein@gmx.de> 2 * Copyright (C) 2000 Stefan Schimanski <1Stein@gmx.de>
3 * 3 *
4 * This program is free software; you can redistribute it and/or 4 * This program is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU Library General Public 5 * modify it under the terms of the GNU Library General Public
6 * License as published by the Free Software Foundation; either 6 * License as published by the Free Software Foundation; either
7 * version 2 of the License, or (at your option) any later version. 7 * version 2 of the License, or (at your option) any later version.
8 * 8 *
9 * This program is distributed in the hope that it will be useful, 9 * This program is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of 10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 * Library General Public License for more details. 12 * Library General Public License for more details.
13 * 13 *
14 * You should have received a copy of the GNU Library General Public 14 * You should have received a copy of the GNU Library General Public
15 * License along with this program; if not, write to the Free 15 * License along with this program; if not, write to the Free
16 * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. 16 * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
17 */ 17 */
18 18
19#ifndef GAME_H_INCLUDED 19#ifndef GAME_H_INCLUDED
20#define GAME_H_INCLUDED 20#define GAME_H_INCLUDED
21 21
22#include <qwidget.h> 22#include <qwidget.h>
23#include <qcanvas.h> 23#include <qcanvas.h>
24#include <qmemarray.h>
25 24
26class QTimer; 25class QTimer;
27class JezzField; 26class JezzField;
28 27
29#define FIELD_WIDTH 26 28#define FIELD_WIDTH 26
30#define FIELD_HEIGHT 26 29#define FIELD_HEIGHT 26
31 30
32class Arrow : public QCanvasSprite 31class Arrow : public QCanvasSprite
33{ 32{
34 public: 33 public:
35 Arrow(QCanvasPixmapArray* array, QCanvas* canvas); 34 Arrow(QCanvasPixmapArray* array, QCanvas* canvas);
36 35
37 void update(); 36 void update();
38 void changeDirection(); 37 void changeDirection();
39 38
40 protected: 39 protected:
41 bool m_vertical; 40 bool m_vertical;
42}; 41};
43 42
44class Ball : public QCanvasSprite 43class Ball : public QCanvasSprite
45{ 44{
46 public: 45 public:
47 Ball(QCanvasPixmapArray* array, QCanvas* canvas); 46 Ball(QCanvasPixmapArray* array, QCanvas* canvas);
48 47
49 void update(); 48 void update();
50 void advance(int stage); 49 void advance(int stage);
51 bool collide( double dx=0, double dy=0 ); 50 bool collide( double dx=0, double dy=0 );
52 51
53 protected: 52 protected:
54 int m_animDelay; 53 int m_animDelay;
55 int m_soundDelay; 54 int m_soundDelay;
56}; 55};
57 56
58 57
59class Wall : public QObject 58class Wall : public QObject
60{ 59{
61 Q_OBJECT 60 Q_OBJECT
62public: 61public:
63 enum Direction { Up, Down, Left, Right }; 62 enum Direction { Up, Down, Left, Right };
64 63
65 Wall( JezzField *field, int x, int y, Direction dir, int tile, 64 Wall( JezzField *field, int x, int y, Direction dir, int tile,
66 QObject *parent=0, const char *name=0 ); 65 QObject *parent=0, const char *name=0 );
67 66
68 void finish(); 67 void finish();
69 void fill( bool black ); 68 void fill( bool black );
70 69
71signals: 70signals:
72 void finished( Wall *wall, int tile ); 71 void finished( Wall *wall, int tile );
73 72
74public slots: 73public slots:
75 void advance(); 74 void advance();
76 void update(); 75 void update();
77 76
78private: 77private:
79 bool isFree( int x, int y ); 78 bool isFree( int x, int y );
80 79
81 Direction m_dir; 80 Direction m_dir;
82 JezzField *m_field; 81 JezzField *m_field;
83 int m_dx, m_dy; 82 int m_dx, m_dy;
84 int m_x, m_y; 83 int m_x, m_y;
85 int m_startX, m_startY; 84 int m_startX, m_startY;
86 int m_tile; 85 int m_tile;
87 int m_delay; 86 int m_delay;
88 bool m_active; 87 bool m_active;
89}; 88};
90 89
91 90
92class JezzField : public QCanvas 91class JezzField : public QCanvas
93{ 92{
94 Q_OBJECT 93 Q_OBJECT
95public: 94public:
96 JezzField( QPixmap tiles, QObject* parent = 0, const char* name = 0 ); 95 JezzField( QPixmap tiles, QObject* parent = 0, const char* name = 0 );
97 96
98 void setGameTile( int x, int y, bool black ); 97 void setGameTile( int x, int y, bool black );
99 98
100signals: 99signals:
101 void ballCollision( Ball *ball, int x, int y, int tile ); 100 void ballCollision( Ball *ball, int x, int y, int tile );
102 101
103private: 102private:
104 friend class Ball; 103 friend class Ball;
105 QPixmap m_tiles; 104 QPixmap m_tiles;
106 QMemArray<QPixmap> m_backTiles;
107 105
108 void setPixmaps( QPixmap tiles ); 106 void setPixmaps( QPixmap tiles );
109 void emitBallCollisiton( Ball *ball, int x, int y, int tile ) 107 void emitBallCollisiton( Ball *ball, int x, int y, int tile )
110 { emit ballCollision( ball, x, y, tile ); }; 108 { emit ballCollision( ball, x, y, tile ); };
111 109
112}; 110};
113 111
114 112
115class JezzView : public QCanvasView 113class JezzView : public QCanvasView
116{ 114{
117 Q_OBJECT 115 Q_OBJECT
118public: 116public:
119 JezzView(QCanvas* viewing=0, QWidget* parent=0, const char* name=0, WFlags f=0); 117 JezzView(QCanvas* viewing=0, QWidget* parent=0, const char* name=0, WFlags f=0);
120 void changeCursor(); 118 void changeCursor();
121 119
122signals: 120signals:
123 void buildWall( int x, int y, bool vertical ); 121 void buildWall( int x, int y, bool vertical );
124 122
125protected: 123protected:
126 void viewportMouseReleaseEvent( QMouseEvent * ); 124 void viewportMouseReleaseEvent( QMouseEvent * );
127 125
128private: 126private:
129 bool m_vertical; 127 bool m_vertical;
130}; 128};
131 129
132 130
133class JezzGame : public QWidget 131class JezzGame : public QWidget
134{ 132{
135 Q_OBJECT 133 Q_OBJECT
136 134
137public: 135public:
138 JezzGame( int ballNum, QWidget *parent=0, const char *name=0 ); 136 JezzGame( int ballNum, QWidget *parent=0, const char *name=0 );
139 ~JezzGame(); 137 ~JezzGame();
140 138
141 int percent(); 139 int percent();
142 void display( QString text, int size=20 ); 140 void display( QString text, int size=20 );
143 void changeCursor(); 141 void changeCursor();
144 142
145signals: 143signals:
146 void died(); 144 void died();
147 void newPercent( int percent ); 145 void newPercent( int percent );
148 146
149public slots: 147public slots:
150 void start(); 148 void start();
151 void stop(); 149 void stop();
152 150
153protected slots: 151protected slots:
154 void tick(); 152 void tick();