cannon.h
来自「一大堆的qt程序,在qte2.3.7下全部可以很好地运行」· C头文件 代码 · 共 80 行
H
80 行
/******************************************************************** Definition of CannonField class, Qt tutorial 14******************************************************************/#ifndef CANNON_H#define CANNON_Hclass QTimer;#include <qwidget.h>class CannonField : public QWidget{ Q_OBJECTpublic: CannonField( QWidget *parent=0, const char *name=0 ); int angle() const { return ang; } int force() const { return f; } bool gameOver() const { return gameEnded; } bool isShooting() const; QSize sizeHint() const; QSizePolicy sizePolicy() const;public slots: void setAngle( int degrees ); void setForce( int newton ); void shoot(); void newTarget(); void setGameOver(); void restartGame();private slots: void moveShot();signals: void hit(); void missed(); void angleChanged( int ); void forceChanged( int ); void canShoot( bool );protected: void paintEvent( QPaintEvent * ); void mousePressEvent( QMouseEvent * ); void mouseMoveEvent( QMouseEvent * ); void mouseReleaseEvent( QMouseEvent * );private: void paintShot( QPainter * ); void paintTarget( QPainter * ); void paintBarrier( QPainter * ); void paintCannon( QPainter * ); QRect cannonRect() const; QRect shotRect() const; QRect targetRect() const; QRect barrierRect() const; bool barrelHit( const QPoint & ) const; int ang; int f; int timerCount; QTimer * autoShootTimer; float shoot_ang; float shoot_f; QPoint target; bool gameEnded; bool barrelPressed;};#endif // CANNON_H
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?