《嵌入式課程設(shè)計(jì)報(bào)告小游戲“石頭剪子布”》_第1頁(yè)
《嵌入式課程設(shè)計(jì)報(bào)告小游戲“石頭剪子布”》_第2頁(yè)
《嵌入式課程設(shè)計(jì)報(bào)告小游戲“石頭剪子布”》_第3頁(yè)
《嵌入式課程設(shè)計(jì)報(bào)告小游戲“石頭剪子布”》_第4頁(yè)
《嵌入式課程設(shè)計(jì)報(bào)告小游戲“石頭剪子布”》_第5頁(yè)
已閱讀5頁(yè),還剩4頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、嵌入式課程設(shè)計(jì)報(bào)告題目:石頭剪子布班級(jí): 學(xué)號(hào): 姓名: 一、 選題背景實(shí)驗(yàn)準(zhǔn)備:做游戲前,首先,自己詳細(xì)看了C語(yǔ)言程序設(shè)計(jì)(教科書(shū)),理解了相關(guān)函數(shù)的用法和作用;另外,上網(wǎng)查詢(xún)了很多相關(guān)資料,還有找了很多相關(guān)的游戲設(shè)計(jì)的代碼,都詳細(xì)的看了一遍,加深了對(duì)C語(yǔ)言以及相關(guān)內(nèi)容進(jìn)一步理解。根據(jù)實(shí)際情況設(shè)計(jì)出一款比較理想的小游戲。設(shè)計(jì)題目的要求:游戲要設(shè)置開(kāi)始,結(jié)束操作控制游戲要有時(shí)間提示即相關(guān)結(jié)果的提示語(yǔ)游戲要能自動(dòng)判斷輸贏,并顯示最終比賽結(jié)果二、 設(shè)計(jì)思路系統(tǒng)功能模塊圖:輸入:計(jì)算機(jī)隨機(jī)輸入選擇,用戶(hù)輸入選擇,并將數(shù)據(jù)儲(chǔ)存。計(jì)算:根據(jù)計(jì)算機(jī)和用戶(hù)的選擇,計(jì)算大小,并判斷輸贏,計(jì)算用戶(hù)的勝負(fù)率,并儲(chǔ)

2、存。輸出:根據(jù)用戶(hù)的輸入,將用戶(hù)的游戲結(jié)果顯示在屏幕上。三、 主要問(wèn)題的解決方法及關(guān)鍵技術(shù)游戲功能需求分析:輸入數(shù)據(jù):計(jì)算機(jī)隨機(jī)輸入數(shù)據(jù);用戶(hù)輸入合法的數(shù)據(jù)存儲(chǔ)數(shù)據(jù):存儲(chǔ)計(jì)算機(jī)的輸入數(shù)據(jù);存儲(chǔ)用戶(hù)的合法輸入數(shù)據(jù);判斷用戶(hù)的輸贏:根據(jù)用戶(hù)的選擇,比較用戶(hù)與計(jì)算機(jī)的勝負(fù)計(jì)算用戶(hù)的勝負(fù)率:根據(jù)計(jì)算機(jī)的記錄,計(jì)算用戶(hù)的勝負(fù)次數(shù)的總和及概率四、 程序流程圖 獲取計(jì)算機(jī)的輸入 獲取用戶(hù)的合法輸入 判斷用戶(hù)的輸贏 記錄用戶(hù)的數(shù)據(jù)機(jī)勝負(fù)率五、 源程序清單#include<stdio.h> #include<time.h> #include<stdlib.h> void ma

3、in() char r; /* 用來(lái)存放用戶(hù)的選擇 */char dn; /* 用來(lái)存放電腦的選擇 */int s,q; double p,y,n,f,z; p=0; y=0; n=0; printf("出錘子輸入cn出剪刀輸入jn出布輸入bn計(jì)算您的得分輸入fn可以一次輸入許多 會(huì)一次性出很多結(jié)果哦n請(qǐng)輸入您的選擇:n"); srand(time(0); /* 隨機(jī)數(shù)生成器,設(shè)置rand種子值,用來(lái)獲取計(jì)算機(jī)的輸入 */do do s=rand()%3; switch(s) case 0 : dn='c'break; case 1 : dn='j&

4、#39;break; case 2 : dn='b'break; do scanf("%c",&r); /* 用來(lái)獲取用戶(hù)的合法輸入 */while(r!='c'&&r!='b'&&r!='j'&&r!='f'); if(r='f') z=y+n+p; f=100/z*(p/2.0+y); printf("一共比了%g場(chǎng)n贏了%g場(chǎng)n輸了%g場(chǎng)n平局%g場(chǎng)n",z,y,n,p); y=100/z*y; n

5、=100/z*n; p=100/z*p; printf("您的勝率為%.3g%n您的敗率為%.3g%n您平局率為%.3g%n您的綜合分?jǐn)?shù)為%.3gn對(duì)您成績(jī)的評(píng)語(yǔ):",y,n,p,f); if(f<=20) printf("您的運(yùn)氣真的差到一定無(wú)法想象的程度了!nn"); if(f>20&&f<=40) printf("您的運(yùn)氣差了點(diǎn)哦,努力,加油!nn"); if(f>40&&f<=60) printf("您的運(yùn)氣還可以中等啦中等啦nn"); if(f

6、>60&&f<=80) printf("您的運(yùn)氣不錯(cuò)喲!嘿嘿nn"); if(f>80&&f<=100) printf("哇!您的運(yùn)氣真的好到家了 你太帥了GG 你太可愛(ài)了MM!nn"); printf("n隨便輸入幾個(gè)字符按回車(chē)關(guān)閉程序n"); scanf("%d",&q); if(dn=r) printf("平手,繼續(xù)n"); p+; else switch(dn) case 'c' : if(r='j&

7、#39;) printf("電腦WIN! 錘子:剪刀n");n+; else printf("人WIN! 錘子:布n");y+; break; case 'j' : if(r='b') printf("電腦WIN! 剪刀:布n");n+; else printf("人WIN! 剪刀:錘子n");y+; break; case 'b' : if(r='c') printf("人WIN! 剪刀:錘子n");y+; else printf

8、("電腦WIN! 布:錘子n");n+; break; while(r=dn); while(r='j'|r='b'|r='c'); 六、 程序運(yùn)行結(jié)果測(cè)試: 顯示主菜單界面 輸入界面 輸出界面 結(jié)果統(tǒng)計(jì)界面 游戲結(jié)束界面七、 設(shè)計(jì)總結(jié)此的程序?qū)嵲O(shè)計(jì)實(shí)驗(yàn)是對(duì)我進(jìn)入大學(xué)以來(lái)學(xué)習(xí)程序設(shè)計(jì)語(yǔ)言成果的一個(gè)檢驗(yàn)。自己動(dòng)手,自己發(fā)現(xiàn)和解決問(wèn)題,學(xué)會(huì)了獨(dú)立,自主的思考,發(fā)現(xiàn)了自己的許多不足。平時(shí)沒(méi)有掌握好的知識(shí)在這次實(shí)驗(yàn)中徹底暴露出來(lái),經(jīng)過(guò)不斷思考,不斷查閱資料和上機(jī)運(yùn)行,解決其中大部分問(wèn)題,當(dāng)然還存在一些問(wèn)題沒(méi)有解決。我相信在以后的學(xué)習(xí)能夠解決好它們。但是,收獲還是不小的,我不僅對(duì)編程操作有了進(jìn)一步的掌握。當(dāng)我選擇編寫(xiě)小游戲“石頭剪子布”這個(gè)題目時(shí),一開(kāi)始想運(yùn)用大量函數(shù)及循環(huán)來(lái)完成,但是在慢慢琢磨之后,覺(jué)得這個(gè)程序可以簡(jiǎn)化,于是改變了編程思路。當(dāng)然還有不少文件的讀寫(xiě)問(wèn)題,不過(guò)還是通過(guò)不斷測(cè)試之后順利解決了。另外一點(diǎn)要說(shuō)的就是這個(gè)程序用了很多的選擇循環(huán),因此對(duì)于循環(huán)的控制要十分小心。還有一點(diǎn)體會(huì)就是,書(shū)上和老師教的內(nèi)容是有限的,我們需要不斷地靠自己去學(xué)習(xí),向他人請(qǐng)教,學(xué)會(huì)利用網(wǎng)絡(luò)等了解

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論