下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、#i nclude #in clude#i nclude #in elude #in clude#defi ne N 4in t gridNN=0;int D=0;int M=2048;/顯示void showdata()int i,j;system(CLS);for(i=0;iN+2;i+)pri ntf(%5c,+);pri ntf(nn);for(i=0;iN;i+)prin tf(%5c,+);for(j=0;jN;j+)if(gridij!=O)prin tf(%5d,gridij);elseprin tf(%5c,);prin tf(%5c,+);prin tf(nn);for(i
2、=0;iN+2;i+)pri ntf(%5c,+);pri ntf(n);/判斷是否有空位in t isNotFull()int i,j,k=O;for(i=0;iN;i+)for(j=0;jN;j+)if(gridij=0)k=1; break;return k;II隨機數(shù)字void ran domdata()int r,c, x;x = ran d()%2*2+2;dor = ran d()%N;c = ran d()%N;while(gridrc!=O); gridrc=x;獲取最大值in t getMax()int i,j,max=0;for(i=0;iN;i+)for(j=0;jN;
3、j+)if(maxgridij) max=gridij;return ma x;II移動相加,返回1表示有移動,返回0表示無移動int add()int i,j,cr,w,F=0;if(D=1)IItopfor(i=1;iN;i+)for(j=0;j=1 & gridcrj!=0 )if(gridcr-1j=0)II 上方有空位,上移 gridcr-1j=gridcrj; gridcrj=0;F=1;elseII上 方無空位等,相加 if(gridcr-1j=gridcrj& w=0)II gridcr-1j=gridcr-1j*2; gridcrj=0; w=1; F=1;elseII不 等
4、break;cr-;if(D=2)/dow nfor(i=N-2;i=0;i-)for(j=0;jN;j+)cr=i;w=0;while(cr=N-2 & gridcrj!=0 )if(gridcr+1j=0) 下方有空位,下移 gridcr+1j=gridcrj; gridcrj=0;F=1;else/下方無空位等,相加if(gridcr+1j=gridcrj & w=0)/ gridcr+1j=gridcr+1j*2; gridcrj=O; w=1;F=1;else/不等 break; cr+;if(D=3)/leftfor(i=0;iN;i+)for(j=1;j=1 & gridicr!
5、=O ) if(gridicr-1=0) 左方有空位,左移 gridicr-1=gridicr; gridicr=0;F=1;else/左方無空位等,相加if(gridicr-1=gridicr & w=0) gridicr-1=gridicr-1*2; gridicr=0;w=1;F=1;else/不 等break;cr-;if(D=4)/rightfor(i=0;i=0;j-)cr=j;w=0;while(cr=N-2 & gridicr!=O )if(gridicr+1=0) 右方有空位,右移 gridicr+1=gridicr; gridicr=0;F=1;else/右方無空位等,相加
6、if(gridicr+1=gridicr & w=0)/ gridicr+1=gridicr+1*2; gridicr=0; w=1; F=1;else/不 等break;cr+;return F;in t getKey()int k=0;char c=getch();if(c0) c0為特殊鍵,還要再讀下一個字節(jié)判斷為何鍵c=getch();if(c=72) D=1; k=1;/topif(c=80) D=2; k=1;/dow nif(c=75) D=3; k=1;/leftif(c=77) D=4; k=1;/rightreturn k;在數(shù)字全滿下,檢查是否還有合并的可能,有則返回1;
7、int can Add()int i,j,k,F=O;for(i=0;iN;i+)for(j=0;jN-1;j+)if(gridij=gridij+1) F=1;for(j=0;jN;j+)for(i=0;iN-1;i+)if(gridij=gridi+1j) F=1;return F;main ()char c;i nt mov,key,isf;,2048:);printf(請輸入游戲要拼湊的最大數(shù)字,例如32,64, 128,sca nf(%d,&M);/初次狀態(tài)sran d(time(NULL);ran domdata();/ 隨機第一個數(shù)ran domdata();隨機第二個數(shù)showdata();dokey=getKey();讀取操作鍵 if(key=O) continue; /不是上下左右鍵,重新讀取鍵盤 mov=add();根據(jù)方向鍵合并相加,返回1表示有移動 if(mov=1) showdata(); 顯示if(getMax()=M)判斷是否勝利printf(你贏了! n ”);break;isf=isNotFull();返回1表示還有空位if(isf=1 & mov=1)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 初一散步課件教學(xué)課件
- 笑死人的腦筋急轉(zhuǎn)彎三十個
- 5年中考3年模擬試卷初中道德與法治八年級下冊03第四單元素養(yǎng)綜合檢測
- 2024-2025學(xué)年專題15.2 電流和電路-九年級物理人教版含答案
- DB11-T 1832.14-2022 建筑工程施工工藝規(guī)程 第14部分:供暖工程
- 住宅區(qū)土石方居間合作協(xié)議
- 體育場館水泥供應(yīng)合同模板
- 親子樂園活潑裝修門牌協(xié)議
- 公路綠化養(yǎng)護居間合同
- 倉儲物流借款融資居間合同
- JD員工級別劃分及薪資帶寬
- 自我認知與自我評價PPT資料
- 醫(yī)院管理案例:規(guī)范吞咽障礙管理降低腦卒中患者誤吸發(fā)生率佛山市中醫(yī)院課件
- 天津117大廈關(guān)鍵建造技術(shù)
- 五年級上冊科學(xué)實驗報告(已填好)(2021新蘇教版)
- 簡歷的制作課件
- 達芬奇-完整精講版課件
- 標準QZY 0017 S-2022 魔芋豆腐制作規(guī)范
- 《美容藥物學(xué)》課程教學(xué)大綱
- 人教版五年級數(shù)學(xué)上冊課件滾動練習(xí)2
- 滅蠅燈安裝使用技術(shù)要求
評論
0/150
提交評論