




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 生豬高熱性疾病治療的注意事項及對策研究
- 致密化不全心肌病超聲診斷規(guī)范
- 蘭山叉車培訓資料
- 嬰幼兒護理的任務和范圍
- 離婚財產(chǎn)分割詳細協(xié)議書模板
- 《場投標策略制定與中標合同變更合同》
- 倉儲貨物安全監(jiān)控承包服務協(xié)議
- 餐飲行業(yè)員工勞動合同解除賠償標準合同
- 家政擦窗服務合同范本含清潔工具與設備租賃條款
- 課程顧問年度工作總結
- 第11課《核舟記》課件語文八年級下冊
- 2024年浙江省杭州市蕭山區(qū)事業(yè)單位招聘歷年(高頻重點復習提升訓練)共500題附帶答案詳解
- 2024年揚州梅嶺中學七年級英語第二學期期末學業(yè)水平測試試題含答案
- 現(xiàn)代商貿(mào)流通體系數(shù)字化平臺解決方案
- 《醫(yī)療和疾控機構后勤安全生產(chǎn)工作管理指南2023版》
- 送教上門記錄24篇
- (完整版)留學生漢語考試試卷及答案.文檔
- 建筑工程施工現(xiàn)場噪聲及其控制技術
- 2023年版工程建設標準強制性條文 水利工程部分
- MOOC 微課設計與制作-愛課程 中國大學慕課答案
- MOOC 大學生創(chuàng)新創(chuàng)業(yè)教育-云南大學 中國大學慕課答案
評論
0/150
提交評論