source: trunk/tutorial/t13/cannon.h@ 81

Last change on this file since 81 was 2, checked in by dmik, 20 years ago

Imported xplatform parts of the official release 3.3.1 from Trolltech

  • Property svn:keywords set to Id
File size: 1.4 KB
Line 
1/****************************************************************
2**
3** Definition of CannonField class, Qt tutorial 13
4**
5****************************************************************/
6
7#ifndef CANNON_H
8#define CANNON_H
9
10class QTimer;
11
12
13#include <qwidget.h>
14
15
16class CannonField : public QWidget
17{
18 Q_OBJECT
19public:
20 CannonField( QWidget *parent=0, const char *name=0 );
21
22 int angle() const { return ang; }
23 int force() const { return f; }
24 bool gameOver() const { return gameEnded; }
25 bool isShooting() const;
26 QSizePolicy sizePolicy() const;
27
28public slots:
29 void setAngle( int degrees );
30 void setForce( int newton );
31 void shoot();
32 void newTarget();
33 void setGameOver();
34 void restartGame();
35
36private slots:
37 void moveShot();
38
39signals:
40 void hit();
41 void missed();
42 void angleChanged( int );
43 void forceChanged( int );
44 void canShoot( bool );
45
46protected:
47 void paintEvent( QPaintEvent * );
48
49private:
50 void paintShot( QPainter * );
51 void paintTarget( QPainter * );
52 void paintCannon( QPainter * );
53 QRect cannonRect() const;
54 QRect shotRect() const;
55 QRect targetRect() const;
56
57 int ang;
58 int f;
59
60 int timerCount;
61 QTimer * autoShootTimer;
62 float shoot_ang;
63 float shoot_f;
64
65 QPoint target;
66
67 bool gameEnded;
68};
69
70
71#endif // CANNON_H
Note: See TracBrowser for help on using the repository browser.