freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于arm9的貪吃蛇游戲-文庫吧資料

2025-07-02 14:20本頁面
  

【正文】 rADCCON amp。}int GetADresult ( int channel){ rADCCON = ADCCON_ENABLE_START_BYREAD | ( channel 3 )| PRSCEN | PRSCVL。 //定義 第二關(guān)游戲標志U8 flag2=0。 // 游戲用時BOOLEAN isRunning = 1。 // 得分U16 gamelevel = 1。 // 定義時間常量PDC pdc。 //需要增加的蛇長計數(shù)器const INT8U ReverseDir[4] = {1,0,3,2}。 // 定義節(jié)點類型的數(shù)組大小為游戲界面的長和款WorldNode *HeadNode,*TailNode,*CakeNode。 //畫方塊函數(shù)void RandCake ( void )。 //functions................. 函數(shù)聲明void UpdateNextNode ( struct WorldNode* xNode, enum Direction Dir )。 //坐標類型的變量 struct WorldNode* Next。 //方向類型的變量 enum Direction PreDir。 // 布爾型變量 enum WN_Type Type。enum Direction { Up = 0,Down = 1,Left = 2,Right = 3}。}。 //定義游戲運行信號量define W_XSize 32 // 游戲屏幕的寬度define W_YSize 21 // 游戲屏幕的高度define CakeLength 3 // 定義每次吃個食物蛇長增加3//defs......................struct Pt //定義坐標變量{ INT8U x。 //snake_Test_Taskdefine Snake_Task_Prio 16/*************已經(jīng)定義的OS任務(wù)*************define SYS_Task_Prio 1 // 系統(tǒng)任務(wù)define Touch_Screen_Task_Prio 9 // 觸摸屏任務(wù)define Main_Task_Prio 12 // 主任務(wù)define Snake Stack_Prio 16 // 游戲任務(wù)define Key_Scan_Task_Prio 58 // 按鍵掃描任務(wù)define Lcd_Fresh_prio 59 // 液晶屏刷新任務(wù)define Led_Flash_Prio 60 // 數(shù)碼管刷新任務(wù)**********************************************////*****************事件定義*****************///OS_EVENT *WorldSem。 //Main_Test_Taskdefine Main_Task_Prio 12OS_STK Snake_Stack [STACKSIZE] ={ 0, }。附錄程序代碼:/***************************************************************************\ Copyright (c) 20042007 threewater, All rights reserved. by threewter \***************************************************************************//***************************************************************************\ 說明: C main 函數(shù),ucosii初始化等定義 Bug TODO list 修正 2004512 創(chuàng)建\***************************************************************************/include../ucosii/ /* uC/OS interface */include ../ucosii/add/include ../inc/include ../ucosii/add/include ../inc/sys/include ../src/gui/include ../ucosii/add/include include include include pragma import (__use_no_semihosting_swi ) // ensure no functions that use semihosting ///******************任務(wù)定義***************///OS_STK Main_Stack [STACKSIZE] = {0, }。所以我們要思考討論簡單的程序,這樣簡單的方法更容易被人理解,更容易實現(xiàn),也更容易維護。養(yǎng)成良好的習慣,代碼的縮進編排,變量的命名規(guī)則要始終保持一致,這些都是提高我們編程的注意點。三人行必有我?guī)煟苍S在一次和別人不經(jīng)意的談話中,就可以迸出靈感的火花。豐富的想象力是建立在豐富的知識的基礎(chǔ)上,所以我們要通過多的途徑來幫助自己建立較豐富的知識結(jié)構(gòu)。在編程是我們要有豐富的想象力。解決方法:要準確計算出游戲邊框相對坐標原點的距離(像素點)。這是因為蛇移動時候所用的坐標原點和畫游戲界面所用的坐標原點不一樣,在判斷蛇是否超出邊框時要注意計算在新坐標原點下,邊框的位置,以便準確判斷出蛇是否超出游戲界面。解決方法:要優(yōu)化蛇控制程序,簡化程序過程。不足之處:(1)方向按鍵按下后,要有一定的延遲蛇才能對按鍵作出反應(yīng),這個延遲不是很明顯,但是剛開始游戲的時候,總感覺不能剛好控制蛇吃到食物,需要稍微提早一些時間按下按鍵才能讓蛇延目標方向移動。但是此部功能沒有實現(xiàn),實驗的時候程序能夠進入級別調(diào)整畫面,并等待用戶對游戲等級進行調(diào)整,但是“+”、“”按鍵和確認按鍵無效,沒辦法對游戲級別進行調(diào)整。將開發(fā)板上的Flash 激活并使Windows 認其為一個運行結(jié)果與不足: 本程序能夠完成設(shè)計目的的所有基本要求;(1)能夠通過方向鍵來控制蛇的移動方向;(2)蛇吃到食物后能夠重新出現(xiàn)食物;并且能夠更新和顯示分數(shù),時間;(3)每吃到5個食物后,游戲能夠自動進入下一關(guān),并能通過增加蛇的移動速度來增加游戲的難度;(4)能夠通過實驗箱上的旋鈕控制蛇的運行速度。注意:在進行調(diào)試時在ADS 中必須選擇當前工程的Debug 版本,如果選擇Release 版本則無法正常調(diào)試程序。(8)使用在Processor View 菜單下的Registers、Variables 和Memory 命令可以查看工作寄存器或者內(nèi)存變量。Run To Cursor 命令運行到光標位置。(6)通過Execute | Step 菜單(或者工具欄中的相應(yīng)按鈕)可以單步運行程序。(5)等待程序裝載完畢以后,通過Execute | Go 菜單以及Execute | Stop(或者工具欄中的相應(yīng)按鈕)運行或暫停程序。(4)點Select 按鈕選擇遠程連接為ARM ethernet driver,點Configure 按鈕輸入仿真器的IP 地址。(3)在AXD 中執(zhí)行菜單Options | Configure Target 對AXD 進行設(shè)置。如果某個源文件被修改,重新編譯時ADS 會自動同步各文件的日期信息。 } }四 程序下載與調(diào)試把程序下載到試驗箱中:(1)執(zhí)行菜單Project | Make 對工程進行編譯連接。 else { if (level==2) return 200 + lastData。 lastData = ADData**50/1023。 U16 lastData。OSTimeDly ( GetSpeed (gamelevel))。//刪除消息 } DestoryDC(pdc)。 break。 ) { pMsg = WaitMessage ( 0)。 //消息循環(huán) For ( 。 Pdc = CreateDC ()。//清屏 WorldSem = OSSemCreate (1)。void Main_Task ( void *Id ) { POSMSG pMsg=0。 DrawPoint ( CakeNode )。WorldArray[y][x]。 if( !WorldArray[y][x].isBlock ) break。 While (1) { X = rand () %W_XSize。本設(shè)計用一個矩形方框來代表食物,所以通過上面介紹的方法產(chǎn)生食物坐標后,對應(yīng)在該坐標的位置畫上一個矩形方框。 //new head5 食物的產(chǎn)生食物的產(chǎn)生主要要注意食物產(chǎn)生之前,我們必須要判斷畫面上面是已經(jīng)存在食物,如有已經(jīng)存在食物了,就不再產(chǎn)生食物,如果食物被蛇吃到了,那就要重新畫上食物。 HeadNode Next PreDir = HeadNode Dir。 //new tail } HeadNode Type = TP_SkBody。 TailNode Type = TP_SkTail。 DrawPoint ( TailNode )。 } else { TailNode Type= TP_Space。這時候蛇頭的屬性和第4節(jié)的屬性是一樣的,這時候需要判斷蛇的方向變量的值,根據(jù)蛇的方向變量的值補畫上蛇頭。例如剛開始蛇是5節(jié),這時候依次把第2四節(jié)的屬性給第1節(jié);把第3節(jié)(即蛇頭)的屬性給第2節(jié);把第4四節(jié)的屬性給第3節(jié);把第4節(jié)(即蛇頭)的屬性給第3節(jié);把第5節(jié)(即蛇頭)的屬性給第4節(jié)。//Hit a Block goto SnakeStep_End。(2)蛇頭撞到游戲界面邊框 判斷蛇是否撞到邊框的方法,只要比較蛇頭的屬性是不是同時邊框的屬性一樣,一樣的話,即表明蛇撞到邊框,游戲結(jié)束。 RandCake()。 else if (score==10) flag2=1。 if(HeadNodeType==TP_Cake) { score++。吃到食物后改變響應(yīng)的游戲參數(shù),并要讓蛇的節(jié)數(shù)多三節(jié),這時候要讓變量lenadd加3, 并且還要對蛇補畫上一節(jié),本設(shè)計采用補上蛇頭的方法,要注意根據(jù)此時蛇的運動方向來確定新蛇頭的坐標。 RandCake()。 UpdateNextNode(xNode,Left)。 xNodeisBlock=1。WorldArray[W_YSize/2][W_XSize/2+1]。 xNodePreDir=Left。 xNodeisBlock=1。WorldArray[W_YSize/2][W_XSize/2]。 xNodePreDir=Left。 HeadNode=xNode。 xNodeType=TP_SkHead。//Snake Head xNode=amp。 strChar2Unicode(text1,NO.:1000201036 Name:Chen ZhePing)。 MoveTo(pdc,420,440)。 MoveTo(pdc,220,440)。 MoveT
點擊復制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1