C語言程序設(shè)計掃雷游戲?qū)嶒瀳蟾鎋第1頁
C語言程序設(shè)計掃雷游戲?qū)嶒瀳蟾鎋第2頁
C語言程序設(shè)計掃雷游戲?qū)嶒瀳蟾鎋第3頁
C語言程序設(shè)計掃雷游戲?qū)嶒瀳蟾鎋第4頁
C語言程序設(shè)計掃雷游戲?qū)嶒瀳蟾鎋第5頁
已閱讀5頁,還剩28頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、中南大學(xué)程序設(shè)計基礎(chǔ)實踐報告題 目 設(shè)計一個和window系統(tǒng)類似的小游戲【挖地雷】學(xué)生姓名張?zhí)m蘭學(xué) 院信息科學(xué)與工程學(xué)院2014. 11. 課程設(shè)計內(nèi)容32. 課程設(shè)計目的33. 背景知識34. 工具/準(zhǔn)備工作55. 設(shè)計步驟、方法55.1. 步驟1:步驟名稱(二級標(biāo)題)錯誤!未定義書簽。5.1.1. 步驟1.1:步驟名稱(三級標(biāo)題)55.2. 步驟2:步驟名稱錯誤!未定義書簽。5.3. 步驟n:步驟名稱錯誤!未定義書簽。6. 設(shè)計結(jié)果及分析57. 設(shè)計結(jié)論158問題及心得體會16對本設(shè)計過程及方法、手段的改進(jìn)建議17參考文獻(xiàn)17報告名稱1. 課程設(shè)計內(nèi)容在計算機(jī)逐步滲入社會生活各個層面的今

2、天,計算機(jī)已經(jīng)成為人們?nèi)粘I?的一分,越來越多的人使用計算機(jī)辦公、娛樂等等。掃雷游戲是windows操作系統(tǒng)自帶的一款小游戲,在過去的兒年m, windows 操作系統(tǒng)歷經(jīng)數(shù)次換代更新,變得越來越龐大、復(fù)雜,功能也越來越強(qiáng)大,但是 這款小游戲依然保持原來的容貌,可見這款小游戲受到越來越多人的喜愛。我利 用c-free編寫了與它功能相仿的挖地雷游戲,寓學(xué)于樂。e|j:設(shè)計一個功能與windows中的挖雷游戲相同的小游戲。2. 課程設(shè)計目的1 培養(yǎng)學(xué)生綜合運用所學(xué)知識獨立完成課題的能力。2試學(xué)生更深入地理解和掌握該課程屮的有關(guān)基本概念,程序設(shè)計思想和 方法。3.提高對工作認(rèn)真負(fù)責(zé)、一絲不茍,對同

3、學(xué)團(tuán)結(jié)友愛,協(xié)作攻關(guān)的基本素 質(zhì)。4培養(yǎng)勇于探索、嚴(yán)謹(jǐn)推理、實事求是、有錯必改,用實踐來檢驗理論, 全方位考慮問題等科學(xué)技術(shù)人員應(yīng)具有的素質(zhì)。5培養(yǎng)從資料文獻(xiàn)、科學(xué)實驗屮獲得知識的能力,提高從別人經(jīng)驗中找到 解決問題的新途徑的悟性,初步培養(yǎng)工程意識和創(chuàng)新能力。6.對掌握知識的深度、運用理論去處理問題的能力、實驗?zāi)芰?、課程設(shè)計 能力、書面及口頭表達(dá)能力進(jìn)行考核3. 背景知識游戲玩法:以windows xp自帶掃雷winmine.exe為例游戲區(qū)包括雷區(qū)、地雷計數(shù)器(位于左上角,記錄剩余地雷數(shù))和計時器(位 于右上角,記錄游戲時間),確定大小的矩形雷區(qū)屮隨機(jī)布置一定數(shù)量的地雷(初 級為9*9個方塊

4、1()個雷,中級為16*16個方塊40個雷,咼級為16*30個方塊99個雷, 自定義級別可以自己設(shè)定雷區(qū)大小和雷數(shù),但是雷區(qū)大小不能超過24*30),玩家 需要盡快找出雷區(qū)中的所有不是地雷的方塊,而不許踩到地雷。游戲的基本操作包括左鍵單擊(left click)、右鍵單擊(right click)、雙擊 (chording)三種。其中左鍵用于打開安全的格子,推進(jìn)游戲進(jìn)度;右鍵用于標(biāo) 記地雷,以輔助判斷,或為接下來的雙擊做準(zhǔn)備;雙擊在一個數(shù)字周圍的地雷標(biāo) 記完時,相當(dāng)于對數(shù)字周圍未打開的方塊均進(jìn)行一次左鍵單擊操作:左鍵單擊:在判斷出不是雷的方塊上按下左鍵,可以打開該方塊。如果方塊 上出現(xiàn)數(shù)字,則

5、該數(shù)字表示其周圉3x3區(qū)域中的地雷數(shù)(一般為8個格子,對于 邊塊為5個格子,對于角塊為3個格子。所以掃雷中最大的數(shù)字為8);如果方塊 上為空(相當(dāng)于0),則可以遞歸地打開與空相鄰的方塊;如果不幸觸雷,則游戲 結(jié)束。雙擊:同時按下左鍵和右鍵完成雙擊。當(dāng)雙擊位置周圍已標(biāo)記雷數(shù)等于該位 置數(shù)字時操作有效,相當(dāng)于對該數(shù)字周圍未打開的方塊均進(jìn)行一次左鍵單擊操 作。地雷未標(biāo)記完全吋使用雙擊無效。若數(shù)字周圍有標(biāo)錯的地雷,則游戲結(jié)束, 標(biāo)錯的地雷上會顯示一個“ x"(見下圖)皿目叵ib掃雷的設(shè)計原理:掃雷游戲分為幾個步驟:第一步,使用二維數(shù)組表示地圖;第二步,隨機(jī)生成幾個地雷;第三步,點擊方格的反應(yīng)

6、,計算每個非雷區(qū)方格點開后的數(shù)字;第四步,當(dāng)方格數(shù)字為0的情況;第五步,當(dāng)方格為地雷的情況。第一步地圖的人小和第二步地雷的數(shù)量都應(yīng)該是程序中給定的,或者玩家輸入 的。這個是多少自己決定吧。第三步,計算非雷區(qū)方格點開后的數(shù)字就把這個方 格在二維數(shù)組中周圍八個方向的方格是否是地雷都檢查一-遍,一定要注意不要越 出數(shù)組邊界。這個數(shù)字可以在游戲初始化時全都計算好,也可以在玩家點擊的時 候再計算。點擊非雷區(qū)方格,顯示數(shù)字,這個方格標(biāo)記為“已點過覽第四步,當(dāng) 方格數(shù)字為0時,這里要用到遞歸調(diào)用,就是讓程序自動“點擊”這個數(shù)字為0方格 周圍的八個方格,然后再看結(jié)果,如果不是0,就停止,如果是0,依然遞歸調(diào)用

7、, 直到?jīng)]有0為止,或者直到點遍所有方格為止,一定要注意不要越出數(shù)組邊界。 第五步,很簡單,宣布玩家死亡就可以了。4. 工具/準(zhǔn)備工作查閱相關(guān)資料,了解掃雷的的玩法,了解掃雷的設(shè)計思想方法。借鑒他人寫 過的程序,從中找到突破口。從程序中了解需要的各種函數(shù)準(zhǔn)備,再進(jìn)一步獲悉 該函數(shù)的功能與使用方法。對自己要設(shè)計的挖地雷游戲進(jìn)行功能分析,大致如下:總體游戲過程分析:在屏幕上顯示一個游戲界面,雷區(qū)范圍內(nèi)預(yù)先埋設(shè)了一 定數(shù)量的隨機(jī)分布的地雷(用數(shù)字9代替地雷);玩家通過從鍵盤屮輸入(行數(shù) x,列數(shù)y)/進(jìn)行點擊;若能點中所有非雷區(qū),則游戲勝利;否則踩雷,游戲失 敗。簡易版掃雷游戲要具備以下功能:1)開

8、局:首先選擇游戲等級,然后生成不同等級的雷區(qū)界面。游戲等級分為三級:各等級行列數(shù)為:簡單:10x10.普通:15x15、困難:20x20;雷區(qū)每個*號下面或埋藏有1個地雷,或者沒有地雷;2)挖雷:從鍵盤中輸入(行數(shù)x,列數(shù)y),并按冋車鍵,可挖開它;若所 揭方塊下有9,則踩雷,此時所有含地雷的塊都出現(xiàn)9,該局游戲失敗; 如果方塊上出現(xiàn)數(shù)字,它代表在它周圍的8個方塊中共有多少顆地雷;3)輸入:通過鍵盤輸入相關(guān)指示信息;4)輸出:提示游戲失敗,是否繼續(xù)再來一遍;5設(shè)計步驟、方法51主函數(shù)第一步,寫出主程序的基本框架,確定各子模塊名字和參數(shù)。 具體的函數(shù)流程如圖53所示:coiitrolo f ga

9、inebegino 游戲開始界面主函數(shù) 初始化游戲控制j gameplayo j gamachero游戲失敗i游戲過程 1 gamewinq游戲勝利圖5-3程序運彳亍流程圖定義使用到的常數(shù)、全局變量、函數(shù)原型說明。然后初始化圖形系統(tǒng),調(diào)用游戲控制函數(shù),游戲只接受鍵盤,通過鼠標(biāo)結(jié)束游戲,關(guān)閉系統(tǒng),退出游戲。 main()int i,j;/*定義i,j變量*/int no;int begin=l;int h;/*確定雷的個數(shù)*/while(begin)printf (z/nnnnnnnnn=nn,zz,ttt |歡迎進(jìn)入掃雷|nnrtz,ttt |按回車鍵繼續(xù)lnrtttt=nnnn "

10、ttt本程序由張?zhí)m蘭和杜宏亮完成nnnn,z)請選擇游戲難度:nnz/); 1簡單難度n);2普通難度n);3困難難度n);4自定義難度nn,z);getchar () ; /*游戲開始界面*/ system("cis");printf( nnnnnnnnnprintf ("printf ("printf ("printf ("scanf(%ct, &h);getchar () ;/*確定游戲難度*/ if(0<h&&h<5)swit ch(h)case 1:x=10;y=10;b=10;break

11、;/*簡單難度*/case 2:x=15;y=15;b=40;break; /*普通難度*/case 3:x=20;y=20;b 二 60;break; /*困難難度*/case 4:system ("cis");printfc請輸入棋盤行列數(shù)(小于20且用逗號隔開):);/*從鍵盤輸入坐標(biāo)*/scanf ("%d, %d,&x, &y);get char ();printfc請輸入雷的個數(shù):);/*從鍵盤輸入雷的個數(shù)*/scanf("%ct, &b);get char ();break;break;elseprintf (zz輸

12、入錯誤請重新輸n);while(begin)system ("cis");initialvalue_game(&g) ;/*棋盤初始化*/initialmine_game (&g) ;/*隨機(jī)布雷*/print_game (&g, 2) ;/*打印棋盤*/no二 1;while (no)printf(please choose:"); scanf (%d, %d, &i, &j);getchar ();辻(-l<i-l && i-l<x && -l<j-l &&

13、; j-l<y)switch (openmap (&g, it, j-1)case 1: print_game (&g, 1);printfc游戲結(jié)束!按回車鍵再來一局);if (getchar () =,n,) begin=l;else begin=0;n0=0;break;case 2:if(judge_game (&g)=b)printf("win! ! n);print_game (&g, 1);printf (zz按回車鍵再來一局n);/*是否再來一局*/ if (getchar () =,n ) begin=l;else begin=

14、0;n0=0;break;else print_game(&g, 2);no=1;break;defauit:break;elseprintf c你輸入錯誤!請重新輸入n);主控模塊的各子模塊說明:void initialvalue_game()用于棋盤初始化; initialmine_game()用丁棋盤的隨機(jī)布雷; void print_game()用于打印棋盤; int judge_game()用于判斷游戲是否結(jié)束; int openmap ()用于點開地圖;5. 2定義全局變量sincludestdio. h>sinclude "stdlib. h#includ

15、ez,time. h# define s 20int x;/*棋盤行數(shù)*/int y;/*棋盤列數(shù)*/int b;/*選擇游戲難度1簡單2普通3困難4自定義*/int h;/*雷的個數(shù)*/struct games g;struet gamesint game_ints s;char game_chars s;;使用結(jié)構(gòu)體數(shù)組來完成棋盤的定義,引用時間頭文件來完成對隨機(jī)布雷的隨時 性。5. 3各個函數(shù)的分析5. 3. 1棋盤初始化程序:void initialvalue_game(struet games *g) int i, j;for (i=0;i<x;i+)for(j=0;j<

16、y;j+)(*g) game_intij=0; (*g) game_charij- *'5. 3. 2隨機(jī)布雷:lnitialmine_game(struet games *g)int i, j, nextl, next2;int sum二0;srand (unsigned)time(null);while(1)i=rand()%x;j=rand()%y;if(*g) game_intij=9) continue;(*g) game_intij=9;+sum;for (nex11=t ; nex112; nex11 +)for (next2=-l;next2<2;next2+)i

17、f ( -l<i+nextl && nextl+i<x&& tj+next2 && j+next2<y )if(*g) game_inti+nextlj+next2!=9)(*g) game_inti+nextlj+next2+=l;if (sum二二b) break;實現(xiàn)雷的隨機(jī)分布和各個點周圍雷數(shù)的計算。srand ()隨機(jī)布雷,5. 3. 3打印棋盤:void print_ game(struct games *g, int logo)int i, j;int as;for(i=0;ix;i+)ai二i+1;if (log

18、o=l)printf ("%d", a0);for (i=l;i<x;i+)printf (i<10? " %ct :%ct, ai);printf cnrt);for(i=0;ix;i+)if(i+l<10)printf c%d ,i+1);for (j=0; j<y; j+) printf (z,%d“,(*g). game_inti j);printf("n");elseprintf c%d ,i+1);for (j=0; j<y; j+) printf (z,%d“,(*g). game_inti j);p

19、rintf("n");if(logo=2)printf (d,a0);for(i=l;i<x;i+)printf (i<10? "%d :%d, ai);printf("nn");for(i=0;i<x;i+)if(i+l<10)printf c%d ,i+1);for(j=0;j<y;j+)printf (%c“,(*g) game_charij);printf (rt);elseprintf c%d ,i+1);for(j=0;j<y;j+)printf (%c“,(*g) game_charij);pr

20、intf (rt);5. 3. 4判斷結(jié)束,點開地圖:int judge_game(struet games *g)int sum二0;int i, j;for(i=0;i<x;i+)for(j=0;j<y;j+)辻(*g) game_charij=,*') sum+=l;return sum;int opcnmap(stmct games *g, int i, int j)system(cls);int nextl,next2;if(*g). game_intij二=9) return 1;elseif(*g)game_intij!=0)(*g) game_charij

21、= (char)(*g)game_intij+48);return 2;else(*g) game_charij二'o'for(nextl=-l;nextl2;nextl+)for(next2=-l;next2<2;next2+)if ( -l<i+nextl && nextl+i<x && -l<j+next2 && j+next2<y)if(*g) game_chari+nextlj+next2=, *')openniap(g, i+nextl, j+next2);return 2;點開地

22、圖,即實現(xiàn):當(dāng)輸入坐標(biāo)處為0,打開周圍同樣情況的坐標(biāo)點。即實 現(xiàn)和windows掃雷游戲同樣的功能。6.設(shè)計結(jié)果及分析運行第一步:按enter鍵進(jìn)入:選擇游戲難度,按enter鍵進(jìn)入:10 m m m m please choose:游戲界面,開始從鍵盤輸入數(shù)字,格式為(3,6),點擊enter鍵:搜狗拼音輸入法半游戲失敗顯示,并提示再來一局,程序完畢。設(shè)計結(jié)論本程序在剛開始調(diào)試時有許多錯謀,但都被一一克服,現(xiàn)在在操作本程序時可根據(jù)提示進(jìn)行相關(guān)操作,能正確輸出結(jié)果。在剛開始的幾次調(diào)試中曾經(jīng)岀現(xiàn)過 不能運行、不能產(chǎn)生隨機(jī)數(shù)字、不會正確輸出結(jié)果、不能進(jìn)行循環(huán)等等問題。經(jīng) 同學(xué)的幫助,這些問題得到克

23、服,并且使程序的功能也得到了一定的完善。在 這次設(shè)計過程中,不僅復(fù)習(xí)課本上所學(xué)知識,述通過查資料、問同學(xué)學(xué)到了課本 上沒有的知識。從而啟發(fā)我,要想寫好程序,在寫好課本知識的同時述需要多讀 和專業(yè)有關(guān)的一些書籍,同時還需要多動腦子,盡量把所學(xué)的知識綜合起來應(yīng)用, 力爭寫出完美的程序。除此之外,我述得到了一些有用的教訓(xùn):寫程序時必須要 細(xì)心,不能輸錯一個字符標(biāo)點,就連全角半角也得注意。在修改時要有耐心,編 譯岀錯后必須逐個錯誤去改止,絕不能心急浮躁,否則修改之后述會有新的錯誤。問題及心得體會問題:在本次實習(xí)過程中碰到的編譯、連接的錯誤主要有:缺少變量定義,定義 位置不正確、語法錯誤、注釋的位置等。

24、錯誤解決方法。缺少變量定義,定義位置不正確;由于該程序相對來講稍有些長,前后有些變量不容易聯(lián)系起來,但是在錯 誤信息的提示下一般述是很容易找到。不過需要注意的是在定義的時候有些函 數(shù)使用同樣的變量名而表示不同的作用,因而使用要很小心,定義及定義的位 置要特別留意。為減少這樣的錯誤我后來還是用不同的變量名來表示,結(jié)果引 起的那些錯誤解決了。語法錯誤;大多的語法錯誤在通過書本參考下能夠修改。主要是平時缺乏鍛煉、不太 注意而產(chǎn)生的。如沒有注意具體數(shù)據(jù)使用是有一定的范圉限定;過分重視分號 的重要性而在for、if、while語句中畫蛇添足加分號;在使用文件的時候忘記將 文件先打開,對打開的方式注釋的位

25、置;程序設(shè)計中在注釋的時候不能同我們平常寫字一樣隨心所欲,我們應(yīng)該注 意注釋的格式。注釋中不能含有c語言可執(zhí)行的語句!心得體會課程設(shè)計是本科學(xué)習(xí)階段一次非常難得的理論與實際相結(jié)合的機(jī)會,通過這 次比較完整的一個程序的設(shè)計,我擺脫了單純的理論知識學(xué)習(xí)狀態(tài),和實際設(shè)計 的結(jié)合鍛煉了我的綜合運用所學(xué)的基礎(chǔ)知識,解決實際問題的能力,同時也提高 我查閱文獻(xiàn)資料、對程序整體的把握等其他能力水平,而且通過對整體的掌控, 對局部的取舍,以及對細(xì)節(jié)的斟酌處理,都使我的能力得到了鍛煉,經(jīng)驗得到了 豐富。這是我們都希望看到的也正是我們進(jìn)行課程設(shè)計的目的所在。雖然設(shè)計內(nèi)容繁多,過程繁瑣但我的收獲卻更加豐富。各種組件的

26、運用,各 種算法的應(yīng)用,各種控件的利用我都是隨著設(shè)計的不斷深入而不斷熟悉并逐步掌 握的。和老師以及同學(xué)的溝通交流更使我對程序整體的規(guī)劃與設(shè)計有了新的認(rèn)識 也對自己提出了新的耍求。提高是有限的但提高也是全面的,正是這一次設(shè)計讓我積累了許多實際經(jīng) 驗,也必然會讓我在未來的工作學(xué)習(xí)中表現(xiàn)出更高的應(yīng)變能力和理解力。順利如期的完成本次課程設(shè)計給了我很大的信心,但是也讓多不足的地方, 學(xué)習(xí)其實就是一個不斷完善的過程,正視自己的不足之處,在以后的工作和學(xué)習(xí) 中不斷的彌補(bǔ)這些不足之處,在以后的生活中也要保持同樣的態(tài)度,不斷的完善 自己。對本設(shè)計過程及方法、手段的改進(jìn)建議我們認(rèn)為此程序太過簡單,應(yīng)該更進(jìn)一步把掃

27、雷界面輸出為圖型圖案。也即 是能夠使用方塊,然后調(diào)用graphics, h庫函數(shù)rectangle(x, y, xx, yy)畫一格矩 形,setfil 1 styl e (solid_fill, col or)設(shè)置填充方式,fl oodfil 1 (x+1, y+1, white) 填充方塊。讓方塊看起來有立體感,將矩形上方和左方的邊線設(shè)為白色,下方和 右方的邊線設(shè)為黑色。使掃雷界面更加美觀。再此基礎(chǔ)上增加標(biāo)記地雷的功能, 比如說使用小紅旗,使玩家能夠跳過地雷。如果可以的話,可以考慮使用鼠標(biāo)來 控制點擊位置,如果更好的話可以加入聲咅,比如沒有點到雷的開心的聲咅,點 到雷后的倒霉聲。通過老師的

28、指導(dǎo),這個軟件的設(shè)計要更趨于人性化,也即是加 入提示輸入格式,以解決輸入格式錯誤問題,而不是直接結(jié)束,重啟。參考文獻(xiàn)郭翠英主編的c語言課程設(shè)計實例精編; 張芳妮呂波譯c語言編程常見問題解答; 譚浩強(qiáng)c程序設(shè)計題解與上機(jī)指導(dǎo)(第二版)。伍俊良.vb課程設(shè)計與系統(tǒng)開發(fā)案例m.北京附:源程序代碼:#include <stdio.h>#include "stdlib.h"# include "time.h"# defines 20intx;/*棋盤行數(shù)*/int y;/*棋盤列數(shù)*/intb;/*選擇游戲難度1簡單2普通3困難4自定義*/int h;

29、/*雷的個數(shù)*/struct games g;struct gamesint game_intss;char game_charss;void initialvalue_game(struct games *g)/*棋盤初始化*/int i,j;for(i=0;i<x;i+)for(j=0;j<y;j+)(*g).gamejntij=0;(*g).game_charij=,#'initialmine_game(struct games *g) /*隨機(jī)布雷*/int ij,nextl,next2;int sum=o;srand(unsigned)time(null);whi

30、le(l)i=rand()%x;j=rand()%y;if(*g).game_intij=9) continue;(*g).game_intij=9;+sum;for(next 1 =-1 ;nextl <2;nextl +)for(next2=-1 ;next2<2;next2+)if( -l<i+nextl && nextl+ivx&& -l<j+next2 && j+next2<y )if(*g).game_inti+nextl j+nex t2!=9)(*g).game_inti+nextl j4-next2

31、4-=l;if(sum=b) break;void print_game(struct games *g,int logo) /*打印棋盤*/int i,j;int as;for(i=0;i<x;i+)ai=i+l;if(logo= 1)printfc1 %d”,ao);fbr(i=l;i<x;i4-+)printf(i<10? n %d” : ” d”,ai); printf(” nn“);for(i=0;i<x;i+)if(i+l<10)printf(m%d ”,i+1);for(j=0;j<y;j+) printf(n%d n,(*g).game_in

32、tij); printf(hnn);elseprintf(h%d ”,i+1);for(j=0;jvy;j+) printf(”d n,(*g).game_intij); printf(nnh);)if(logo=2)printf(n %dn,ao);for(i=l;i<x;i+)printf(i<10? "%d“ : ” d”,ai);printf(hnn");for(i=0;i<x;i+)printf(h%d ”,i+1);for(j=0;j<y;j+)printf(n%c n,(*g).game_charij); printfcn*1);els

33、eprintf(h%d ”,i+1);for(j=0;j<y;j +)printf("%c m,(*g).game_charij); printf(nnn);int judge_game(struct games *g)/*判斷游戲是否結(jié)束*/int sum=o;int i,j;for(i=0;i<x;i+)for(j=0;j<y;j+)if(*g)game_chari j='#1) sum+= 1;return sum;int openmap(struct games *g,int i,int j)/*點開地圖*/system(” cis”);int ne

34、xtl,next2;if(*g).game_intij=9) return 1;elseif(*g).game_intij!=o)(*g).game_charij=(char)(*g).gamejntij+48);return 2;else(*g).game_charij=,o,;for(next 1 =-l ;nextl <2;nextl +)for(next2=-1 ;next2<2;next2+)if( -l<i+nextl && nextl+ivx && -l<j+next2 && j+next2<y)if(

35、*g).game_chari+next 1 j+next2=#)openmap(g,i+nextl j+next2);return 2;main()int i,j;int no;int begin=l;int h;while(begin)printf (hnnnnnnnnttt=nn"httt|歡迎進(jìn)入掃雷|nnn”httt|按回車鍵繼續(xù)|nnh%tt=nnnn ”); getchar();system("cls");printf(n nnnnnnnnn請選擇游戲難度:nn”);printf(n1簡單難度 nnn);printf(”2普通難度nn“);printf

36、(”3困難難度nnn);printf(n4自定義難度nnn);scanf(n%dm,&h);getchar();if(o<h&&h<5)switch(h)case 1:x=10;y=io;b=10;break;case 2:x=15;y=15;b=40;break;case 3:x=20;y=20;b=60;break;case 4:system(mclsm);printfc*請輸入棋盤行列數(shù)(小于20且用逗號隔開):”); scanf(n%d,%dn,&x,&y);getchar();printf(n請輸入雷的個數(shù):”);scanf(n%d

37、m,&b);getchar();break;break;elseprintf(”輸入錯誤請重新輸n”);while(begin)system("clsh);initial value_game(&g);initialmine_game(&g);print_game(&g,2);no=1;while(no)printf("please choose:"); scanf(n%d,%d",&i,&j);getchar();if(-l<i-l && i-l<x &&-kj

38、-l && j-l<y) switch(openmap (&g,i-l ,j-l)case 1:print_game(&g,l);printfc'游戲結(jié)束!按回車鍵再來一局n”);if(getchar()='n') begin=l;else begin=o;no=0;break;case 2:if(judge_game(&g)=b)printf(nwin! nu); print_game(&g,l);printf(n按回車鍵再來一局);if(getchar()='n') begin=l;else be

39、gin=o;no=0;break;else print_game(&g,2);n0=l ;break; default:break;elseprintf("你輸入錯誤!請重新輸入n“);下面紅色字體是贈送的精美網(wǎng)絡(luò) 散文欣賞,不需要的朋友可以下載后編輯刪 除!謝謝!一條獵狗將兔子趕出了駕,一育追趕他,追了很久仍沒有捉到。牧羊看到此種情 景,譏笑獵狗說'你們兩個之間小的反而跑得快得多。昔狗回答說:,你不知道我 們兩個的跑是完全不同的!我僅僅為了一頓飯而跑,他卻是為了性命而跑呀!目標(biāo)這話被獵人聽到了,獵人想:獵狗說的對啊,那我要想得到更多的獵物,得想個 好法子于是,獵人又

40、買來幾條獵狗,凡是能夠在打獵中捉到兔子的,就可以得 到幾根骨頭,捉不到的就沒有飯吃.這一招果然有用,獵狗們紛紛去努力追兔子, 因為誰都不愿意看著別人有骨頭吃,自已沒的吃.就這樣過了一段時間,問題又 出現(xiàn)了大兔子非常難捉到,小兔子好捉.但捉到大兔子得到的獎賞和捉到小兔子 得到的骨頭差不多,獵狗們善于觀察發(fā)現(xiàn)了這個竅門,專門去捉小兔子慢慢的, 大家都發(fā)現(xiàn)了這個竅門.獵人對獵狗說:最近你們捉的兔子越來越小了,為什么?獵狗們說:反正沒有什么大的區(qū)別,為什么費那么大的勁去捉那些大的呢?動力獵人經(jīng)過思考后,決定不將分得骨頭的數(shù)量與是否捉到兔子掛鉤,而是采用每過 一段時間,就統(tǒng)計一次獵狗捉到兔子的總重量按照

41、重量來評價獵狗,決定一段 時間內(nèi)的待遇.于是獵狗們捉到兔子的數(shù)量和重量都增加了.獵人很開心.但是過 了一段時間,獵人發(fā)現(xiàn),獵狗們捉兔子的數(shù)量又少了,而且越有經(jīng)驗的獵狗,捉 兔子的數(shù)量下降的就越利害.于是獵人又去問獵狗.獵狗說'我們把最好的時間都 奉獻(xiàn)給了您,主人,但是我們隨著時間的推移會老,當(dāng)我們捉不到兔子的時候, 您還會給我們骨頭吃嗎?四獵人做了論功行賞的決定.分析與匯總了所有獵狗捉到兔子的數(shù)量與重量,規(guī)定 如果捉到的兔子超過了一定的數(shù)量后,即使捉不到兔子,每頓飯也可以得到一定 數(shù)量的骨頭潴狗們都很高興,大家都努力去達(dá)到獵人規(guī)定的數(shù)量一段時間過后, 終于有一些獵狗達(dá)到了獵人規(guī)定的數(shù)量

42、.這時,其中有一只獵狗說:我們這么努力, 只得到幾根骨頭,而我們捉的獵物遠(yuǎn)遠(yuǎn)超過了這幾根骨頭我們?yōu)槭裁床荒芙o自 己捉兔子呢?'于是,有些獵狗離開了獵人,自己捉兔子去了骨頭與肉兼而有 之五=1獵人意識到獵狗止在流失,并且那些流失的獵狗像野狗一般和自己的獵狗搶兔 子。情況變得越來越糟,獵人不得已引誘了一條野狗,問他到底野狗比獵狗強(qiáng)在 那里。野狗說:“獵狗吃的是骨頭,吐出來的是肉?。?”,接著又道:“也不是所 有的野狗都頓頓有肉吃,大部分最后骨頭都沒的舔!不然也不至于被你誘惑。” 于是獵人進(jìn)行了改革,使得每條獵狗除基本骨頭外,可獲得其所獵兔肉總量的n, 而且隨著服務(wù)時間加長,貢獻(xiàn)變大,該比例

43、述可遞增,并有權(quán)分享獵人總兔肉的 嘰就這樣,獵狗們與獵人一起努力,將野狗們逼得叫苦連天,紛紛強(qiáng)烈要求總 歸獵狗隊伍。只有永遠(yuǎn)的利益,沒有永遠(yuǎn)的朋友日子一天一天地過去,冬天到了,兔子越來越少,獵人們的收成也一天不如一天。 而那些服務(wù)時間長的老獵狗們老得不能捉到兔子,但仍然在無憂無慮地享受著那 些他們自以為是應(yīng)得的大份食物。終于有一天獵人再也不能忍受,把他們掃地出門,因為獵人更需要身強(qiáng)力壯的獵狗一提到等字,首先就能想到等車等人,等的過程中就覺得時間和蝸牛一般在向前 移動,焦慮,煩躁,一遍遍張望倒數(shù),腳下的那塊地恨不能踩個洞出來。這時候 何不稍微平復(fù)一下心情,換個角度看周圍的云卷云舒,花開花落。c就

44、如在這個季節(jié),我等待一場秋雨的來臨。你可以在深夜偷偷來襲,清晨 睜眼看見濕漉漉的地面,萬紫千紅的用傘,車子疾馳而過濺起的水花,這些給我 帶來的是何等的意外驚喜。你可以在某個午后,舞動一片片飄落的黃葉,撩起街 邊女人的裙裝,趕著路人的腳步匆匆忙忙來了。一抬頭,灰色的天空就是成熟穩(wěn) 重的男人的臉龐,不茍言笑,嚴(yán)厲中卻有幾分溫暖。你可以在黃昏我下班的時候 飄飄灑灑,沒有南傘也不用沮喪,任你蜻蜓點水式地親吻我的發(fā)絲額頭鼻尖嘴唇, 不緊不慢往回走,這樣的場景在我的夢里岀現(xiàn)過好多次。等待一場秋用的來臨, 也好比等待一個人的出現(xiàn)。不要去責(zé)怪怨恨,也不要為難自己。既然決定用等待 這種獨有的方式碰碰運氣,就要有

45、破釜沉舟的決心。來或者不來,我就一直在那 里,驚喜了雙眸或者失落了時光,都寫在心底。l 學(xué)會了等待,孤獨不再是孤獨。以為在無人的街道我會頻頻回首,或者努力 抬頭看昏黃的路燈打著疲倦的噸兒,強(qiáng)碩地收回淚水。恰恰相反,我卻絲毫沒有 表現(xiàn)出無助和恐慌,頭發(fā)向后甩一甩,高跟鞋踩的嗤口登作響,突然間我述哼起幾 句歌詞。這多情而迷人的夜色是特意為我安排的嗎?我在心里笑了。如果習(xí)慣了 有人聽你嘮叨陪你解悶,你笑他樂你哭他愁的日子,廠定要把這個人的全部心意 捧在手心,點點滴滴拼湊成詩篇,等你們老了,選擇某個風(fēng)和日麗的午后,拿出 這些詩稿晾曬。即使現(xiàn)在你在夭涯他在海角,心心相通的奇妙就是只可意會不可 言傳。享受

46、孤獨帶來的沉淀,夜不再黑路不再長思念不再苦澀。我選擇了等待,義無反顧。我享受著孤獨,走過春夏秋冬,每個季節(jié)陪我一 起驚艷。有一次,在我參加的一個晚會上,主持人問一個小男孩:你長大以后要做什么樣的人?孩子 看看我們這些企業(yè)家,然后說:做企業(yè)家。在場的人忽地笑著鼓起了掌。我也拍了拍手,但 聽著并不舒服。我想,這孩子對于企業(yè)究竟知道多少呢?他是不是因為當(dāng)著我們的面才說要 當(dāng)企業(yè)家的呢?他是不是受了大人的影響,以為企業(yè)家風(fēng)光,都是有錢的人,才要當(dāng)企業(yè)家 的呢?這一切當(dāng)然都是一個謎。但不管怎樣,作為一個人的人生志向,我以為當(dāng)什么并不重要; 不管是誰,最重要的是從小要立志做一個努女的人。我小的時候也曾有人

47、問過同樣的問題,我的回答不外乎當(dāng)教師、解放軍和科學(xué)家之類。 吋光一晃流走了二十多年,當(dāng)年的孩子,如今已是四十出頭的大人。但仔細(xì)想一想,當(dāng)年我 在大人們跟前表白過的志向,實際一個也沒有實現(xiàn)。我身邊的其他人差不多也是如此。有的 想當(dāng)教師,后來卻成了個體戶;想當(dāng)解放軍的,有人竟做了囚犯。我上大學(xué)吋有兩個同窗好 友,他們現(xiàn)在都是我國電子行業(yè)里才華出眾的人,一個成長為“康佳”集團(tuán)的老總,一個領(lǐng)導(dǎo) 著tcl集團(tuán)。我們?nèi)齻€不期而然地成為中國彩電骨干企業(yè)的經(jīng)營者,可是當(dāng)年大學(xué)畢業(yè)吋, 無論有多大的想像力,我們也不敢想十幾年后會成現(xiàn)在的樣子。一切都是我們在奄主中見機(jī) 行事,一步一步努力得來的。與其說我們是有理想

48、的人,不如說我們是一直在努力的人。并非我們不重視理想,而是因為樹雄心壯志易,為理想努力難,人生自古就如此。有誰 會想到,十多年前的今天,我曾是一個在街頭彷徨,為生存犯愁的人?當(dāng)時的我,一無所有, 前途渺茫,真不知路在何處。然而,我卻沒有灰心失望,回想起來,支撐著我走過這段坎坷 歲月的正是我的意志品格。當(dāng)許多人以為我已不行、該不行了的時候,我仍做著從地上爬起 來的努力,我堅信人生就像馬拉多納踢球,往往是在快要倒下去的時候“進(jìn)球”獲得生機(jī)的。 事實也正是如此,就在“山重水復(fù)疑無路”的時候,香港一家企業(yè)倒閉給了我東山再起的機(jī)會, 使我能夠與掌握世界最新技術(shù)的英國科技人員合作,開發(fā)技術(shù)先進(jìn)的彩色電視機(jī)

49、,從此一舉 走出困境。有人說,“努力''與“妙?是人生一左一右的兩道風(fēng)景。但我以為,人生最美最不能遜色 的風(fēng)景應(yīng)該是努力。努力是人生的一種精神狀態(tài),是對生命的一種赤子之情。努力是擁有之 母,擁有是努力之子。一心努力可謂條條大路通羅馬,只想獲取可謂道路逼仄,天地窄小。 所以,與其規(guī)定自己一定要成為一個什么樣的人物,獲得什么東西,不如磨練自己做一個努 力的人。志向再高,沒有努力,志向終難堅守;沒有遠(yuǎn)大目標(biāo),因為努力,終會找到奮斗的 方向。做一個努力的人,可以說是人生最切實際的目標(biāo),是人生最大的境界。許多人因為給自己定的h標(biāo)太高太功利,因為難以成功而變得灰頭土臉,最終灰心失望。 究其

50、原因,往往就是因為太關(guān)注擁有,而忽略做一個努力的人。對于今天的孩子們,如果只 關(guān)注他們將來該做個什么樣的人物,不把意志品質(zhì)作為一個他人的fi標(biāo)提出來,最終我們只 能培養(yǎng)出狹隘、自私、脆弱和境界不高的人。遺憾的是,我們在這方面做得并不盡如人意。我一直在思忖:要不要給父親打個電話,要不要呢?父親一定是不在家的。他這時也許正站在5樓或者8樓的腳手架上奮力扔上了又 一塊磚,擦一擦汗的工夫,就被人拼命地吆喝。十幾年了,人也上了 50,不知 道他,還受不受得了。但父親是心甘情愿又志得意滿的,至少他每次與我說話都在努力表達(dá)這樣的意 思。而我,越發(fā)地不安。我今年22歲了,父親52。我4歲時母親改嫁他鄉(xiāng),父親和

51、我磕磕絆絆地活著。 多少年了,數(shù)也數(shù)不清楚,那些漫長的日子怎么可以用一個數(shù)字說過來呢?父親的智商比一般人要低一點,生活簡單得像幾條縱橫的網(wǎng)格。很早的時候,別 人扔掉一架破木車,他撿回來,敲敲打打,然后拖著上路了,沿途把別人扔下的 酒瓶廢鐵等破東西撿上車拖回家。時間久了,鄉(xiāng)鄰們也把不要了的東四放到他車 ±o我整天埋在那一堆破爛里翻翻揀揀,窮人的孩子,六七歲就當(dāng)了家。冬天來的時候,我放錢的紙盒子已經(jīng)有了沉甸甸的滿足。這年過年,我們吃了魚 和肉。一個8歲的女孩子,把年夜飯看了又看,從心底里微笑著叮囑自己記住那 一刻龐大的快樂,所以,一直到現(xiàn)在,十多年過去了,也忘不了當(dāng)時滿滿的幸福。父親種的

52、瓜菜都新鮮水嫩,我們兩個人吃得很少,我就把大部分放到父親的小推 車上。鄉(xiāng)里鄉(xiāng)親的嫂子大娘誰要就從上面拿走,回去包頓餃子或者做頓湯面,也 不說謝,偶爾記得,差他們的孩子送一碗給我,我笑笑地接著,也不說謝 吃百家飯穿百家衣,我沉默著、絢爛著,也成長著。每天最好的時光便是我踩在 小凳上彎腰炒菜,父親坐在灶前燒火,不時驚慌地去扶一下我腳下的小凳,見很 安全了,就呵呵笑起來。現(xiàn)在去想那段日子,總是首先憶起灶間的那片陽光,10 歲左右的陽光,竟然是天長地久的樣子。這樣的fi子持續(xù)了多少年我已經(jīng)不記得了。我用紙盒子里的錢交學(xué)費,買作業(yè)本, 也偶爾買點肉做給父親吃,是恬然的安靜感覺。這樣的fi子讓人有種慣性的

53、依賴, 像一只鳥的飛翔,沒有轉(zhuǎn)彎和阻隔。突然的一天,父親拖著壞了很多處的車子從廢品站回來,臉上青一塊紫一塊的, 透著強(qiáng)烈的委屈和惶惑。錢被鎮(zhèn)上的小混混搶了,父親被打了。我安慰了他半天, 最后還是忍不住哭了。這是第一次,然后是,接二連三。父親越來越惶惑不安, 吃飯越來越少,睡覺也很不安穩(wěn),經(jīng)常半夜起來對著窗戶呆呆地坐幾個時辰。話 也不說了,更不笑,臉上眼睜睜地消瘦下來,眼神是不安的游移。我不知道該怎 么辦。我知道他往fi細(xì)緩如流水的生活突然碰上了巨巖,他緩不過神來,難受得 緊。那天,父親去廢品站很晚了還沒回來。外面一片漆黑,心里一陣陣發(fā)毛的我跑出 去沿路找。嗓子喊破了,像一面破鑼,震得自己心里腦里嗡嗡的,卻并沒傳出多 大響聲。夜里的村野風(fēng)吹草驚,自己的腳步聲和喊聲總會引來一片陌生的聲音。 我毛骨悚然。最終在一個大水灣邊看到父親的車子,沒有人。我立刻就大哭起來, 感覺整個人都化成了水在不斷地往外流,直到整個人都空了。猛然聽到一陣急促水聲的時候,我嚇了一跳,哭聲被硬生生截斷在喉嚨里。我望 著聲音的來處,好久才看清楚有一個人從水里走過來,越來越近,像從水里長出 來的一樣,水被擦出一片嘩嘩聲,有沉重的呼吸聲,近了,又近了是父親, 是父親!父親跑過來喘著氣抱住我

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論