亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? toplevel.cpp

?? Linux下的基于X11的圖形開發環境。
?? CPP
字號:
/* * KAsteroids - Copyright (c) Martin R. Jones 1997 * * Part of the KDE project *///	--- toplevel.cpp ---#include <qaccel.h>#include <qlabel.h>#include <qlayout.h>#include <qlcdnumber.h>#include <qpushbutton.h>#include <qapplication.h>#include "toplevel.h"#include "ledmeter.h"#define SB_SCORE	1#define SB_LEVEL	2#define SB_SHIPS	3struct SLevel{    int    nrocks;    double rockSpeed;};#define MAX_LEVELS	16SLevel levels[MAX_LEVELS] ={    { 1, 0.4 },    { 1, 0.6 },    { 2, 0.5 },    { 2, 0.7 },    { 2, 0.8 },    { 3, 0.6 },    { 3, 0.7 },    { 3, 0.8 },    { 4, 0.6 },    { 4, 0.7 },    { 4, 0.8 },    { 5, 0.7 },    { 5, 0.8 },    { 5, 0.9 },    { 5, 1.0 }};const char *soundEvents[] ={    "ShipDestroyed",    "RockDestroyed",    0};const char *soundDefaults[] ={    "Explosion.wav",    "ploop.wav",    0};KAstTopLevel::KAstTopLevel( QWidget *parent, const char *name )    : QMainWindow( parent, name ){    QWidget *border = new QWidget( this );    border->setBackgroundColor( black );    setCentralWidget( border );    QVBoxLayout *borderLayout = new QVBoxLayout( border );    borderLayout->addStretch( 1 );    QWidget *mainWin = new QWidget( border );    mainWin->setFixedSize(640, 480);    borderLayout->addWidget( mainWin, 0, AlignHCenter );    borderLayout->addStretch( 1 );    view = new KAsteroidsView( mainWin );    view->setFocusPolicy( StrongFocus );    connect( view, SIGNAL( shipKilled() ), SLOT( slotShipKilled() ) );    connect( view, SIGNAL( rockHit(int) ), SLOT( slotRockHit(int) ) );    connect( view, SIGNAL( rocksRemoved() ), SLOT( slotRocksRemoved() ) );    connect( view, SIGNAL( updateVitals() ), SLOT( slotUpdateVitals() ) );    QVBoxLayout *vb = new QVBoxLayout( mainWin );    QHBoxLayout *hb = new QHBoxLayout;    QHBoxLayout *hbd = new QHBoxLayout;    vb->addLayout( hb );    QFont labelFont( "helvetica", 24 );    QColorGroup grp( darkGreen, black, QColor( 128, 128, 128 ),	    QColor( 64, 64, 64 ), black, darkGreen, black );    QPalette pal( grp, grp, grp );    mainWin->setPalette( pal );    hb->addSpacing( 10 );    QLabel *label;    label = new QLabel( tr("Score"), mainWin );    label->setFont( labelFont );    label->setPalette( pal );    label->setFixedWidth( label->sizeHint().width() );    hb->addWidget( label );    scoreLCD = new QLCDNumber( 6, mainWin );    scoreLCD->setFrameStyle( QFrame::NoFrame );    scoreLCD->setSegmentStyle( QLCDNumber::Flat );    scoreLCD->setFixedWidth( 150 );    scoreLCD->setPalette( pal );    hb->addWidget( scoreLCD );    hb->addStretch( 10 );    label = new QLabel( tr("Level"), mainWin );    label->setFont( labelFont );    label->setPalette( pal );    label->setFixedWidth( label->sizeHint().width() );    hb->addWidget( label );    levelLCD = new QLCDNumber( 2, mainWin );    levelLCD->setFrameStyle( QFrame::NoFrame );    levelLCD->setSegmentStyle( QLCDNumber::Flat );    levelLCD->setFixedWidth( 70 );    levelLCD->setPalette( pal );    hb->addWidget( levelLCD );    hb->addStretch( 10 );    label = new QLabel( tr("Ships"), mainWin );    label->setFont( labelFont );    label->setFixedWidth( label->sizeHint().width() );    label->setPalette( pal );    hb->addWidget( label );    shipsLCD = new QLCDNumber( 1, mainWin );    shipsLCD->setFrameStyle( QFrame::NoFrame );    shipsLCD->setSegmentStyle( QLCDNumber::Flat );    shipsLCD->setFixedWidth( 40 );    shipsLCD->setPalette( pal );    hb->addWidget( shipsLCD );    hb->addStrut( 30 );    vb->addWidget( view, 10 );// -- bottom layout:    vb->addLayout( hbd );    QFont smallFont( "helvetica", 14 );    hbd->addSpacing( 10 );    QString sprites_prefix = "qasteroids/sprites/";/*    label = new QLabel( tr( "T" ), mainWin );    label->setFont( smallFont );    label->setFixedWidth( label->sizeHint().width() );    label->setPalette( pal );    hbd->addWidget( label );    teleportsLCD = new QLCDNumber( 1, mainWin );    teleportsLCD->setFrameStyle( QFrame::NoFrame );    teleportsLCD->setSegmentStyle( QLCDNumber::Flat );    teleportsLCD->setPalette( pal );    teleportsLCD->setFixedHeight( 20 );    hbd->addWidget( teleportsLCD );    hbd->addSpacing( 10 );*/    QPixmap pm( sprites_prefix + "powerups/brake.png" );    label = new QLabel( mainWin );    label->setPixmap( pm );    label->setFixedWidth( label->sizeHint().width() );    label->setPalette( pal );    hbd->addWidget( label );    brakesLCD = new QLCDNumber( 1, mainWin );    brakesLCD->setFrameStyle( QFrame::NoFrame );    brakesLCD->setSegmentStyle( QLCDNumber::Flat );    brakesLCD->setPalette( pal );    brakesLCD->setFixedHeight( 20 );    hbd->addWidget( brakesLCD );    hbd->addSpacing( 10 );    pm.load( sprites_prefix + "powerups/shield.png" );    label = new QLabel( mainWin );    label->setPixmap( pm );    label->setFixedWidth( label->sizeHint().width() );    label->setPalette( pal );    hbd->addWidget( label );    shieldLCD = new QLCDNumber( 1, mainWin );    shieldLCD->setFrameStyle( QFrame::NoFrame );    shieldLCD->setSegmentStyle( QLCDNumber::Flat );    shieldLCD->setPalette( pal );    shieldLCD->setFixedHeight( 20 );    hbd->addWidget( shieldLCD );    hbd->addSpacing( 10 );    pm.load( sprites_prefix + "powerups/shoot.png" );    label = new QLabel( mainWin );    label->setPixmap( pm );    label->setFixedWidth( label->sizeHint().width() );    label->setPalette( pal );    hbd->addWidget( label );    shootLCD = new QLCDNumber( 1, mainWin );    shootLCD->setFrameStyle( QFrame::NoFrame );    shootLCD->setSegmentStyle( QLCDNumber::Flat );    shootLCD->setPalette( pal );    shootLCD->setFixedHeight( 20 );    hbd->addWidget( shootLCD );    hbd->addStretch( 1 );    label = new QLabel( tr( "Fuel" ), mainWin );    label->setFont( smallFont );    label->setFixedWidth( label->sizeHint().width() + 10 );    label->setPalette( pal );    hbd->addWidget( label );    powerMeter = new KALedMeter( mainWin );    powerMeter->setFrameStyle( QFrame::Box | QFrame::Plain );    powerMeter->setRange( MAX_POWER_LEVEL );    powerMeter->addColorRange( 10, darkRed );    powerMeter->addColorRange( 20, QColor(160, 96, 0) );    powerMeter->addColorRange( 70, darkGreen );    powerMeter->setCount( 40 );    powerMeter->setPalette( pal );    powerMeter->setFixedSize( 200, 12 );    hbd->addWidget( powerMeter );    shipsRemain = 3;    showHiscores = FALSE;    actions.insert( Qt::Key_Up, Thrust );    actions.insert( Qt::Key_Left, RotateLeft );    actions.insert( Qt::Key_Right, RotateRight );    actions.insert( Qt::Key_Space, Shoot );    actions.insert( Qt::Key_Z, Teleport );    actions.insert( Qt::Key_X, Brake );    actions.insert( Qt::Key_S, Shield );    actions.insert( Qt::Key_P, Pause );    actions.insert( Qt::Key_L, Launch );    actions.insert( Qt::Key_N, NewGame );    view->showText( tr( "Press N to start playing" ), yellow );}KAstTopLevel::~KAstTopLevel(){}void KAstTopLevel::playSound( const char * ){}void KAstTopLevel::keyPressEvent( QKeyEvent *event ){    if ( event->isAutoRepeat() || !actions.contains( event->key() ) )    {        event->ignore();        return;    }    Action a = actions[ event->key() ];    switch ( a )    {        case RotateLeft:            view->rotateLeft( TRUE );            break;        case RotateRight:            view->rotateRight( TRUE );            break;        case Thrust:            view->thrust( TRUE );            break;        case Shoot:            view->shoot( TRUE );            break;        case Shield:            view->setShield( TRUE );            break;        case Teleport:            view->teleport( TRUE );            break;        case Brake:            view->brake( TRUE );            break;        default:            event->ignore();            return;    }    event->accept();}void KAstTopLevel::keyReleaseEvent( QKeyEvent *event ){    if ( event->isAutoRepeat() || !actions.contains( event->key() ) )    {        event->ignore();        return;    }    Action a = actions[ event->key() ];    switch ( a )    {        case RotateLeft:            view->rotateLeft( FALSE );            break;        case RotateRight:            view->rotateRight( FALSE );            break;        case Thrust:            view->thrust( FALSE );            break;        case Shoot:            view->shoot( FALSE );            break;        case Brake:            view->brake( FALSE );            break;        case Shield:            view->setShield( FALSE );            break;        case Teleport:            view->teleport( FALSE );            break;        case Launch:            if ( waitShip )            {                view->newShip();                waitShip = FALSE;                view->hideText();            }            else            {                event->ignore();                return;            }            break;		case NewGame:	    slotNewGame();	    break;/*        case Pause:            {                view->pause( TRUE );                QMessageBox::information( this,                                          tr("KAsteroids is paused"),                                          tr("Paused") );                view->pause( FALSE );            }            break;*/        default:            event->ignore();            return;    }    event->accept();}void KAstTopLevel::showEvent( QShowEvent *e ){    QMainWindow::showEvent( e );    view->pause( FALSE );    view->setFocus();}void KAstTopLevel::hideEvent( QHideEvent *e ){    QMainWindow::hideEvent( e );    view->pause( TRUE );}void KAstTopLevel::slotNewGame(){    score = 0;    shipsRemain = SB_SHIPS;    scoreLCD->display( 0 );    level = 0;    levelLCD->display( level+1 );    shipsLCD->display( shipsRemain-1 );    view->newGame();    view->setRockSpeed( levels[0].rockSpeed );    view->addRocks( levels[0].nrocks );//    view->showText( tr( "Press L to launch." ), yellow );    view->newShip();    waitShip = FALSE;    view->hideText();    isPaused = FALSE;}void KAstTopLevel::slotShipKilled(){    shipsRemain--;    shipsLCD->display( shipsRemain-1 );    playSound( "ShipDestroyed" );    if ( shipsRemain )    {        waitShip = TRUE;        view->showText( tr( "Ship Destroyed. Press L to launch."), yellow );    }    else    {        view->showText( tr("Game Over!"), red );        view->endGame();	doStats();//        highscore->addEntry( score, level, showHiscores );    }}void KAstTopLevel::slotRockHit( int size ){    switch ( size )    {	case 0:	    score += 10;	     break;	case 1:	    score += 20;	    break;	default:	    score += 40;      }    playSound( "RockDestroyed" );    scoreLCD->display( score );}void KAstTopLevel::slotRocksRemoved(){    level++;    if ( level >= MAX_LEVELS )	level = MAX_LEVELS - 1;    view->setRockSpeed( levels[level-1].rockSpeed );    view->addRocks( levels[level-1].nrocks );    levelLCD->display( level+1 );}void KAstTopLevel::doStats(){    QString r( "0.00" );    if ( view->shots() )	 r = QString::number( (double)view->hits() / view->shots() * 100.0,			     'g', 2 );/* multi-line text broken in Qt 3    QString s = tr( "Game Over\n\nShots fired:\t%1\n  Hit:\t%2\n  Missed:\t%3\nHit ratio:\t%4 %\n\nPress N for a new game" )      .arg(view->shots()).arg(view->hits())      .arg(view->shots() - view->hits())      .arg(r);*/    view->showText( "Game Over.   Press N for a new game.", yellow, FALSE );}void KAstTopLevel::slotUpdateVitals(){    brakesLCD->display( view->brakeCount() );    shieldLCD->display( view->shieldCount() );    shootLCD->display( view->shootCount() );//    teleportsLCD->display( view->teleportCount() );    powerMeter->setValue( view->power() );}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
美女视频黄 久久| 欧美午夜寂寞影院| 色老汉一区二区三区| 欧美不卡一区二区三区四区| 亚洲欧美一区二区在线观看| 琪琪一区二区三区| 欧美日韩亚洲丝袜制服| 国产精品美女久久久久aⅴ| 琪琪一区二区三区| 欧美日韩国产另类不卡| 亚洲三级在线观看| 国产.欧美.日韩| 久久久一区二区| 免费视频最近日韩| 欧美日韩一区三区四区| 亚洲欧美一区二区三区孕妇| 国产成人免费视频网站高清观看视频 | 视频一区国产视频| 97se亚洲国产综合自在线不卡| 国产日韩成人精品| 国产精品一色哟哟哟| 欧美大片顶级少妇| 久久国产乱子精品免费女| 欧美一区二区久久久| 性做久久久久久免费观看 | 亚洲私人影院在线观看| 成人久久18免费网站麻豆| 国产欧美精品一区aⅴ影院| 国产一区免费电影| 国产日韩欧美综合一区| 高清成人在线观看| 中文子幕无线码一区tr| 成人av网站免费| 日韩毛片一二三区| 色综合久久88色综合天天免费| 成人欧美一区二区三区小说| 91女厕偷拍女厕偷拍高清| 亚洲精品视频在线观看网站| 欧美性猛交xxxx黑人交| 午夜激情综合网| 日韩欧美国产麻豆| 国产一区二区在线观看免费| 国产视频一区在线观看| 成人激情文学综合网| 亚洲免费观看在线观看| 欧美日韩一区二区三区高清| 日本成人在线看| 国产亚洲精品bt天堂精选| 成人免费黄色大片| 亚洲最大成人综合| 欧美一级专区免费大片| 国产一区二区在线免费观看| 国产精品美女久久久久久| 在线观看日韩电影| 日韩精品福利网| 欧美韩日一区二区三区| aaa欧美日韩| 日本不卡123| 中文字幕免费不卡| 欧美人妇做爰xxxⅹ性高电影| 日韩国产欧美在线播放| 亚洲国产成人在线| 欧美高清视频一二三区 | 亚洲女人的天堂| 欧美高清dvd| 粉嫩欧美一区二区三区高清影视 | 久久久久久久久久久99999| 成人黄色国产精品网站大全在线免费观看| 亚洲欧美色图小说| 日韩精品一区二区在线| 成人h版在线观看| 视频一区二区国产| 国产欧美1区2区3区| 欧美在线免费视屏| 国产成人精品影视| 亚洲成a人片在线观看中文| 久久久欧美精品sm网站| 欧美日韩你懂的| 成人高清视频在线| 青青草97国产精品免费观看无弹窗版 | 一卡二卡欧美日韩| 久久免费午夜影院| 91精品国产综合久久久久| jizzjizzjizz欧美| 久久se精品一区精品二区| 亚洲激情男女视频| 国产欧美一区二区精品秋霞影院 | 久久精品网站免费观看| 欧美美女网站色| 91在线国内视频| 国产99久久久精品| 国产一区二区三区日韩| 视频一区视频二区中文| 亚洲国产精品精华液网站| 日韩理论片中文av| 国产精品色在线| 中文字幕免费在线观看视频一区| 欧美videos中文字幕| 777色狠狠一区二区三区| 在线免费av一区| 一本一道波多野结衣一区二区| 国产精品影视在线观看| 国产一区二区三区最好精华液| 秋霞成人午夜伦在线观看| 亚洲v日本v欧美v久久精品| 一区二区高清视频在线观看| 亚洲欧洲色图综合| 亚洲图片激情小说| 最新欧美精品一区二区三区| 国产精品私人影院| 中文字幕五月欧美| 中文字幕在线不卡国产视频| 国产精品丝袜一区| 日韩美女久久久| 一区二区激情视频| 亚洲va欧美va人人爽午夜| 亚洲国产一区视频| 婷婷成人激情在线网| 丝袜亚洲另类欧美| 日本一区中文字幕| 国内成人免费视频| 国产成人精品亚洲午夜麻豆| 国产传媒一区在线| 99久久夜色精品国产网站| 成人午夜电影网站| 91丨porny丨国产| 精品污污网站免费看| 日韩一级成人av| 亚洲国产精品激情在线观看 | 久久久久9999亚洲精品| 国产精品三级av| 亚洲最大成人综合| 六月丁香婷婷色狠狠久久| 国产成人精品免费一区二区| 99久久伊人精品| 91精品国产入口| 国产亚洲综合色| 亚洲男同1069视频| 免费观看在线色综合| 国产精品影视天天线| 色诱亚洲精品久久久久久| 欧美电影一区二区三区| 日韩欧美国产综合一区 | 国产午夜精品一区二区三区嫩草| 国产日本欧洲亚洲| 亚洲午夜羞羞片| 久久不见久久见免费视频1| 99久久精品国产毛片| 欧美美女视频在线观看| 国产欧美日韩精品在线| 亚洲国产乱码最新视频| 久久福利资源站| 在线看不卡av| 欧美极品aⅴ影院| 日本免费在线视频不卡一不卡二| 懂色av噜噜一区二区三区av| 在线播放中文字幕一区| 中文字幕在线不卡一区二区三区| 日本色综合中文字幕| 99视频精品全部免费在线| 亚洲精品一区二区三区蜜桃下载 | 亚洲影院在线观看| 国产精品99久久久| 在线成人免费视频| 亚洲欧美一区二区三区久本道91 | 国产亚洲女人久久久久毛片| 日日欢夜夜爽一区| av亚洲精华国产精华精华| 欧美tickling挠脚心丨vk| 亚洲国产成人av网| 91亚洲午夜精品久久久久久| 欧美一级黄色录像| 亚洲一区二区三区自拍| 福利电影一区二区| 日韩精品在线一区| 香蕉影视欧美成人| av中文字幕不卡| 国产三级精品三级| 国产真实乱偷精品视频免| 欧美一区二区三区在线| 亚洲小说欧美激情另类| 91丨porny丨首页| 国产精品大尺度| 丰满少妇在线播放bd日韩电影| 日韩一二三四区| 蜜臀久久99精品久久久久宅男| 欧美日韩精品欧美日韩精品一 | 久久电影国产免费久久电影| 欧美日韩国产精品自在自线| 一区二区三区日韩精品| 99久久精品久久久久久清纯| 国产精品网曝门| 岛国精品在线播放| 中文字幕欧美区| 99视频精品在线| 自拍偷拍国产亚洲| 在线中文字幕不卡| 亚洲不卡av一区二区三区| 欧美日韩精品免费观看视频| 偷拍自拍另类欧美|