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

正文內(nèi)容

基于單片機(jī)實現(xiàn)的俄羅斯方塊游戲畢業(yè)論文-資料下載頁

2024-11-07 21:34本頁面

【導(dǎo)讀】程,并通過Proteus來進(jìn)行仿真。分;消除多行額外獎勵記分,方塊堆滿時結(jié)束游戲等俄羅斯方塊的基本功能。在手持娛樂設(shè)備上的應(yīng)用具有非常大的潛力,它能將其帶入到一個新的階段。口來實現(xiàn)畫面在液晶上面的顯示。能用編程語言的形式來實現(xiàn)。然后通過Protues仿真實現(xiàn)通過外部按鍵來控制各種不。同圖形的方塊來玩游戲,并且實現(xiàn)記錄分?jǐn)?shù)和通過過關(guān)數(shù)來改變方塊下降的速度。本的游戲功能,達(dá)到預(yù)期的目的。

  

【正文】 附錄 A 23 //定義共 21行,其中 num[0]為下墻壁行, num[20]為上墻壁行 ,每行 12格,最左一格為左墻壁列,最右一格為右墻壁列 0 1 2 3 4 5 6 7 8 9 10 11 0 ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ 1 ■ □ □ □ □ □ □ □ □ □ □ ■ 2 ■ □ □ □ □ □ □ □ □ □ □ ■ 3 ■ □ □ □ □ □ □ □ □ □ □ ■ 4 ■ □ □ □ □ □ □ □ □ □ □ ■ 5 ■ □ □ □ □ □ □ □ □ □ □ ■ 6 ■ □ □ □ □ □ □ □ □ □ □ ■ 7 ■ □ □ □ □ □ □ □ □ □ □ ■ 8 ■ □ □ □ □ □ □ □ □ □ □ ■ 9 ■ □ □ □ □ □ □ □ □ □ □ ■ 10 ■ □ □ □ □ □ □ □ □ □ □ ■ 11 ■ □ □ □ □ □ □ □ □ □ □ ■ 12 ■ □ □ □ □ □ □ □ □ □ □ ■ 13 ■ □ □ □ □ □ □ □ □ □ □ ■ 14 ■ □ □ □ □ □ □ □ □ □ □ ■ 15 ■ □ □ □ □ □ □ □ □ □ □ ■ 16 ■ □ □ □ □ □ □ □ □ □ □ ■ 17 ■ □ □ □ □ □ □ □ □ □ □ ■ 18 ■ □ □ □ □ □ □ □ □ □ □ ■ 19 ■ □ □ □ □ □ □ □ □ □ □ ■ 20 ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ */ unsigned char code Block[28][2]={ /* * 口 口口口 口口 * 口 口 口 口 * 口口 口 口口口 */ {0x88,0xc0},{0xe8,0x00},{0x62,0x20},{0x02,0xe0}, /* * 口 口口 口口口 * 口 口 口 口 * 口口 口口口 口 */ {0x22,0x60},{0x08,0xe0},{0xc8,0x80},{0xe2,0x00}, 附錄 A 24 /* * 口 * 口口 口口 * 口 口口 */ {0x8c,0x40},{0x6c,0x00},{0x8c,0x40},{0x6c,0x00}, /* * 口 口口 * 口口 口口 * 口 */ {0x4c,0x80},{0xc6,0x00},{0x4c,0x80},{0xc6,0x00}, /* * 口 口 * 口 口口 口口口 口口 * 口口口 口 口 口 */ {0x04,0xe0},{0x8c,0x80},{0xe4,0x00},{0x26,0x20}, /*口 * 口 * 口 口口口口 * 口 */ {0x44,0x44},{0x0f,0x00},{0x44,0x44},{0x0f,0x00}, /* * 口口 * 口口 */ {0x06,0x60},{0x06,0x60},{0x06,0x60},{0x06,0x60} }。 define PASSSCORE 20 struct Jimu { unsigned int dat。 char x。 unsigned char y。 unsigned char type。 unsigned char change。 }Sign[3]。 //積木結(jié)構(gòu)體 unsigned char SysFlag=0。 附錄 A 25 define NEWSIGNFLAG 0 define DEADFLAG 1 define PAUSEFLAG 2 unsigned char Score=0。 unsigned char Level=1。 unsigned char DelayCnt=5。 /****************************/ define N 25 /**************************** 偽隨機(jī)數(shù)發(fā)生器 *****************************/ double Random(void) { long TmpSeed。 TmpSeed=A*(Seed%Q)R*(Seed/Q)。 if(TmpSeed=0) Seed=TmpSeed。 else Seed=TmpSeed+M 。 return (double)Seed/M。 } /*************************** 為偽隨機(jī)數(shù)發(fā)生器播種 ****************************/ void InitRandom(unsigned long InitVal) { Seed=InitVal。 } //延時子程序 void Delay(unsigned int t) { unsigned int i,j。 for(i=0。it。i++) for(j=0。j10。j++)。 } /**************************** 初始化 MPU ****************************/ void InitCpu(void) 附錄 A 26 { TMOD=0x0。 TH0=0。 TL0=0。 TR0=1。 ET0=1。 EX1=1。 EA=1。 TCON|=0x04。 } /***************************** wele 游戲選擇界面 /*****************************/ void Wele() { Lcd_WriteStr(0,0,歡迎來玩 )。 Lcd_WriteStr(0,1,俄羅斯方塊 )。 Lcd_WriteStr(0,2,設(shè)置按 K1)。 Lcd_WriteStr(0,2,開玩按 K2)。 } /*************俄羅斯方塊部分 ****************/ /************畫墻壁,初始化界面 *************/ void DrawBoard(void) { unsigned char n。 for(n=0。n12。n++) { Lcd_Rectangle(3*n,0,3*n+2,2,1)。 Lcd_Rectangle(3*n,60,3*n+2,62,1)。 } for(n=0。n20。n++) { Lcd_Rectangle(0,3*n,2,3*n+2,1)。 Lcd_Rectangle(33,3*n,35,3*n+2,1)。 } Lcd_WriteStr(4,0,經(jīng)典游戲 )。 Lcd_WriteStr(3,2,Score:)。 Lcd_WriteStr(3,3,Level:)。 } 附錄 A 27 /*********************************** 游戲結(jié)束處理 ************************************/ void GameOver(void) { if((SysFlagamp。(1DEADFLAG))!=0) Lcd_WriteStr(3,1,You Fail)。 else Lcd_WriteStr(3,1,You Pass)。 } unsigned int code MaskTab[16]={ 0x0001,0x0002,0x0004,0x0008,0x0010,0x0020,0x0040,0x0080, 0x0100,0x0200,0x0400,0x0800,0x1000,0x2020,0x4000,0x8000 }。 /******************************************** 根據(jù)積木圖標(biāo)左下坐標(biāo) X, Y 來畫出積木圖標(biāo) ***********************************amp。*********/ void DrawSign(struct Jimu Temp,unsigned char DrawMode) { unsigned char m,n。 for(m=0。m4。m++) for(n=0。n4。n++) { if((amp。MaskTab[4*m+n])!=0) Lcd_Rectangle(+n*3,*m,+n*3+2,*m,DrawMode)。 } } /********************************* 將積木圖標(biāo)值融入 num 數(shù)據(jù)中也 即把積木圖標(biāo)固定,無法再下降 **********************************/ void FixSign(void) { unsigned char m,n。 for(m=0。m4。m++)//行循環(huán) for(n=0。n4。n++)//列循環(huán) { if((Sign[0].datamp。MaskTab[4*m+n])!=0) { 附錄 A 28 num[20(Sign[0].y2)/3+m]|=MaskTab[11Sign[0].x/3n]。 } } } /*************************************** 判斷積木圖標(biāo)中方塊是否與障礙方塊重合 ****************************************/ unsigned char CheckIf(void) { unsigned char m,n。 for(m=0。m4。m++) //行循環(huán) for(n=0。n4。n++) //列循環(huán) { if((Sign[1].datamp。MaskTab[4*m+n])!=0) { if((num[20(Sign[1].y2)/3+m]amp。MaskTab[11Sign[1].x/3n])!=0) return 0。 } } return 1。 } /********************************** 判斷積木圖標(biāo)是否可以繼續(xù)下降一格 **********************************/ unsigned char CheckIfDown(void) { Sign[1]=Sign[0]。// Sign[1].y+=3。//假設(shè)下降一格 return CheckIf()。 } /********************************* 判斷積木圖標(biāo)是否可以向左移動 **********************************/ unsigned char CheckIfLeft(void) { Sign[1]=Sign[0]。 Sign[1].x=3。 return CheckIf()。 附錄 A 29 } /********************************* 判斷積木圖標(biāo)是否可以向右移動 **********************************/ unsigned char CheckIfRight(void) { Sign[1]=Sign[0]。 Sign[1].x+=3。 return CheckIf()。 }
點擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1