猜數(shù)字游戲C語言課程設(shè)計_第1頁
猜數(shù)字游戲C語言課程設(shè)計_第2頁
猜數(shù)字游戲C語言課程設(shè)計_第3頁
猜數(shù)字游戲C語言課程設(shè)計_第4頁
猜數(shù)字游戲C語言課程設(shè)計_第5頁
已閱讀5頁,還剩14頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、c程序設(shè)計課程設(shè)計報告(2014 2015學(xué)年第 2 學(xué)期)題 目: 猜數(shù)字游戲 學(xué) 院: 機械工程學(xué)院 班 級: 機械1310班 學(xué) 號: 1303090190 姓 名: 楊晨 指導(dǎo)教師: 羅濤華 時 間:起 2015年5月25日止2015年5月31日 一、 課程設(shè)計基本信息課程代碼:05190124課程名稱:計算機基礎(chǔ)課程設(shè)計課程英文名稱: computer-based course design課程所屬單位(院(系)、教研室):數(shù)學(xué)與計算機學(xué)院計算機基礎(chǔ)課程群課程面向?qū)I(yè):食品科學(xué)與工程學(xué)院、機械工程學(xué)院、電氣與電子工程學(xué)院、土建學(xué)院、動物科學(xué)與營養(yǎng)工程學(xué)院、化學(xué)與環(huán)境工程學(xué)院、工商管理

2、類、國際經(jīng)濟與貿(mào)易、旅游管理、金融學(xué)、行政管理、漢語言文學(xué)、英語、護理學(xué)、康復(fù)治療專業(yè)、生物科學(xué)類、制藥工程、制藥工程(生物制藥)、藥物制劑、物流管理課程類型:必修課先修課程:大學(xué)計算機基礎(chǔ)通識選修課程、程序設(shè)計課程學(xué)分:1 總學(xué)時:1周二、 課程設(shè)計目標掌握所學(xué)語言程序設(shè)計的方法,熟悉 所學(xué)語言的開發(fā)環(huán)境及調(diào)試過程,熟悉所學(xué)語言中的數(shù)據(jù)類型,數(shù)據(jù)結(jié)構(gòu)、語句結(jié)構(gòu)、運算方法,鞏固和加深對理論課中知識的理解,提高學(xué)生對所學(xué)知識的綜合運用能力。通過綜合設(shè)計要求達到下列基本技能:1培養(yǎng)查閱參考資料、手冊的自學(xué)能力,通過獨立思考深入鉆研問題,學(xué)會自己分析、解決問題。 2通過對所選題目方案分析比較,確立方

3、案,編制與調(diào)試程序,初步掌握程序設(shè)計的方法,能熟練調(diào)試程序。 3系統(tǒng)設(shè)計編程簡練,可用,功能全面,并有一定的容錯能力。用戶界面良好,有較好的輸出功能。在完成課題基本要求后,具有創(chuàng)新型設(shè)計,具有一定的實用價值。4根據(jù)個人的設(shè)計調(diào)試過程,撰寫設(shè)計報告。三、 課程設(shè)計內(nèi)容熟練掌握所學(xué)語言的基本知識:數(shù)據(jù)類型(整形、實型、字符型、指針、數(shù)組、結(jié)構(gòu)等);運算類型(算術(shù)運算、邏輯運算、自增自減運算、賦值運算等);程序結(jié)構(gòu)(順序結(jié)構(gòu)、判斷選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu));大程序的功能分解方法(即函數(shù)的使用)等。進一步掌握各種函數(shù)的應(yīng)用,包括時間函數(shù)、繪圖函數(shù),以及文件的讀寫操作等。四、 課程設(shè)計要求1. 要求每個同學(xué)都

4、要認真對待,積極參與。2. 課程設(shè)計結(jié)束時,提交完成的所有源程序、相關(guān)文件和可執(zhí)行文件。同時填寫并完成課程設(shè)計報告冊。3. 不符合要求的程序、設(shè)計報告、抄襲的設(shè)計報告或源程序代碼、在設(shè)計中完全未參與的將作不及格處理。五、 考核方式指導(dǎo)老師負責(zé)驗收程序的運行結(jié)果,并結(jié)合學(xué)生的工作態(tài)度、實際動手能力、創(chuàng)新精神和設(shè)計報告等進行綜合考評,百分制計算,具體考核標準主要包含以下幾個部分:1. 程序運行情況20分2. 程序功能的完善程度10分3. 程序結(jié)構(gòu)的合理性10分4. 對問題的答辯情況20分5. 創(chuàng)新情況10分6. 學(xué)生的工作態(tài)度與獨立工作能力10分7. 設(shè)計報告內(nèi)容的規(guī)范性20分備注:1. 按規(guī)定時

5、間填寫各階段文檔,學(xué)習(xí)態(tài)度加5分2. 設(shè)計報告內(nèi)容雷同扣40分,無調(diào)試過程問題分析扣10分,無參考文獻扣10分3. 源程序無注釋則在程序結(jié)構(gòu)合理性扣10分六、 課程設(shè)計主要參考資料1. 譚浩強著. c程序設(shè)計(第3版). 北京:清華大學(xué)出版社,2005.72. 劉光蓉、汪靖、陸登波主編. c程序設(shè)計實驗與實踐教程. 北京:清華大學(xué)出版社,2011.23. 游洪躍主編. c語言程序設(shè)計實驗與課程設(shè)計教程. 北京:清華大學(xué)出版社,2011.54. (美)pertervan derlinden著,徐波譯. c 專家編程(c編程語言經(jīng)典之作) . 北京:人民郵電出版社,2008.25. 凱尼格 著,高

6、巍 譯. c陷阱與缺陷. 北京:人民郵電出版社,2008.26. mark de berg等著,鄧俊輝譯,計算幾何-算法與應(yīng)用(第3版),清華大學(xué)出版社,2009年8月7. 楊克昌編著,計算機程序設(shè)計典型例題精解,國防科技大學(xué)大學(xué)出版社,1999年3月七、 課程設(shè)計計劃安排時 間任 務(wù)課程設(shè)計前一周選擇課程設(shè)計題目,分析課題的要求,確定設(shè)計方案,完成報告冊中“課程設(shè)計概述”課程設(shè)計第1天按功能模塊編寫詳細設(shè)計說明,完成報告冊中“總體設(shè)計”課程設(shè)計第2天編寫程序、調(diào)試程序課程設(shè)計第3天編寫程序、調(diào)試程序,完成報告冊中“詳細設(shè)計”課程設(shè)計第4天調(diào)試程序,完成報告冊中“調(diào)試分析過程”課程設(shè)計第5天完

7、成報告冊中“總結(jié)”、“參考文獻”、“課程設(shè)計評審表”部分內(nèi)容,提交課程設(shè)計報告、源程序、面試或答辯一、課程設(shè)計概述課程設(shè)計問題描述計算機隨機生成一個各位數(shù)字不重復(fù)的四位數(shù),系統(tǒng)根據(jù)玩家輸入的數(shù)字給出提示信息: a-表示位置與數(shù)字均正確的個數(shù); b-表示數(shù)字正確但位置不正確的個數(shù)。玩家根據(jù)提示調(diào)整輸入,如果玩家輸入超過八次仍不成功,游戲自動結(jié)束。設(shè)計要求1. 主函數(shù)實現(xiàn)正整數(shù)的隨機產(chǎn)生,主菜單的顯示(圖18.1)2. 編寫一函數(shù)實現(xiàn)幫助信息的輸出(圖18.2)3. 編寫一函數(shù)控制比較的次數(shù)和信息的輸出。當玩家輸入次數(shù)不超過8時,每次將玩家輸入的數(shù)字和隨機數(shù)依次進行比較,如果匹配,則輸出“you

8、win !”,否則輸出提示信息。設(shè)計目的掌握結(jié)構(gòu)化程序設(shè)計的主體思想,以自頂向下逐步求精的方法編制程序解決一些實際的問題,為將來編寫軟件積累一些典型的案例處理經(jīng)驗。開發(fā)環(huán)境操作系統(tǒng):windows7軟件環(huán)境:microsoft visual c+ 6.0二、總體設(shè)計(1)系統(tǒng)功能需求分析猜數(shù)字游戲軟件的總體目標是按照特定游戲規(guī)則為用戶提供一個方便友好的游戲界面,同時給用戶提供排行榜的功能使用戶能夠按照特定的目標提高自己的成績,并且提供相應(yīng)的幫助功能。游戲規(guī)則如下。游戲軟件隨機產(chǎn)生4個數(shù)字,但不顯示,給用戶提供輸入提示符,讓用戶猜4個數(shù)字的值和位置順序。如果數(shù)字值和位置順序均正確,則猜數(shù)字成功。

9、玩家有8次猜數(shù)字的機會,如果在8次之內(nèi)仍末猜出正確的數(shù)字值和數(shù)字位置順序,則提示用戶游戲失敗。一旦玩家在8次的次數(shù)限制內(nèi)猜出正確的數(shù)字值和位置順序,則贏得游戲。本游戲軟件需要實現(xiàn)以下一些基本功能。 游戲區(qū):玩家可以在游戲區(qū)逐次猜數(shù)字,系統(tǒng)給出玩家每次猜數(shù)字后的提示,包括數(shù)值、位置均正確的數(shù)字個數(shù)和數(shù)值正確但位置不正確的數(shù)字個數(shù)。 幫助:玩家通過幫助功能了解游戲規(guī)則。退出:玩家想結(jié)束并退出游戲系統(tǒng)。二、總體設(shè)計(2)系統(tǒng)總體設(shè)計框架 三、詳細設(shè)計(1)主要功能模塊 的算法設(shè)計c編譯器提供了基于ansi標準的偽隨機數(shù)發(fā)生器函數(shù)rand()和srand(),用來生成隨機數(shù)。這二個函數(shù)的工作過程如下:

10、 srand()提供一個種子,它是一個unsigned int類型,其取值范圍從065535; 然后調(diào)用srand(),它會根據(jù)提供給srand()的種子值返回一個隨機數(shù)(在0到32767之間); 根據(jù)需要多次調(diào)用srand(),從而不間斷地得到新的隨機數(shù); 無論什么時候,都可以給srand()提供一個新的種子,從而進一步“隨機化”srand()的輸出結(jié)果。三、詳細設(shè)計(1)主要功能模塊源程序#include #include #include void main( void ) void help(); /函數(shù)聲明 void compare(int a); /函數(shù)聲明int i,k = 0,

11、a4,b;srand( (unsigned)time( null ) );while (1)for(i=0;i4;i+)ai=rand()%10; if(a0 != 0)break;三、詳細設(shè)計(2)主要功能模塊 的算法設(shè)計1. 輸出游戲菜單2. 輸出游戲規(guī)則3. 比較用戶輸入數(shù)據(jù)與系統(tǒng)隨機數(shù),并產(chǎn)生提示信息4. 玩家從鍵盤輸入數(shù)據(jù)5. 比較對應(yīng)位置上的數(shù)6. 輸出游戲結(jié)果三、詳細設(shè)計(2)主要功能模塊 源程序printf(猜數(shù)字游戲:n);printf(*n);printf( 1.新游戲n); printf( 2.幫助n);printf( 3.退出n);printf(*n);printf(n

12、請輸入選擇:n); scanf(%d,&b); while(b!=3) switch(b) case 1:compare(a);break;case 2:help();break;default:printf(error!); scanf(%d,&b);void help()/游戲規(guī)則說明函數(shù)printf(該游戲由程序隨機生成四個0到9的數(shù)字n游戲者有八次機會來根據(jù)系統(tǒng)提示猜測數(shù)字n);printf(na-表示位置與數(shù)字均正確的個數(shù)nb-表示數(shù)字正確但位置不正確的個數(shù)n);void compare(int a)/比較用戶輸入數(shù)據(jù)與系統(tǒng)隨機數(shù),并產(chǎn)生提示信息int b4,i,j,k=1,a=0,

13、b=0,n=8,x;printf(請輸入猜測的四位數(shù):n);while(a!=4&k=n) a=0;b=0;scanf(%d,&x);/玩家從鍵盤輸入的數(shù)據(jù)while(x10000)printf(輸入不合法!n);scanf(%d,&x);for(i=3;i=0;i-)bi=x%10;x=x/10;for(i=0;i4;i+)/比較對應(yīng)位置上的數(shù)if(ai=bi) a+;for(i=0;i4;i+)for(j=0;j8) printf(游戲失敗!n);四、調(diào)試分析過程(1)調(diào)試過程出現(xiàn)的問題及解決方法剛開始執(zhí)行輸入函數(shù),按數(shù)字順序輸入,輸完后執(zhí)行顯示功能,數(shù)字、字母的位置顯示不對,試著在其中增

14、加一些語句,希望能把所需結(jié)果按正常順序顯示,但暫時沒有成功,最后在老師的幫助下,所需結(jié)果能按正常順序輸出了。在前面對猜數(shù)字游 戲進行需求分析的過程中,已經(jīng)初步明確了系統(tǒng)的主要功能模塊和用戶需求,下面將在總體設(shè)計的過程中,給出猜數(shù)字游戲的模塊結(jié)構(gòu)、流程描述以及界面布局,并使得系統(tǒng)的總體設(shè)計符合軟件工程中總體設(shè)計的基本原則。開發(fā)與設(shè)計的總體思想: 猜數(shù)字游戲是一種大眾娛樂游戲,開發(fā)與設(shè)計的重點在于游戲供玩家進行猜數(shù)字游戲的原始數(shù)字的產(chǎn)生和用戶每次進行猜數(shù)字操作之后的游戲提示,這兩方面的規(guī)則設(shè)計往往決定了軟件運行的正確性和質(zhì)量。同時,要謹記調(diào)試失敗的原因,以免下次犯同類錯誤。四、調(diào)試分析過程(2)測

15、試數(shù)據(jù)及測試結(jié)果游戲初始畫面進入系統(tǒng)選擇1進行游戲,隨機輸入4個不同的數(shù)字輸入3個不同的數(shù)則會提示輸入有誤選擇2系統(tǒng)幫助界面五、總結(jié)設(shè)計用到的知識點c編譯器提供了基于ansi標準的偽隨機數(shù)發(fā)生器函數(shù)rand()和srand(),用來生成隨機數(shù)。這二個函數(shù)的工作過程如下:srand()提供一個種子,它是一個unsigned int類型,其取值范圍從065535; 然后調(diào)用rand(),它會根據(jù)提供給srand()的種子值返回一個隨機數(shù)(在0到32767之間); 根據(jù)需要多次調(diào)用rand(),從而不間斷地得到新的隨機數(shù); 無論什么時候,都可以給srand()提供一個新的種子,從而進一步“隨機化”r

16、and()的輸出結(jié)果。收獲與體會在進行課程設(shè)計之前幾天,不知從何入手,一臉茫然。為什么呢?因為我們想自己自己做出來而不參考任何資料,以為這樣才可體現(xiàn)我們的智慧和能力,其實這是大錯特錯的。當然也不是一味強調(diào)自己動腦自己做出來不好,從開發(fā)方面角度來說是可以的,有些東西也并不是一味的照搬照抄。抱著這樣的態(tài)度迷茫了三四天只想出了一丁點大至結(jié)構(gòu)。最后決定上網(wǎng)找資料,不查不知道,一查大吃一驚,不但自己的想法網(wǎng)上比比皆是,比自己的想法更完美更合理的多得看都看不完。此時真是自愧不如,如早從網(wǎng)上借鑒,集大家之所成,加上自己的修改完善,早已做出了更好的系統(tǒng)結(jié)結(jié)構(gòu)和想法了?,F(xiàn)在才知道,一個人的智慧敵不過千萬人智慧的

17、集成,能借鑒的盡量借鑒,然后再修改完善,增加自己所需的功能,做出自己的特色。偉大的物理學(xué)家牛頓不也說過他之所以成功是站在偉人的肩上嗎?完成設(shè)計后,我覺得收獲不少,首先是自己首次應(yīng)用所學(xué)知識做出了這個游戲系統(tǒng),以前從未做過這樣大(這是對我而言,在專業(yè)人仕看來是小菜一碟)的程序,多少心里有點甜美的感覺;而收獲更大的是讓我學(xué)到了怎樣和他人合作完成一件任務(wù),以及在完成的過程中如何溝通。不足與努力方向完成設(shè)計是在一定時間內(nèi)完成的,在完成這個設(shè)計時,我們做得顯然有一些緊迫,我想是沒合理安排好時間和開始態(tài)度不正確所致,做守完后我覺得合理安排時間是非常重要的否則可能時間已到而還無法完成或完成得倉促,應(yīng)合理安排時間給各個環(huán)節(jié)。六、參考文獻參考書籍及參考論文與網(wǎng)址c語言程序設(shè)計實驗指導(dǎo)與習(xí)題解答 蔣清明 人民郵電出版社 c語言程序設(shè)計案例教程 張基溫 清華大學(xué)出版社課程設(shè)計與系統(tǒng)開發(fā)案例 伍俊良 清華大學(xué)出版社 c程序設(shè)計 (第三版) 譚浩強 清華大學(xué)出版社 c語言程序設(shè)計 蔣清明 人民郵電出版社 課程設(shè)計成績評審表姓名楊晨學(xué)號1303090190班級機械1310班設(shè)計題目猜數(shù)字游戲作品描述計算機隨機生成

溫馨提示

  • 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論