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

正文內(nèi)容

畢業(yè)論文-基于c語言的推箱子游戲設(shè)計(jì)(已改無錯(cuò)字)

2023-07-19 10:53:49 本頁面
  

【正文】 的地的位置 */ void printDestination1(int x,int y,winer **win,winer **pw) { winer *qw。 /*以黑色為背景畫黃色目的地,用心型表示 */ putoutChar(y1,x1,003,YELLOW,BLACK)。 status[x][y]=39。m39。 /*如果當(dāng)前點(diǎn)事目的地的第一個(gè)點(diǎn) */ if(*win==NULL) { /*分配空間 */ *win=*pw=qw=(winer* )malloc(sizeof(winer))。 (*pw)x=x。 (*pw)y=y。 (*pw)p=NULL。 } /*如果當(dāng)前點(diǎn)不是目的地的第一個(gè)點(diǎn) */ else { qw=(winer* )malloc(sizeof(winer))。 qwx=x。 qwy=y。 /*( *pw)的下一個(gè)節(jié)點(diǎn)為 qw*/ (*pw)p=qw。 /*( *qw)指向 qw 所指向的節(jié)點(diǎn) */ (*pw)=qw。 qwp=NULL。 } } /*畫目的地函數(shù) */ 廣東工程職業(yè)技術(shù)學(xué)院畢業(yè)論文 14 void printDestination(int x,int y) { /*以黑色為背景畫黃色目的地,用心型表示 */ putoutChar(y1,x1,003,YELLOW,BLACK)。 /*記錄狀態(tài)為目的地 */ status[x][y]=39。m39。 } /*畫小人函數(shù) */ void printMan(int x,int y) { gotoxy(y,x)。 /*設(shè)置寄存器 AX的地位,輸出的字符 */ _AL=02。 /*設(shè)置寄存器 CX,字符重復(fù)次數(shù)為 1*/ _CX=01。 /*設(shè)置寄存器 AX的高位,在光標(biāo)位置顯示字符 */ _AH=0xa。 /*產(chǎn)生軟終端,顯示器輸出,畫出小人 */ geninterrupt(0x10)。 } 移動(dòng)箱子模塊 該模塊是實(shí)現(xiàn)箱子的移動(dòng)。根 據(jù)游戲規(guī)則,箱子可以在空地之間、目的地之間、空地和目的地之間來回移動(dòng),因此,實(shí)現(xiàn)本模塊共有以下 4 個(gè)函數(shù)。 ( 1) void moveBoxSpacetoSpace(int x,int y,char a),把箱子從空地移動(dòng)到空地。 ( 2) void moveBoxDestoSpace(int x,int y,char a),把箱子從目的地移動(dòng)到空地。 ( 3) void moveBoxSpacetoDes(int x,int y,char a),把箱子從空地移動(dòng)到目的地。 ( 4) void moveBoxDestoDes(int x,int y,char a),把箱子從目的地移動(dòng)到目的地。 其中從空地移動(dòng)箱子到空地函數(shù)的詳細(xì)代碼如下: *從空地移動(dòng)箱子到空地函數(shù) */ void moveBoxSpacetoSpace(int x,int y,char a) { switch(a) { /*如果按向上鍵 */ case 39。u39。: /*重設(shè) ((x1),y)位置狀態(tài)為 0*/ status[x1][y]=0。 /*清空 (x,y)處原有的小人 */ 廣東工程職業(yè)技術(shù)學(xué)院畢業(yè)論文 15 printf( )。 /*在 (x2,y)出重新畫箱子 */ printBox(x2,y)。 /*在 (x1,y)處重新畫小人 */ printMan(x1,y)。 /*重設(shè) ((x2),y)位置的狀態(tài)為箱子 */ status[x2][y]=39。b39。 break。 /*如果按向下鍵 */ case 39。d39。: status[x+1][y]=0。 printf( )。 printBox(x+2,y)。 printMan(x+1,y)。 status[x+2][y]=39。b39。 break。 /*如果按向左鍵 */ case 39。l39。: status[x][y1]=0。 printf( )。 printBox(x,y2)。 printMan(x,y1)。 status[x][y2]=39。b39。 break。 /*如果按向右鍵 */ case 39。r39。: status[x][y+1]=0。 printf( )。 printBox(x,y+2)。 printMan(x,y+1)。 status[x][y+2]=39。b39。 break。 default: break。 } } /*從目的地移動(dòng)箱子到空地函數(shù) */ void moveBoxDestoSpace(int x,int y,char a) { switch(a) { /*如果按向上鍵 */ case 39。u39。: 廣東工程職業(yè)技術(shù)學(xué)院畢業(yè)論文 16 status[x1][y]=39。m39。 printf( )。 printBox(x2,y)。 printMan(x1,y)。 status[x2][y]=39。b39。 break。 case 39。d39。: /*如果按向下鍵 */ status[x+1][y]=39。m39。 printf( )。 printBox(x+2,y)。 printMan(x+1,y)。 status[x+2][y]=39。b39。 break。 /*如果按向左鍵 */ case 39。l39。: status[x][y1]=39。m39。 printf( )。 printBox(x,y2)。 printMan(x,y1)。 status[x][y2]=39。b39。 break。 /*如果按向右鍵 */ case 39。r39。: status[x][y+1]=39。m39。 printf( )。 printBox(x,y+2)。 printMan(x,y+1)。 status[x][y+2]=39。b39。 break。 default: break。 } } /*如果從空地移動(dòng)箱子到目的地 */ void moveBoxSpacetoDes(int x,int y,char a) { switch(a) { /*如果按向上鍵 */ case 39。u39。: status[x1][y]=0。 printf( )。 printBoxDes(x2,y)。 廣東工程職業(yè)技術(shù)學(xué)院畢業(yè)論文 17 printMan(x1,y)。 status[x2][y]=39。i39。 break。 /*如果按向下鍵 */ case 39。d39。: status[x+1][y]=0。 printf( )。 printBoxDes(x+2,y)。 printMan(x+1,y)。 status[x+2][y]=39。i39。 break。 /*如果按向左鍵 */ case 39。l39。: status[x][y1]=0。 printf( )。 printBoxDes(x,y2)。 printMan(x,y1)。 status[x][y2]=39。i39。 break。 /*如果按向右鍵 */ case 39。r39。: status[x][y+1]=0。 printf( )。 printBoxDes(x,y+2)。 printMan(x,y+1)。 status[x][y+2]=39。i39。 break。 default: break。 } } /*從目的地移動(dòng)箱子到目的地函數(shù) */ void moveBoxDestoDes(int x,int y,char a) { switch(a) { /*如果按向上鍵 */ case 39。u39。: status[x1][y]=39。m39。 printf( )。 printBoxDes(x2,y)。 printMan(x1,y)。 status[x2][y]=39。i39。 break。 廣東工程職業(yè)技術(shù)學(xué)院畢業(yè)論文 18 /*如果按向下鍵 */ case 39。d39。: status[x+1][y]=39。m39。 printf( )。 printBoxDes(x+2,y)。 printMan(x+1,y)。 status[x+2][y]=39。i39。 break。 /*如果按向左鍵 */ case 39。l39。: status[x][y1]=39。m39。 printf( )。 printBoxDes(x,y2)。 printMan(x,y1)。 status[x][y2]=39。i39。 break。 /*如果按向右鍵 */ case 39。r39。: status[x][y+1]=39。m39。 printf( )。 printBoxDes(x,y+2)。 printMan(x,y+1)。 status[x][y+2]=39。i39。 break。 default: break。 } } 移動(dòng)小人模塊 移動(dòng)小人模塊是本程序的 核心模塊,僅由 move()函數(shù)來實(shí)現(xiàn)。 Move()函數(shù)控制小人的移動(dòng),并調(diào)用畫圖模塊、移動(dòng)箱子模塊中的函數(shù)來實(shí)現(xiàn)箱子的重畫、移動(dòng)等操作。其操作流程可參見圖(三)。部分代碼如下: /*根據(jù)按下的鍵處理小人的移動(dòng)函數(shù) */ void move(int x,int y,char a) { switch(a) { /*如果按向上鍵 */ case 39。u39。: /*如果 (x1,y)即小人的下一步狀態(tài)為墻 */ if(!judge(x1,y)) { 廣東工程職業(yè)技術(shù)學(xué)院畢業(yè)論文 19 /*則跳轉(zhuǎn)到 (y,x),并跳出循環(huán) */ gotoxy(y,x)。 break。 } /*如果小人的下一步狀態(tài)為目的地或者什么都沒有 */ else if(judge(x1,y)==1||judge(x1,y)==3) { /*如果當(dāng)前狀態(tài)為目的地 */ if(judge(x,y)==3) { /*畫目的地 */ printDestination(x,y)。 /*在新位置重新畫小人 */ printMan(x1,y)。 break。 } /*如果下一步狀態(tài)為“ 0” */ else { /*輸出空字符,覆蓋當(dāng)前狀態(tài)的小人 */ printf( )。 /*在下一步重新畫小人 */ printMan(x1,y)。 break。 } } /*如果下一步狀態(tài)為箱子 */ else if(judge(x1,y)==2)
點(diǎn)擊復(fù)制文檔內(nèi)容
畢業(yè)設(shè)計(jì)相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1