C++猜數(shù)字游戲.docx_第1頁(yè)
C++猜數(shù)字游戲.docx_第2頁(yè)
C++猜數(shù)字游戲.docx_第3頁(yè)
C++猜數(shù)字游戲.docx_第4頁(yè)
C++猜數(shù)字游戲.docx_第5頁(yè)
已閱讀5頁(yè),還剩7頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、 題目猜數(shù)字游戲2、 實(shí)驗(yàn)開(kāi)發(fā)環(huán)境 Visual C+ 6.03、 前言猜數(shù)字游戲是休閑娛樂(lè)和智力鍛煉的一種智力型游戲。游戲規(guī)則:讓系統(tǒng)隨機(jī)產(chǎn)生一組數(shù)字,由游戲者輸入要猜的數(shù)字,然后,系統(tǒng)會(huì)將輸入的數(shù)字與隨機(jī)生成的數(shù)字進(jìn)行比較,當(dāng)輸入的數(shù)字與隨機(jī)生成的這組數(shù)字?jǐn)?shù)值和位置完全對(duì)應(yīng)時(shí),就獲得了勝利。四、實(shí)驗(yàn)?zāi)康模?)了解程序開(kāi)發(fā)環(huán)境調(diào)試工具的使用;(2)掌握小型系統(tǒng)的開(kāi)發(fā)過(guò)程,學(xué)會(huì)用C+語(yǔ)言解決問(wèn)題。五、軟件開(kāi)發(fā)過(guò)程(1)程序運(yùn)行后呈現(xiàn)的游戲菜單上要有“開(kāi)始游戲”、“查看游戲規(guī)則”、“設(shè)置游戲難度”、“退出游戲”等多項(xiàng)選擇。因此可以采用多文件結(jié)構(gòu)來(lái)進(jìn)行調(diào)用,由主函數(shù)來(lái)實(shí)現(xiàn)呈現(xiàn)游戲菜單與實(shí)現(xiàn)游戲者選擇的功能,根據(jù)游戲者的選擇來(lái)有選擇的調(diào)用其他文件中的函數(shù)。主函數(shù)用于設(shè)計(jì)游戲開(kāi)始界面和調(diào)用其他文件中的函數(shù):(2)當(dāng)游戲者選擇一項(xiàng)功能后,就要跳轉(zhuǎn)到相應(yīng)的界面,游戲開(kāi)始界面要清除掉,可以使用系統(tǒng)界面清除功能: #include windows.h system(cls);(3) 當(dāng)游戲者選擇的某一功能運(yùn)行結(jié)束后,要按任意鍵返回游戲開(kāi)始界面,因此主函數(shù)需要用到循環(huán)語(yǔ)句:先定義變量a,當(dāng)a不等于4時(shí)執(zhí)行程序,后面要結(jié)束程序時(shí),令a等于4就可以結(jié)束循環(huán),進(jìn)而結(jié)束程序:(4) 首先游戲者查看游戲規(guī)則,當(dāng)游戲者選擇功能2后,主函數(shù)調(diào)用rules()函數(shù),這個(gè)函數(shù)就會(huì)輸出游戲規(guī)則:(5)開(kāi)始游戲前要求先設(shè)置游戲難度,否則按默認(rèn)設(shè)置難度進(jìn)行游戲。事先將游戲難度系數(shù)設(shè)置為一個(gè)全局變量,并賦初值1(即最低難度系數(shù)),若有進(jìn)行難度設(shè)置,則可通過(guò)調(diào)用函數(shù)改變難度系數(shù),游戲難度系數(shù)必須為110,如果輸入其他數(shù)字,系統(tǒng)會(huì)要求重新輸入:(6) 游戲者開(kāi)始游戲后,首先系統(tǒng)產(chǎn)生與游戲難度系數(shù)相等的幾個(gè)隨機(jī)數(shù)并存放在數(shù)組a中,這需要一個(gè)函數(shù)來(lái)實(shí)現(xiàn):然后提示游戲者輸入要猜的數(shù)字,輸入后存放在數(shù)組b中;將數(shù)組a和b進(jìn)行比較,統(tǒng)計(jì)出數(shù)據(jù)相同且位置相同的個(gè)數(shù)k和數(shù)據(jù)相同但位置不同的個(gè)數(shù)p:游戲函數(shù)也要用循環(huán)語(yǔ)句,直到游戲者輸入完全正確為止(7) 若游戲者想知道答案或中途退出游戲,則第一個(gè)數(shù)字輸入10即可:實(shí)驗(yàn)源程序:/headf.hvoid rules();void game(int c);int exit();int classes();/mainf.cpp#include stdafx.h#include headf.h#include windows.h#include conio.h#include using namespace std;int a,c=1;int main()while (a!=4)cout -endl;cout 猜數(shù)字游戲 endl;cout -endl;cout1.開(kāi)始游戲(y/n)?endlendl;cout2.查看游戲規(guī)則endlendl;cout3.設(shè)置游戲的難易度endlendl;cout4.退出游戲endlendl;couta;switch(a)case 1:system(cls);game(c);break; case 2:system(cls);rules();break; case 3:system(cls);c=classes();break; case 4:system(cls);a=exit();break;cout按任意鍵繼續(xù).;getch();system(cls);return 0;/rules.cpp#include stdafx.h#include using namespace std;void rules()cout猜字游戲規(guī)則:endl;cout1.可先設(shè)置難易度,如果不設(shè)置,則默認(rèn)最低級(jí),即第1級(jí),難易度可分為110級(jí),1級(jí)猜一個(gè)數(shù)字,2級(jí)猜兩個(gè)數(shù)字.10級(jí)猜10個(gè)數(shù)字;endl;cout2.請(qǐng)輸入猜測(cè)的數(shù)字(09),輸入數(shù)字時(shí)要用空格分隔開(kāi)每?jī)蓚€(gè)數(shù)字;endl;cout3.提示輸入的數(shù)字?jǐn)?shù)值正確和位置正確的個(gè)數(shù),輸入的數(shù)字?jǐn)?shù)值正確但位置不對(duì)的個(gè)數(shù);endl;cout4.不斷的重復(fù)2、3步,若猜數(shù)完全正確,提示游戲者勝利;若試了15次還不正確,宣布游戲者失敗。endl;/classes.cpp#include stdafx.h#include int classes()double c,y=1;while(y)coutendl;coutc;if(c=1|c=2|c=3|c=4|c=5|c=6|c=7|c=8|c=9|c=10) y=0;else coutendl輸入錯(cuò)誤,請(qǐng)重新輸入endlendl;return c;/game.cpp#include stdafx.h#include stdlib.h#include time.h#include using namespace std;void game(int c)int a10;double b10;void create_Ary(int a,int c);cout游戲的難易度為:c (若要答案且退出,第一個(gè)數(shù)字輸入10)endlendl;create_Ary(a,c);int x=1,n=1;while (x)int i,j,k=0,p=0;cout請(qǐng)輸入c個(gè)要猜的數(shù)字(用空格隔開(kāi)每個(gè)數(shù)字):;for(j=0;jbj;for(j=0,k;jc;j+) if(bj=aj) k+; /統(tǒng)計(jì)出數(shù)據(jù)相同且位置相同的個(gè)數(shù)kfor(j=0;jc-1;j+)for(i=j+1;ic;i+)if(bi=aj) p+;for(j=0;jc-1;j+)for(i=j+1;ic;i+)if(ai=bj) p+; / /統(tǒng)計(jì)出數(shù)據(jù)相同但位置不同的個(gè)數(shù)pif(k=c) cout數(shù)據(jù)相同且位置相同的個(gè)數(shù):kendl;cout數(shù)據(jù)相同但位置不同的個(gè)數(shù):pendl=3&n=1) cout第一名!你的天賦簡(jiǎn)直是前無(wú)古人后無(wú)來(lái)者!endl;else if(n/c=2) cout你的天賦非常好,太棒了!endl;else if(n/c=3) cout你的天賦不錯(cuò),贊一個(gè)!endl;else if(n/c=4) cout你是有天賦的,繼續(xù)努力!endl;else cout你是游戲的勝利者!endl;coutendl;x=0;else cout數(shù)據(jù)相同且位置相同的個(gè)數(shù):kendl; cout數(shù)據(jù)相同但位置不同的個(gè)數(shù):pendl;if(n=15)coutendl;cout你已經(jīng)嘗試了15次,仍未成功,游戲失??!endlendl;x=0;n+;if(b0=10)coutendl正確答案是:;for(j=0;jc;j+)coutaj ;coutendlendl;x=0;cout游戲已結(jié)束,;void create_Ary(int a,int c)srand(time(0); /使隨機(jī)數(shù)函數(shù)rand產(chǎn)生一序列隨機(jī)數(shù)而設(shè)置種子值int i=0,j,x;while (ic)x=rand();if (x=10) continue;j=0;while (ji) ai+=x; / 不同的元素送入數(shù)組/exit.cpp#include stdafx.h#include using namespace std;int exit()int main();char b;while (b!=y&b!=Y&b!=n&b!=N)coutb;if(b=y|b=Y)cout歡迎下次再來(lái)!endl;return 4;else if (

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 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ì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論