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

下載本文檔

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

文檔簡介

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

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

3、in() char r; /* 用來存放用戶的選擇 */char dn; /* 用來存放電腦的選擇 */int s,q; double p,y,n,f,z; p=0; y=0; n=0; printf("出錘子輸入cn出剪刀輸入jn出布輸入bn計算您的得分輸入fn可以一次輸入許多 會一次性出很多結(jié)果哦n請輸入您的選擇:n"); srand(time(0); /* 隨機(jī)數(shù)生成器,設(shè)置rand種子值,用來獲取計算機(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); /* 用來獲取用戶的合法輸入 */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場n贏了%g場n輸了%g場n平局%g場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對您成績的評語:",y,n,p,f); if(f<=20) printf("您的運(yùn)氣真的差到一定無法想象的程度了!nn"); if(f>20&&f<=40) printf("您的運(yùn)氣差了點哦,努力,加油!nn"); if(f>40&&f<=60) printf("您的運(yùn)氣還可以中等啦中等啦nn"); if(f

6、>60&&f<=80) printf("您的運(yùn)氣不錯喲!嘿嘿nn"); if(f>80&&f<=100) printf("哇!您的運(yùn)氣真的好到家了 你太帥了GG 你太可愛了MM!nn"); printf("n隨便輸入幾個字符按回車關(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é)果測試: 顯示主菜單界面 輸入界面 輸出界面 結(jié)果統(tǒng)計界面 游戲結(jié)束界面七、 設(shè)計總結(jié)此的程序?qū)嵲O(shè)計實驗是對我進(jìn)入大學(xué)以來學(xué)習(xí)程序設(shè)計語言成果的一個檢驗。自己動手,自己發(fā)現(xiàn)和解決問題,學(xué)會了獨立,自主的思考,發(fā)現(xiàn)了自己的許多不足。平時沒有掌握好的知識在這次實驗中徹底暴露出來,經(jīng)過不斷思考,不斷查閱資料和上機(jī)運(yùn)行,解決其中大部分問題,當(dāng)然還存在一些問題沒有解決。我相信在以后的學(xué)習(xí)能夠解決好它們。但是,收獲還是不小的,我不僅對編程操作有了進(jìn)一步的掌握。當(dāng)我選擇編寫小游戲“石頭剪子布”這個題目時,一開始想運(yùn)用大量函數(shù)及循環(huán)來完成,但是在慢慢琢磨之后,覺得這個程序可以簡化,于是改變了編程思路。當(dāng)然還有不少文件的讀寫問題,不過還是通過不斷測試之后順利解決了。另外一點要說的就是這個程序用了很多的選擇循環(huán),因此對于循環(huán)的控制要十分小心。還有一點體會就是,書上和老師教的內(nèi)容是有限的,我們需要不斷地靠自己去學(xué)習(xí),向他人請教,學(xué)會利用網(wǎng)絡(luò)等了解

溫馨提示

  • 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

提交評論