




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
#include<iostream>#include<fstream>#include<string.h>#include<time.h>usingnamespacestd;#defineYES1#defineNO0voidmenu();voidinstruction();voidsetgame();voidstartgame();voidCreateFile1(char*filename);//新建一個文本文件存放所有猜出單詞的玩家記錄voidCreateFile2(char*filename);//新建一個文本文件存放前五名玩家的游戲排名voidplayrecord(char*filename);//供玩家查看自己的成績記錄voidTopfive();//該函數(shù)用于排名,記錄前五名voidTopfiverefer(char*filename);//供玩家查看前五名成績,在Topfive()中進行調(diào)用classplayer//定義一個玩家類,記錄玩家的排名、姓名以及成績{ public: charname[20]; floatscore; intrank; player(char*a="",floatb=0,intc=0) { strcpy(name,a); score=b; rank=c; } voidSetname(char*a="") { strcpy(name,a); } voidSetscore(floatb) { score=b; } voidSetrank(intc) { rank=c; }}pl[1000];staticintx;//定義一個靜態(tài)的全局變量voidmain(){ intchoice; menu();//顯示菜單 cout<<endl; while(choice) { cout<<"請選擇:"; cin>>choice; switch(choice) { case1: instruction();//游戲說明 menu(); break; case2: startgame();//開始游戲 x++; menu(); break; case3: playrecord("playrecord.txt");//玩家記錄 menu(); break; case4: Topfive();//前五名記錄 menu(); break; case5: cout<<"Gameisover!Goodbye~~"<<endl;//退出系統(tǒng) exit(0); choice=0; default:cout<<"Errorinput!"<<endl; } }}voidmenu()//顯示菜單 cout<<"所抽中的單詞長度為:"<<lenth<<endl; cout<<endl; win=NO; all_one=YES; for(i=0;i<lenth;i++)flag[i]=0; cout<<"***************************Gamestarting*******************************"<<endl; cout<<endl; getchar(); system("pause");//開始計時 ts=time(NULL); while(try_count>0&&win==NO) { cout<<"Youhave"<<try_count<<"chancesleaving!"<<endl; cout<<"Thewordlookslikethis:"; for(i=0;i<lenth;i++) { if(flag[i]==1)putchar(word[i]); else{putchar('_');putchar('');} } cout<<endl; cout<<"Pleaseenteralattertoguess:"; ch=getchar(); getchar(); for(i=0;i<lenth;i++) { if(flag[i]==0&&ch==word[i]) { flag[i]=1; have=YES;//have用來標識字母是否猜對 right++; try_count--; } } if(have!=YES) { cout<<ch<<"Wrong!"<<endl;//提示玩家沒有猜對,只要玩家輸入的不是對應(yīng)的正確的字母則報錯,包括無效輸入 try_count--; wrong++; } elsecout<<"Youguessit!"<<''<<ch<<"isintheword!"<<endl;//提示玩家該字母猜對了 cout<<endl; have=NO; for(i=0;i<lenth;i++) { if(flag[i]!=1) { all_one=NO;//all_one用來標識玩家是否把整個單詞都猜對了 break; } } if(all_one)win=YES; all_one=YES; } system("pause");//游戲結(jié)束,結(jié)束計時 te=time(NULL); if(win==YES) { cout<<"Congratulations!Youwin!"<<endl;//恭喜玩家整個單詞都猜對了 cout<<"Thewordis"; for(i=0;i<lenth;i++)//顯示正確單詞 {cout<<word[i];} cout<<endl; pl[x].score=(float)lenth/try_count/(te-ts)*1000;//成績指標計算公式 cout<<"您的猜單詞成績指數(shù)為:"<<pl[x].score<<endl;//顯示玩家的成績指標 CreateFile1("playrecord.txt");//若玩家猜出單詞,則記入文件 } else { cout<<"Youlose!Youhavenorecord!"<<endl<<"Thewordis";//提示玩家單詞沒有完全猜對,告訴玩家正確的單詞 for(i=0;i<lenth;i++) {cout<<word[i];} cout<<endl; } cout<<"您總共猜對了"<<right<<"次"<<endl;//顯示玩家每個單詞猜對與猜錯次數(shù)等統(tǒng)計信息 cout<<"猜錯了"<<wrong<<"次"<<endl; cout<<"您猜單詞共用了"<<''<<te-ts<<"秒"<<endl; cout<<endl;}voidCreateFile1(char*filename)//新建一個文本文件存放所有猜出單詞的玩家記錄{ ofstreamoutf(filename,ios::app); cout<<"請輸入您的姓名以便您查詢成績:"<<endl; cin>>pl[x].name;outf<<pl[x].name<<''; outf<<pl[x].score<<endl; outf.close();}voidplayrecord(char*filename)//供玩家查看自己的成績記錄{ charch; ifstreamin(filename); in.get(ch);while(!in.eof()){cout<<ch;in.get(ch);}in.close();}voidTopfive()//該函數(shù)用于排名,記錄前五名{ classplayeryy; inti,j; cout<<"x="<<x<<endl; for(i=0;i<x;i++) { for(j=i+1;j<x;j++) { if(pl[j].score>pl[i].score) { yy=pl[i]; pl[i]=pl[j]; pl[j]=yy; } } } for(i=0;i<x;i++) { pl[i].rank=i+1; }CreateFile2("Topfiverecord.txt"); Topfiverefer("Topfiverecord.txt");}voidCreateFile2(char*filename)//新建一個文本文件存放前五名玩家的游戲排名{ inti; ofstreamoutf(filename,ios::app); for(i=0;i<5;i++) { outf<<pl[i].rank<<''; outf<<pl[i].name<<''; outf<<pl[i].
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度智能家居新風系統(tǒng)一體化解決方案合同
- 2025年度茶葉茶園承包種植與農(nóng)業(yè)產(chǎn)業(yè)投資基金合同
- 二零二五年度離婚協(xié)議書起草與婚姻解除法律援助合同
- 2025房產(chǎn)中介海外房產(chǎn)投資咨詢服務(wù)合同
- 二零二五年度房產(chǎn)評估與交易代理合同
- 二零二五報社印刷廠印刷設(shè)備升級改造合同
- 2025年企業(yè)與私人租賃轎車合同示范文本
- 2025年中學廚師工作合同模板
- 2025年倉儲設(shè)施租賃承包合同標準
- 勞動合同法律2025年與操作
- 國內(nèi)外創(chuàng)造性思維培養(yǎng)模式的對比研究綜述
- 2022年露天煤礦安全資格證考試題庫-上(單選、多選題庫)
- MIL-STD-1916 抽樣技術(shù) (C=0 零不良)
- 計價格(2002)10號文
- 膠合板公司人員招聘與配置(模板)
- 團建方案版攻防箭對戰(zhàn)
- 樁身強度自動驗算表格Excel
- 《鋼鐵是怎樣煉成的》讀書報告
- 燃氣輪機LM2500介紹
- (精選)淺談在小學數(shù)學教學中如何進行有效提問
- 堆垛機速度計算表
評論
0/150
提交評論