




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、掃雷 純C語言實現(xiàn)件夾中找到“掃雷安=分=割=線=#include<stdio.h>#include<time.h>/本程序使用了EGE圖形庫#include<graphics.h>/地雷個數(shù)#define NUM 40 int map2020;/用于保存地雷陣,9表示地雷,08表示周圍地雷的個數(shù)int ui2020;/用于保存顯示的界面,0表示未翻開,1表示翻開,2表示插上了小紅旗long timer,timer2;int life,isnew;PIMAGE LEI;/地雷PIMAGE SHOW_0;/未翻開的方塊PIMAGE SHOW_1;/翻
2、開的方塊PIMAGE SHOW_FLAG;/小紅旗int makemap(int num);/初始化地雷陣int draw(void);繪制圖形int dataup(void);/更新數(shù)據(jù),響應(yīng)鼠標操作void showother(int x,int y);/翻開空白方塊旁邊挨著的空白方塊int main ()int x,y;srand(int)time(NULL);initgraph(600,700);LEI=newimage();SHOW_0=newimage();SHOW_1=newimage();SHOW_FLAG=newimage();getimage(LEI,"lei.p
3、ng");getimage(SHOW_0,"show_0.png");getimage(SHOW_1,"show_1.png");getimage(SHOW_FLAG,"show_flag.png");setfillcolor(LIGHTGRAY);while(1)bar(80,600,600,700);setcolor(LIGHTBLUE);setfont(50,0,"宋體");xyprintf(80,600,"Made By:Blue Sky");setfont(20,0,&quo
4、t;宋體");xyprintf(80,650,"共%d個地雷找到它們并按右鍵插上小紅旗",NUM);life=1;isnew=1;makemap(NUM);for(y=0;y<20;y+)for(x=0;x<20;x+)uiyx=0;setbkcolor(LIGHTGRAY);draw();timer=clock(); while(life)timer2=clock();setfont(-80,0,"");setcolor(RED);xyprintf(0,600,"%d",(timer2-timer)/1000)
5、;dataup();if(life=0)for(y=0;y<20;y+)for(x=0;x<20;x+)uiyx=1;draw();break;if(isnew)draw();if(life=2)break;setfont(50,0,"宋體");setcolor(RED);bar(80,600,600,700);if(life=2)xyprintf(80,600,"太牛了!你贏了!"); if(life=0)xyprintf(80,600,"噢!你掛了!"); setfont(30,0,"宋體");xy
6、printf(80,650,"(按空格再來一局!其他鍵退出)");if(getch()!=VK_SPACE)break; delimage(SHOW_1);delimage(SHOW_0);delimage(LEI);closegraph();int makemap(int num)int x,y,n=0;int i,j;for(y=0;y<20;y+)for(x=0;x<20;x+)mapyx=0;for(;n<num;)n=0;x=rand()%20;y=rand()%20;mapyx=9;for(y=0;y<20;y+)for(x=0;x<
7、;20;x+)if(mapyx=9)n+;for(y=0;y<20;y+)for(x=0;x<20;x+)if(mapyx!=9)for(i=y-1;i<=y+1;i+)for(j=x-1;j<=x+1;j+)if(i>=0&&i<20&&j>=0&&j<20)if(mapij=9)mapyx+;return 0;int draw(void)int x,y;for(y=0;y<20;y+)for(x=0;x<20;x+)if(uiyx=1)if(mapyx=9)putimage(x*30
8、,y*30,LEI);elseputimage(x*30,y*30,SHOW_1);if(mapyx!=0)if(mapyx=1)setcolor(BLUE);else if(mapyx=2)setcolor(GREEN);else if(mapyx<6)setcolor(RED);else setcolor(RED);setfont(-25,0,"楷體");xyprintf(x*30+10,y*30+3,"%d",mapyx);else if (uiyx=2)putimage(x*30,y*30,SHOW_FLAG);else putimage(
9、x*30,y*30,SHOW_0);isnew =0;int dataup(void)int x,y,n=0;mouse_msg mous;if(mousemsg()mous= getmouse();x=(int)mous.x/30;y=(int)mous.y/30;if(mous.is_up()if(mous.x<600)if(mous.is_left()showother(x,y);if(mous.is_right()if(uiyx=0)uiyx=2;else if(uiyx=2)uiyx=0;/修復(fù)右鍵點擊已經(jīng)翻開的方塊仍然出現(xiàn)小紅旗的BUG /* 原錯誤代碼if(mous.is_right()if(uiyx!=2)uiyx=2;else uiyx=0;*/ isnew =1;for(y=0;y<20;y+)for(x=0;x<20;x+)if(uiyx=2)if(mapyx=9)n+;if(n=NUM)life=2;void showother(int x,int y)int i,j;uiyx=1;if(mapyx=9)life=0;return; if(mapyx=0)for(i=y-1;i<=
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 酶標儀使用方法
- 幼兒園班主任發(fā)言稿模版
- 新質(zhì)生產(chǎn)力講座大學(xué)
- 局限性胸膜間皮瘤的臨床護理
- 江西省九江市九江有色金屬冶煉廠職工子弟學(xué)校2025屆七年級數(shù)學(xué)第二學(xué)期期末復(fù)習(xí)檢測試題含解析
- 先天性馬蹄內(nèi)翻足健康宣講課件
- 手部先天性畸形的臨床護理
- 山東省平原縣2025屆數(shù)學(xué)七下期末復(fù)習(xí)檢測模擬試題含解析
- 潰瘍基因轉(zhuǎn)錄分析
- 開展2023愚人節(jié)創(chuàng)意活動方案大全
- 中考模擬考試實施方案
- 上海市地方標準《辦公樓物業(yè)管理服務(wù)規(guī)范》
- (部編版)統(tǒng)編版小學(xué)語文教材目錄(一至六年級上冊下冊齊全)
- 四川省南充市2023-2024學(xué)年六年級下學(xué)期期末英語試卷
- 智能化完整系統(tǒng)工程竣工驗收資料標準模板
- 《當呼吸化為空氣》讀書分享
- 廣東省江門市語文小升初試卷與參考答案(2024-2025學(xué)年)
- 閥體結(jié)構(gòu)優(yōu)化設(shè)計提升截止閥可靠性
- 八年級歷史下冊 第五單元 第15課《鋼鐵長城》教案 新人教版
- 常壓儲罐管理制度
- 高中英語外研版 單詞表 必修2
評論
0/150
提交評論