/********************************************************************** ** Copyright (C) 2000 Trolltech AS. All rights reserved. ** ** This file is part of Qtopia Environment. ** ** This file may be distributed and/or modified under the terms of the ** GNU General Public License version 2 as published by the Free Software ** Foundation and appearing in the file LICENSE.GPL included in the ** packaging of this file. ** ** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE ** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. ** ** See http://www.trolltech.com/gpl/ for GPL licensing information. ** ** Contact info@trolltech.com if any conditions of this licensing are ** not clear to you. ** **********************************************************************//* * 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, WFlags fl = 0 ); virtual ~KAstTopLevel(); static QString appName() { return QString::fromLatin1("qasteroids"); } 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 ); virtual void focusInEvent( QFocusEvent *event ); virtual void focusOutEvent( QFocusEvent *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