猜單詞游戲C++程序_第1頁
猜單詞游戲C++程序_第2頁
猜單詞游戲C++程序_第3頁
猜單詞游戲C++程序_第4頁
猜單詞游戲C++程序_第5頁
已閱讀5頁,還剩3頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

評論

0/150

提交評論