gamescence.h 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. #ifndef GAMESCENCE_H
  2. #define GAMESCENCE_H
  3. #include "gamemap.h"
  4. #include <QAudioInput>
  5. #include <QDir>
  6. #include <QKeyEvent>
  7. #include <QPainter>
  8. #include <QSettings>
  9. #include <QSound>
  10. #include <QSoundEffect>
  11. #include <QStandardPaths>
  12. #include <QTimer>
  13. #include <QWidget>
  14. #include <QtDebug>
  15. namespace Ui {
  16. class GameScence;
  17. }
  18. enum MoveDirection {
  19. MvLeft,
  20. MvRight,
  21. MvUp,
  22. MvDown
  23. };
  24. class GameMap;
  25. class GameScence : public QWidget {
  26. Q_OBJECT
  27. public:
  28. explicit GameScence(QWidget* parent = nullptr);
  29. ~GameScence();
  30. GameMap* gameMap() const;
  31. void setGameMap(GameMap* gameMap);
  32. void paintEvent(QPaintEvent* event);
  33. void keyPressEvent(QKeyEvent* event);
  34. void mouseMoveEvent(QMouseEvent* event);
  35. QSoundEffect* backgroundMusic() const;
  36. void setBackgroundMusic(QSoundEffect* backgroundMusic);
  37. QSoundEffect* failedMusic() const;
  38. void setFailedMusic(QSoundEffect* failedMusic);
  39. QSoundEffect* successedMusic() const;
  40. void setSuccessedMusic(QSoundEffect* successedMusic);
  41. void startTimer();
  42. int level();
  43. void setLevel(int level);
  44. QPixmap buttonPix() const;
  45. void setButtonPix(const QPixmap& buttonPix);
  46. QPixmap buttonDownPix() const;
  47. void setButtonDownPix(const QPixmap& buttonDownPix);
  48. void mousePressEvent(QMouseEvent* event);
  49. void mouseReleaseEvent(QMouseEvent* event);
  50. public slots:
  51. void timeout();
  52. private:
  53. Ui::GameScence* ui;
  54. GameMap* m_gameMap;
  55. QTimer* m_tmr;
  56. QSoundEffect* m_backgroundMusic;
  57. QSoundEffect* m_failedMusic;
  58. QSoundEffect* m_successedMusic;
  59. int m_level;
  60. QRect m_leftRect;
  61. QRect m_upRect;
  62. QRect m_rightRect;
  63. QRect m_downRect;
  64. QPixmap m_buttonPix;
  65. QPixmap m_buttonDownPix;
  66. bool m_buttondownFlag;
  67. };
  68. #endif // GAMESCENCE_H