You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
58 lines
1.0 KiB
58 lines
1.0 KiB
/****************************************************************
|
|
**
|
|
** Definition of CannonField class, Qt tutorial 11
|
|
**
|
|
****************************************************************/
|
|
|
|
#ifndef CANNON_H
|
|
#define CANNON_H
|
|
|
|
class QTimer;
|
|
|
|
|
|
#include <qwidget.h>
|
|
|
|
|
|
class CannonField : public QWidget
|
|
{
|
|
Q_OBJECT
|
|
public:
|
|
CannonField( QWidget *parent=0, const char *name=0 );
|
|
|
|
int angle() const { return ang; }
|
|
int force() const { return f; }
|
|
QSizePolicy sizePolicy() const;
|
|
|
|
public slots:
|
|
void setAngle( int degrees );
|
|
void setForce( int newton );
|
|
void shoot();
|
|
|
|
private slots:
|
|
void moveShot();
|
|
|
|
signals:
|
|
void angleChanged( int );
|
|
void forceChanged( int );
|
|
|
|
protected:
|
|
void paintEvent( QPaintEvent * );
|
|
|
|
private:
|
|
void paintShot( QPainter * );
|
|
void paintCannon( QPainter * );
|
|
QRect cannonRect() const;
|
|
QRect shotRect() const;
|
|
|
|
int ang;
|
|
int f;
|
|
|
|
int timerCount;
|
|
QTimer * autoShootTimer;
|
|
float shoot_ang;
|
|
float shoot_f;
|
|
};
|
|
|
|
|
|
#endif // CANNON_H
|