歡迎來到裝配圖網(wǎng)! | 幫助中心 裝配圖網(wǎng)zhuangpeitu.com!
裝配圖網(wǎng)
ImageVerifierCode 換一換
首頁 裝配圖網(wǎng) > 資源分類 > DOC文檔下載  

C++猜單詞游戲課程設(shè)計報告(全).doc

  • 資源ID:116543710       資源大?。?span id="5ffjzqp" class="font-tahoma">349.51KB        全文頁數(shù):11頁
  • 資源格式: DOC        下載積分:20積分
快捷下載 游客一鍵下載
會員登錄下載
微信登錄下載
三方登錄下載: 微信開放平臺登錄 支付寶登錄   QQ登錄   微博登錄  
二維碼
微信掃一掃登錄
下載資源需要20積分
郵箱/手機:
溫馨提示:
用戶名和密碼都是您填寫的郵箱或者手機號,方便查詢和重復(fù)下載(系統(tǒng)自動生成)
支付方式: 支付寶    微信支付   
驗證碼:   換一換

 
賬號:
密碼:
驗證碼:   換一換
  忘記密碼?
    
友情提示
2、PDF文件下載后,可能會被瀏覽器默認打開,此種情況可以點擊瀏覽器菜單,保存網(wǎng)頁到桌面,就可以正常下載了。
3、本站不支持迅雷下載,請使用電腦自帶的IE瀏覽器,或者360瀏覽器、谷歌瀏覽器下載即可。
4、本站資源下載后的文檔和圖紙-無水印,預(yù)覽文檔經(jīng)過壓縮,下載后原文更清晰。
5、試題試卷類文檔,如果標題沒有明確說明有答案則都視為沒有答案,請知曉。

C++猜單詞游戲課程設(shè)計報告(全).doc

VC+課程設(shè)計報告課程:VC+課程設(shè)計系別:計算機系班級:學號:姓名:選題名稱:猜單詞游戲選題難易級別:A起止時間:2011.11.212011.12.22指導教師: 2011年 12 月15日1 程序功能介紹 這是一個猜單詞的游戲,這個猜單詞游戲分為倆種模式,一個是人人對抗模式,一種是人機對抗模式。玩家可根據(jù)自己的要求選擇不同的模式進行游戲。 如果是倆個人玩游戲,可選擇人人對抗模式,在該模式下,先由一個玩家輸入一個單詞(該單詞只有該玩家知道),然后由另一個玩家猜單詞,猜錯次數(shù)可以根據(jù)自己的要求改變。 如果是一個人玩游戲,可選擇人機對抗模式,在該模式下,由計算機隨機給出一個單詞,玩家根據(jù)組成單詞字母的個數(shù)猜出單詞,猜錯的次數(shù)可以指定,若在規(guī)定次數(shù)內(nèi)沒猜出單詞,顯示一個上吊的人形。2 課程設(shè)計要求1.將猜單詞的函數(shù)與相應(yīng)的數(shù)據(jù)封裝到類中,并改寫主程序,使程序簡化。 2.根據(jù)所猜單詞的字母個數(shù),給出指定幾率的提示字母,顯示于單詞中的正確位置。 3.在進入猜單詞的過程后,首先顯示菜單詢問是開始猜單詞還是修改設(shè)置,默認的修改次數(shù)為4,默認顯示字符的幾率為20%,若要修改這個設(shè)置,在菜單選項中選擇設(shè)置選項進行修改。 4.在人人對抗時,一個玩家給出單詞時,單詞不顯示在屏幕上,字符用*號表示。 5.猜單詞時,輸入一個單詞,判斷函數(shù)改為判斷輸入單詞的字符是否與所猜單詞一一對應(yīng),將猜中的字符顯示出來。 6.在人機對抗時,可以選擇隨機讀取單詞,也可以選擇向單詞庫輸入單詞,同時,將單詞庫中單詞的個數(shù)顯示出來,并根據(jù)單詞庫中單詞個數(shù)的多少決定隨機選取的范圍。3 對課程題目的分析與注釋類的封裝的關(guān)鍵代碼:class GuessGame/進行類的封裝private:string Word;/欲猜的單詞 double Proba;/顯示字符概率 (0,1) int GuessNum;/總共可猜次數(shù) int WrongNum;/猜錯的次數(shù) string DisplayWord;/ 欲顯示的單詞 string GuessWord;/第二個玩家輸入猜想的單詞int nLen;/ 輸入單詞的長度int choice;int option;public: int exit;int iloop;public: GuessGame();void InitialSet();/修改設(shè)置值int getChoice()return choice;void saveWordFile();/輸入單詞void play();void instruction();/主菜單void subMenu();/子菜單void usergame(int i);void compgame(int i);void drawman(int numguess,int numwrong,int i);void lchosen(char letter,string & letterchosen,int &check,int &chosencounter,int i);void test(string word,char letter,int & numwrong,string& temp);void rnd(string &word,int i);inline istream & Flush(istream & stream);GuessGame:GuessGame()Proba = 20.0 / 100;GuessNum = 4;exit = 0;iloop = 0;4 程序設(shè)計和說明(說明算法思想、設(shè)計思路,給出重要的、關(guān)鍵的代碼) 算法思想 1)類的封裝 主要是對人人對抗和人機對抗操作部分類的封裝2)程序主體結(jié)構(gòu)的設(shè)置 主菜單:a) 人人對抗(注釋:以人人對抗對象的引用作為參數(shù)調(diào)用子程序)b) 人機對抗(注釋:以人機對抗對象的引用作為參數(shù)調(diào)用子程序)c) 退出人人對抗菜單1 開始猜單詞2 設(shè)置系統(tǒng)3 退出 人機對抗菜單1. 開始猜單詞2. 設(shè)置系統(tǒng)3. 向單詞庫添加單詞4. 退出3)人人對抗時輸入欲猜單詞的隱藏4)C+用于處理字符串變量的新的數(shù)據(jù)類型字符串類型(string類型)設(shè)計思路 進入程序后,通過switch語句進行選擇所要進入的函數(shù),即可輸入選項,選擇人人對抗、人機對抗、修改提示字母個數(shù)或退出。當輸入的選項不符合要求時,提示輸入錯誤,請重新輸入。進入人人或人機對抗后,首先詢問是否重新設(shè)置可猜次數(shù)。默認可猜次數(shù)為4次,若選擇修改,可將其改為4-10之間的某值。進入游戲?qū)共糠郑巳藢箷r,提示玩家2輸入單詞,輸入完畢后將其轉(zhuǎn)換為“*”,人機對抗時,從單詞庫中隨機抽取一個單詞,以“*”的形式給出。按照設(shè)置的顯示百分率給出提示字母,并顯示在正確的位置上。玩家開始進行猜單詞。若輸入的字母為組成單詞的字母,則顯示在正確的位置;若輸入的字母不是組成單詞的字母,則提示“wrong letter”,并逐步顯示上吊人形。將已輸入過的字母顯示在界面上方,當玩家再次輸入已輸入字母時,提示該字母已輸入過,請重新輸入。當玩家猜出單詞或達到可猜次數(shù)時,游戲結(jié)束,返回選擇菜單。若以上輸入不符合要求,重新輸入。若選擇退出選項,則退出程序。 人人對抗 人機對抗 退出 主菜單是否修改設(shè)置?是否修改設(shè)置?是否否是 修改 修改玩家2 輸入單詞計算機抽取單詞 玩家開始猜單詞錯對 輸出上吊人形Right【 】 返回主菜單關(guān)鍵代碼:class GuessGame/進行類的封裝private:string Word;/欲猜的單詞 double Proba;/顯示字符概率 (0,1) int GuessNum;/總共可猜次數(shù) int WrongNum;/猜錯的次數(shù) string DisplayWord;/ 欲顯示的單詞 string GuessWord;/第二個玩家輸入猜想的單詞int nLen;/ 輸入單詞的長度int choice;int option;public: int exit;int iloop;public: GuessGame();void InitialSet();/修改設(shè)置值int getChoice()return choice;void saveWordFile();/輸入單詞void play();void instruction();/主菜單void subMenu();/子菜單void usergame(int i);void compgame(int i);void drawman(int numguess,int numwrong,int i);void lchosen(char letter,string & letterchosen,int &check,int &chosencounter,int i);void test(string word,char letter,int & numwrong,string& temp);void rnd(string &word,int i);inline istream & Flush(istream & stream);GuessGame:GuessGame()Proba = 20.0 / 100;GuessNum = 4;exit = 0;iloop = 0;5 課程設(shè)計中遇到的問題及解決方法在進行類的封裝及參數(shù)調(diào)用時遇到了一些問題通過與同學討論和查閱相關(guān)資料解決了6 課程設(shè)計中所增加的功能模塊(選做)未增加7 課程設(shè)計結(jié)果程序運行開始界面:輸入1進入人人對抗模式界面:輸入1開始游戲界面:玩家2輸入單詞asd后玩家1猜單詞界面:玩家1猜錯單詞界面:玩家1用完猜的次數(shù)失敗界面:玩家1猜對單詞界面:玩家進入人機對抗模式界面:玩家輸入3向單詞庫輸入單詞:8 還存在的不足之處由于在函數(shù)rand()中,不能保證每次抽取的隨機值都不同,即顯示字符的位置可能相同,所以給出隨機提示字母的百分率可能小于設(shè)置值。如果所猜單詞中有重復(fù)字母,猜對一次只能顯示出一個。第一次運行游戲返回主菜單后第二次要輸入倆次才有作用界面不夠清晰簡潔。9. 對課程設(shè)計的感想和心得體會就編寫的程序而言,雖然能達到預(yù)期的結(jié)果,但在運行時所需的時間比較長,而且總體結(jié)構(gòu)還不夠簡潔,不太容易去理解。許多問題還需要繼續(xù)研究,許多技術(shù)還需要更多的改進。去圖書館借了不少書,也去網(wǎng)上看了些資料,只是對大概的知識有了點了解,但還是很難著手于寫代碼,后來就按照老師說的,先搞清楚原理,再考慮如何去實現(xiàn)!后來又去上網(wǎng)查看相關(guān)資料,又到圖書館借了很多書看,總算有頭緒了。但在調(diào)試過程中,還是遇到了很多困難,后來通過了很多同的幫助才把問題解決了。通過這次的課程設(shè)計,讓我了解了猜單詞游戲的問題。同時讓我更好地掌握了棧思想以及一維數(shù)組等等知識,以及一些書本上沒有的東西,這對我以后的學習生涯以及將來步入社會起到很大的幫助。這次課程設(shè)計雖然花了我很多時間和精力,但很值得,因為它對我能力提高起到很大幫助。這次課程設(shè)計也提醒我以前知識的匱乏,它給我敲響了警鐘,讓我意識到自己基礎(chǔ)的不扎實.當然這次實驗還是有很多問題的。比如程序設(shè)計的界面不夠好,一些程序并非自己所寫,而是修改某些程序而成,但這些不該,在下次課程設(shè)計時不會再發(fā)生.10

注意事項

本文(C++猜單詞游戲課程設(shè)計報告(全).doc)為本站會員(good****022)主動上傳,裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對上載內(nèi)容本身不做任何修改或編輯。 若此文所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知裝配圖網(wǎng)(點擊聯(lián)系客服),我們立即給予刪除!

溫馨提示:如果因為網(wǎng)速或其他原因下載失敗請重新下載,重復(fù)下載不扣分。




關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號:ICP2024067431-1 川公網(wǎng)安備51140202000466號


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知裝配圖網(wǎng),我們立即給予刪除!