/* * KAsteroids - Copyright (c) Martin R. Jones 1997 * * Part of the KDE project */ #ifndef __KAST_TOPLEVEL_H__ #define __KAST_TOPLEVEL_H__ #include #include #include #include "view.h" class KALedMeter; class QLCDNumber; class KAstTopLevel : public QMainWindow { Q_OBJECT public: KAstTopLevel( QWidget *parent=0, const char *name=0 ); virtual ~KAstTopLevel(); private: void playSound( const char *snd ); void readSoundMapping(); void doStats(); protected: virtual void showEvent( QShowEvent * ); virtual void hideEvent( QHideEvent * ); virtual void keyPressEvent( QKeyEvent *event ); virtual void keyReleaseEvent( QKeyEvent *event ); private slots: void slotNewGame(); void slotShipKilled(); void slotRockHit( int size ); void slotRocksRemoved(); void slotUpdateVitals(); private: KAsteroidsView *view; QLCDNumber *scoreLCD; QLCDNumber *levelLCD; QLCDNumber *shipsLCD; QLCDNumber *teleportsLCD; // QLCDNumber *bombsLCD; QLCDNumber *brakesLCD; QLCDNumber *shieldLCD; QLCDNumber *shootLCD; KALedMeter *powerMeter; bool sound; QDict soundDict; // waiting for user to press Enter to launch a ship bool waitShip; bool isPaused; int shipsRemain; int score; int level; bool showHiscores; enum Action { Launch, Thrust, RotateLeft, RotateRight, Shoot, Teleport, Brake, Shield, Pause, NewGame }; QMap actions; }; #endif