




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
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ù),響應鼠標操作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;/修復右鍵點擊已經(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)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 影視道具租賃倉儲與道具租賃合同解除合同
- 專利商標續(xù)展一體化代理合同
- 高效物流托運補充服務協(xié)議
- 電競俱樂部戰(zhàn)隊比賽獎金分配與管理協(xié)議
- 高效生物轉化項目合伙人權益保護協(xié)議
- 公司管理調查報告
- 入職培訓會流程
- 政薪火相傳的傳統(tǒng)美德 課件+-2024-2025學年統(tǒng)編版道德與法治七年級下冊
- 藥事管理促進合理用藥
- 安全我知道活動目標
- MOOC創(chuàng)新創(chuàng)業(yè)與管理基礎(東南大學)
- 報告應用文寫作課件
- Part6 Unit1 Travel教案-【中職專用】高一英語精研課堂(高教版2021·基礎模塊2)
- 安全防范系統(tǒng)之出入口控制系統(tǒng)課件
- 報價單模板完
- 《馮諼客孟嘗君》
- 吊裝作業(yè)票(樣本)
- 04S206 自動噴水與水噴霧滅火設施安裝
- InfoQ:2023中國企業(yè)數(shù)字化人才發(fā)展白皮書
- 胸腔積液診斷的中國專家共識(2022版)解讀
- 數(shù)學競賽之平面幾何課件
評論
0/150
提交評論