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

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

?? missile.c

?? 事件驅動程序設計很好的框架
?? C
字號:
/****************************************************************************** Product: "Fly'n'Shoot" game example* Last Updated for Version: 4.0.00* Date of the Last Update:  Apr 06, 2008**                    Q u a n t u m     L e a P s*                    ---------------------------*                    innovating embedded systems** Copyright (C) 2002-2008 Quantum Leaps, LLC. All rights reserved.** This software may be distributed and modified under the terms of the GNU* General Public License version 2 (GPL) as published by the Free Software* Foundation and appearing in the file GPL.TXT included in the packaging of* this file. Please note that GPL Section 2[b] requires that all works based* on this software must also be made publicly available under the terms of* the GPL ("Copyleft").** Alternatively, this software may be distributed and modified under the* terms of Quantum Leaps commercial licenses, which expressly supersede* the GPL and are specifically designed for licensees interested in* retaining the proprietary status of their code.** Contact information:* Quantum Leaps Web site:  http://www.quantum-leaps.com* e-mail:                  info@quantum-leaps.com*****************************************************************************/#include "qp_port.h"#include "bsp.h"#include "game.h"/* Q_DEFINE_THIS_FILE *//* local objects -----------------------------------------------------------*/typedef struct MissileTag {    QActive super;                              /* extend the QActive class */    uint8_t x;    uint8_t y;    uint8_t exp_ctr;} Missile;                                     /* the Missile active object */static QState Missile_initial  (Missile *me, QEvent const *e);static QState Missile_armed    (Missile *me, QEvent const *e);static QState Missile_flying   (Missile *me, QEvent const *e);static QState Missile_exploding(Missile *me, QEvent const *e);static Missile l_missile; /* the sole instance of the Missile active object *//* Public-scope objects ----------------------------------------------------*/QActive * const AO_Missile = (QActive *)&l_missile;       /* opaque pointer *//*..........................................................................*/void Missile_ctor(void) {    Missile *me = &l_missile;    QActive_ctor(&me->super, (QStateHandler)&Missile_initial);}/* HSM definition ----------------------------------------------------------*//*..........................................................................*/QState Missile_initial(Missile *me, QEvent const *e) {    (void)e;                  /* avoid the "unreferenced parameter" warning */    QActive_subscribe((QActive *)me, TIME_TICK_SIG);    QS_OBJ_DICTIONARY(&l_missile);  /* object dictionary for Missile object */    QS_FUN_DICTIONARY(&Missile_initial);    /* dictionaries for Missile HSM */    QS_FUN_DICTIONARY(&Missile_armed);    QS_FUN_DICTIONARY(&Missile_flying);    QS_FUN_DICTIONARY(&Missile_exploding);    QS_SIG_DICTIONARY(MISSILE_FIRE_SIG,   &l_missile);     /* local signals */    QS_SIG_DICTIONARY(HIT_WALL_SIG,       &l_missile);    QS_SIG_DICTIONARY(DESTROYED_MINE_SIG, &l_missile);    return Q_TRAN(&Missile_armed);}/*..........................................................................*/QState Missile_armed(Missile *me, QEvent const *e) {    switch (e->sig) {        case MISSILE_FIRE_SIG: {                                       /* initialize position from the Ship */            me->x = ((ObjectPosEvt const *)e)->x;            me->y = ((ObjectPosEvt const *)e)->y;            return Q_TRAN(&Missile_flying);        }    }    return Q_SUPER(&QHsm_top);}/*..........................................................................*/QState Missile_flying(Missile *me, QEvent const *e) {    switch (e->sig) {        case TIME_TICK_SIG: {            ObjectImageEvt *oie;            if (me->x + GAME_MISSILE_SPEED_X < GAME_SCREEN_WIDTH) {                me->x += GAME_MISSILE_SPEED_X;                /*tell the Tunnel to draw the Missile and test for wall hits*/                oie = Q_NEW(ObjectImageEvt, MISSILE_IMG_SIG);                oie->x   = me->x;                oie->y   = me->y;                oie->bmp = MISSILE_BMP;                QActive_postFIFO(AO_Tunnel, (QEvent *)oie);            }            else { /* Missile outside the range, make it ready to fire again*/                return Q_TRAN(&Missile_armed);            }            return Q_HANDLED();        }        case HIT_WALL_SIG: {            return Q_TRAN(&Missile_exploding);        }        case DESTROYED_MINE_SIG: {            /* tell the Ship the score for destroing this Mine */            QActive_postFIFO(AO_Ship, e);            /* re-arm immediately & let the destroyed Mine do the exploding */            return Q_TRAN(&Missile_armed);        }    }    return Q_SUPER(&QHsm_top);}/*..........................................................................*/QState Missile_exploding(Missile *me, QEvent const *e) {    switch (e->sig) {        case Q_ENTRY_SIG: {            me->exp_ctr = 0;            return Q_HANDLED();        }        case TIME_TICK_SIG: {            if ((me->x >= GAME_SPEED_X) && (me->exp_ctr < 15)) {                ObjectImageEvt *oie;                ++me->exp_ctr;             /* advance the explosion counter */                me->x -= GAME_SPEED_X;    /* move the explosion by one step */                /* tell the Tunnel to render the current stage of Explosion */                oie = Q_NEW(ObjectImageEvt, EXPLOSION_SIG);                oie->x   = me->x + 3;                 /* x-pos of explosion */                oie->y   = (int8_t)((int)me->y - 4);               /* y-pos */                oie->bmp = EXPLOSION0_BMP + (me->exp_ctr >> 2);                QActive_postFIFO(AO_Tunnel, (QEvent *)oie);            }            else {          /* explosion finished or moved outside the game */                return Q_TRAN(&Missile_armed);            }            return Q_HANDLED();        }    }    return Q_SUPER(&QHsm_top);}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久99深爱久久99精品| 色天天综合色天天久久| 99在线视频精品| 91精品一区二区三区久久久久久| 国产欧美综合在线| 日韩精品电影在线观看| 一本色道久久综合狠狠躁的推荐| 日韩精品资源二区在线| 亚洲精品成人a在线观看| 岛国精品一区二区| 日韩精品中文字幕在线一区| 尤物在线观看一区| 成人高清视频免费观看| 欧美电影免费观看高清完整版在| 亚洲综合久久久| eeuss鲁片一区二区三区在线观看| 精品欧美一区二区久久| 亚洲线精品一区二区三区| 成人黄页毛片网站| 国产亚洲短视频| 精品中文字幕一区二区小辣椒| 欧美自拍偷拍午夜视频| 亚洲美女免费视频| 91在线看国产| 中文字幕中文在线不卡住| 国产成人亚洲综合色影视| 日韩精品专区在线影院重磅| 日本怡春院一区二区| 欧美久久高跟鞋激| 日本vs亚洲vs韩国一区三区二区 | 国产一区二区中文字幕| 91麻豆精品国产综合久久久久久 | 免费在线看成人av| 日韩视频在线观看一区二区| 日日夜夜免费精品| 日韩午夜精品视频| 国模一区二区三区白浆| 精品电影一区二区| 国产精品影音先锋| 国产精品蜜臀在线观看| 91老师片黄在线观看| 亚洲人成亚洲人成在线观看图片 | 国产成人精品三级| 国产精品每日更新| 91污在线观看| 亚洲福利视频导航| 日韩欧美在线一区二区三区| 精品写真视频在线观看| 国产欧美一区二区精品久导航| 高清在线不卡av| 亚洲国产欧美在线| 精品国产一区二区三区久久影院| 国精品**一区二区三区在线蜜桃| 久久午夜电影网| 不卡的看片网站| 亚洲一二三级电影| 欧美r级在线观看| 成人妖精视频yjsp地址| 亚洲精品欧美二区三区中文字幕| 欧美日韩综合不卡| 国产一区二区三区av电影| 中文字幕欧美一区| 欧美日韩国产美| 国产成人综合在线| 亚洲第一会所有码转帖| 26uuu国产日韩综合| 色婷婷狠狠综合| 九九视频精品免费| 一区二区三区在线免费视频| 日韩欧美另类在线| 不卡一卡二卡三乱码免费网站| 亚洲一区二区成人在线观看| 欧美精品一区二| 一本久久a久久免费精品不卡| 丝瓜av网站精品一区二区| 欧美激情中文字幕| 欧美日韩高清一区| 成人黄色网址在线观看| 日韩高清欧美激情| 亚洲日本va在线观看| 精品三级av在线| 91福利精品视频| 国产精品一区二区果冻传媒| 偷拍自拍另类欧美| 亚洲日本在线a| 欧美国产一区在线| 日韩情涩欧美日韩视频| 91电影在线观看| 丁香婷婷综合激情五月色| 日本不卡不码高清免费观看| 亚洲免费av在线| 中文字幕日韩av资源站| 精品成人一区二区三区四区| 5858s免费视频成人| 欧美在线观看你懂的| 国产成人综合网| 精彩视频一区二区三区| 天天av天天翘天天综合网色鬼国产 | 一二三区精品视频| 中文字幕视频一区二区三区久| 2021久久国产精品不只是精品| 欧美日韩视频在线一区二区| 91天堂素人约啪| 成人免费视频caoporn| 国产精品小仙女| 国产精品99久久久久久有的能看 | 欧美tickling挠脚心丨vk| 欧美精品久久天天躁| 欧洲中文字幕精品| 在线观看国产一区二区| 99久久精品久久久久久清纯| 成人中文字幕合集| 成人18精品视频| 99国产精品一区| 91色porny在线视频| 91精品1区2区| 欧美三级一区二区| 欧美乱熟臀69xxxxxx| 制服丝袜中文字幕一区| 日韩欧美第一区| wwww国产精品欧美| 中文字幕av一区 二区| 国产精品网曝门| 亚洲视频一二三| 亚洲二区视频在线| 蜜桃传媒麻豆第一区在线观看| 蜜臀99久久精品久久久久久软件| 九色综合狠狠综合久久| 国产成人午夜精品影院观看视频| 成人在线综合网站| 色哟哟精品一区| 在线播放一区二区三区| 精品免费日韩av| 欧美国产97人人爽人人喊| 成人免费小视频| 无码av免费一区二区三区试看 | 精品国产一区二区三区久久久蜜月| 日韩欧美一区二区不卡| 久久亚洲综合av| 国产精品高清亚洲| 亚洲成a天堂v人片| 国产在线观看免费一区| gogo大胆日本视频一区| 欧美优质美女网站| 精品久久久久久久久久久久包黑料| 久久久不卡影院| 亚洲日穴在线视频| 久久激情五月婷婷| 91视频国产观看| 日韩一区二区免费电影| 中文字幕的久久| 天堂在线亚洲视频| 国产69精品久久久久毛片| 在线视频综合导航| 久久精品亚洲精品国产欧美| 亚洲影视在线播放| 国产精品资源在线看| 欧美三级午夜理伦三级中视频| 久久综合九色欧美综合狠狠| 亚洲色图制服丝袜| 久久97超碰色| 色婷婷综合五月| 久久久久久亚洲综合| 一区二区三区视频在线看| 国模娜娜一区二区三区| 欧美日韩中文字幕精品| 国产精品久久久久婷婷| 麻豆精品视频在线| 91福利在线看| 国产精品久久久久久久久搜平片| 日本午夜一本久久久综合| 99久久久免费精品国产一区二区| 欧美一区二区三区在线看| 亚洲欧美日韩小说| 成人深夜在线观看| 精品国产麻豆免费人成网站| 午夜精品久久久久久久99水蜜桃 | 国产黄色91视频| 日韩亚洲欧美中文三级| 午夜欧美大尺度福利影院在线看| 成人免费va视频| 精品国产免费人成电影在线观看四季| 亚洲第一在线综合网站| 在线一区二区三区做爰视频网站| 久久久不卡网国产精品二区| 人禽交欧美网站| 欧美日韩国产经典色站一区二区三区 | 一区二区三区不卡在线观看 | 欧美一区二区久久久| 亚洲自拍偷拍麻豆| 91日韩一区二区三区| 国产精品久久久久久久久搜平片 | 国产在线精品一区二区| 日韩一卡二卡三卡| 亚洲国产中文字幕在线视频综合 | 91片在线免费观看| 亚洲女人小视频在线观看| 91视频国产观看| 亚洲精品免费视频| 欧美唯美清纯偷拍|