版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p> 《面向?qū)ο蟪绦蛟O(shè)計(jì)》</p><p><b> 課程設(shè)計(jì)</b></p><p> 題 目: 數(shù)字教學(xué)游戲 </p><p> 院 系: </p><p> 專(zhuān) 業(yè):
2、 </p><p> 姓名學(xué)號(hào): </p><p> 指導(dǎo)老師: 寧黎華 </p><p> 日 期: 年 月 日</p><p><b> 摘要</b
3、></p><p> 本次課設(shè)的目的是編寫(xiě)一個(gè)教學(xué)游戲,教授學(xué)生學(xué)習(xí)算術(shù)計(jì)算。程序?qū)臃ê蜏p法進(jìn)行測(cè)試。程序共有4個(gè)難度級(jí)別,第1級(jí)測(cè)試兩個(gè)小于10并且和也小于10的數(shù)字加法;第2級(jí)進(jìn)行任何兩個(gè)1位數(shù)字的加法;第3級(jí)是差為非負(fù)的兩個(gè)1位數(shù)的減法;第4級(jí)是執(zhí)行一個(gè)兩位數(shù)的加法。程序?qū)㈦S機(jī)產(chǎn)生問(wèn)題并讀取游戲參與者輸入的答案。對(duì)于每一個(gè)問(wèn)題,游戲參與者都有兩次回答問(wèn)題的機(jī)會(huì)。</p><p&
4、gt; 關(guān)鍵字:數(shù)字游戲,加法,減法</p><p><b> 目錄</b></p><p> 一、課程設(shè)計(jì)題目及分析1</p><p> 二、CRC卡片和UML類(lèi)圖1</p><p> 三、設(shè)計(jì)步驟及關(guān)鍵代碼說(shuō)明3</p><p><b> 四、軟件測(cè)試4&
5、lt;/b></p><p> 五、總結(jié)與心得體會(huì)5</p><p> 六、附錄(新增以及修改的代碼)6</p><p><b> 課程設(shè)計(jì)題目及分析</b></p><p> 編寫(xiě)一個(gè)教學(xué)游戲,教授學(xué)生學(xué)習(xí)算術(shù)計(jì)算。程序?qū)?duì)加法和減法進(jìn)行測(cè)試。程序共有四個(gè)難度級(jí)別,第1級(jí)測(cè)試兩個(gè)小于10并且和也小
6、于10的數(shù)字加法;第2級(jí)進(jìn)行任何兩個(gè)1位數(shù)字的加法;第3級(jí)是差為非負(fù)的兩個(gè)1位數(shù)的減法;第4級(jí)是執(zhí)行一個(gè)兩位數(shù)的加法。程序?qū)㈦S機(jī)產(chǎn)生問(wèn)題并讀取游戲參與者輸入的答案。對(duì)于每一個(gè)問(wèn)題,游戲參與者都有兩次回答問(wèn)題的機(jī)會(huì)。在得到5分后游戲進(jìn)入下一級(jí)。要實(shí)現(xiàn)4個(gè)等級(jí)的功能特征,需要用4個(gè)if語(yǔ)句判斷選擇的關(guān)數(shù),然后通過(guò)rand()函數(shù)限定生成兩個(gè)隨機(jī)數(shù)并完成相關(guān)運(yùn)算。通過(guò)玩家類(lèi)Player儲(chǔ)存玩家的分?jǐn)?shù)以及關(guān)數(shù)信息,Game類(lèi)進(jìn)行游戲的運(yùn)轉(zhuǎn)。&l
7、t;/p><p><b> ?。?)CRC卡片</b></p><p><b> (2)UML類(lèi)圖</b></p><p> 設(shè)計(jì)步驟及關(guān)鍵代碼說(shuō)明</p><p> 1.由于源代碼中已給出前三個(gè)等級(jí)的條件判斷,增加第四等級(jí)需要在play_round函數(shù)中多加一個(gè)如下第四等級(jí)的條件判斷以及修改下相
8、應(yīng)的界面提示和選關(guān)</p><p> else if(player.get_level()==4)</p><p><b> {</b></p><p> i1=rand_int(10,99);</p><p> i2=rand_int(10,99);</p><p> answer=i
9、1+i2;</p><p><b> }</b></p><p> 2.因?yàn)橹挥械谌燃?jí)是減法,一、二、四等級(jí)都是求和,所以把通過(guò)選關(guān)讀取讀者輸入結(jié)果的條件語(yǔ)句修改如下,這樣就可實(shí)現(xiàn)第四難度等級(jí)的增加。</p><p> if (player.get_level()!=3)</p><p> guess = ge
10、t_guess(i1, i2, answer, "sum");</p><p><b> else</b></p><p> guess = get_guess(i1, i2, answer, "difference");</p><p> 3.實(shí)現(xiàn)查詢游戲玩家等級(jí)的功能,只需加一句如下的輸出玩家等
11、級(jí)語(yǔ)句即可,由于每得五分后游戲等級(jí)會(huì)增加,并且分?jǐn)?shù)也在不停變化,所以把輸出玩家等級(jí)的語(yǔ)句加在輸出分?jǐn)?shù)的后面,這樣玩家每次計(jì)算后都能看到自己的分?jǐn)?shù)和等級(jí)。</p><p> cout<<"Your level is "<<player.get_level()<<endl;</p><p><b> 四、軟件測(cè)試</b
12、></p><p> 1.輸入姓名,選擇相應(yīng)等級(jí),進(jìn)行運(yùn)算,運(yùn)行的界面如下</p><p> 2.當(dāng)所得分?jǐn)?shù)為5時(shí),自動(dòng)跳入下一等級(jí),運(yùn)行的結(jié)果如下</p><p> 當(dāng)計(jì)算錯(cuò)誤時(shí)的運(yùn)行結(jié)果如下</p><p> 4.第4等級(jí)的運(yùn)行結(jié)果如下</p><p><b> 五、總結(jié)與心得體會(huì)<
13、/b></p><p> 經(jīng)過(guò)一個(gè)學(xué)期的《C++面向?qū)ο蟪绦蛟O(shè)計(jì)》學(xué)習(xí),讓我對(duì)C++的理論知識(shí)有了一定的認(rèn)知,了解了C++程序設(shè)計(jì)的思想,這些知識(shí)及相關(guān)的C++實(shí)驗(yàn)也給我們下一步的學(xué)習(xí)打下堅(jiān)實(shí)的基礎(chǔ)。這次課程設(shè)計(jì)是我一個(gè)人完成的,雖然課程設(shè)計(jì)題目老師給出了源代碼參考,但還是花了幾天才完成。通過(guò)需求分析后,要經(jīng)過(guò)CRC卡片理清設(shè)計(jì)思路,然后再通過(guò)UML圖確定需要什么樣的類(lèi)以及對(duì)應(yīng)的函數(shù)實(shí)現(xiàn)想要達(dá)到的功能。
14、并且這次課設(shè)讓我充分認(rèn)識(shí)到了自己的不足,認(rèn)識(shí)到了動(dòng)手能力的重要性。我會(huì)在以后的學(xué)習(xí)中更加努力鍛煉自己,提高自己。最后感謝老師這個(gè)學(xué)期的辛勤教學(xué)!</p><p> 六、附錄(新增以及修改的代碼)</p><p><b> 1.</b></p><p> void Player::increment_score() // 答對(duì)加一分,每得
15、于5分時(shí)自動(dòng)進(jìn)入下一關(guān) </p><p><b> {</b></p><p><b> score++;</b></p><p> if (score % 5 == 0 && level < 3) //自動(dòng)進(jìn)入下一關(guān)的條件改為小于4</p><p><b>
16、 level++;</b></p><p><b> }</b></p><p><b> 2.</b></p><p> void Game::read_player_information()</p><p><b> {</b></p>
17、<p> cout << "What is your name? ";</p><p> string name;</p><p> cin >> name;</p><p> int initial_level = 0;</p><p><b> do</b&g
18、t;</p><p><b> {</b></p><p> cout << "At what level do you want to start? (1-3) "; //修改界面的提示為1-4等級(jí) </p><p> cin >> initial_level;</p><
19、p> } while (initial_level < 1 || initial_level > 3);//修改循環(huán)條件為1-4等級(jí) </p><p> player = Player(name, initial_level);</p><p><b> }</b></p><p><b> 3.</b
20、></p><p> void Game::play_round()</p><p><b> {</b></p><p> int i1 = 0;</p><p> int i2 = 0;</p><p> int answer = 0;</p><p>
21、 if (player.get_level() == 1)</p><p><b> do</b></p><p><b> {</b></p><p> i1 = rand_int(1,9);</p><p> i2 = rand_int(1,9);</p><p&g
22、t; answer = i1 + i2;</p><p> } while (answer > 9);</p><p> else if (player.get_level() == 2)</p><p><b> {</b></p><p> i1 = rand_int(1,9);</p>
23、<p> i2 = rand_int(1,9);</p><p> answer = i1 + i2;</p><p><b> }</b></p><p> else if (player.get_level() == 3)</p><p><b> do</b></p
24、><p><b> {</b></p><p> i1 = rand_int(1,9);</p><p> i2 = rand_int(1,9);</p><p> answer = i1 - i2;</p><p> } while (answer < 0);</p>
25、<p> else if(player.get_level()==4) //增加等級(jí)4的判斷,讓兩個(gè)兩位隨機(jī)數(shù)相加</p><p><b> {</b></p><p> i1=rand_int(10,99);</p><p> i2=rand_int(10,99);</p><p> answer=
26、i1+i2;</p><p><b> }</b></p><p> int guess;</p><p> if (player.get_level()!=3) //判斷改為不等于3等級(jí)時(shí)為求和,否則求差</p><p> guess = get_guess(i1, i2, answer, "sum
27、");</p><p><b> else</b></p><p> guess = get_guess(i1, i2, answer, "difference");</p><p> if (answer == guess)</p><p><b> {</b>
28、;</p><p> player.increment_score();</p><p> cout << "Congratulations, " << player.get_name() << "! That is correct." << "\n";</p>&
29、lt;p><b> }</b></p><p><b> else</b></p><p><b> {</b></p><p> cout << "Sorry, " << player.get_name() << ".
30、The correct answer is "</p><p> << answer << ".\n"; </p><p><b> }</b></p><p> cout << "Your score is " << play
溫馨提示
- 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ù)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- c語(yǔ)言課程設(shè)計(jì)---猜數(shù)字游戲報(bào)告
- 拼數(shù)字游戲c#課程設(shè)計(jì)
- c語(yǔ)言課程設(shè)計(jì)--猜數(shù)字游戲
- c語(yǔ)言課程設(shè)計(jì)--猜數(shù)字游戲
- c++課程設(shè)計(jì)-教學(xué)游戲
- 猜數(shù)字游戲課程設(shè)計(jì)報(bào)告
- 課程設(shè)計(jì)報(bào)告--猜數(shù)字游戲
- c課程設(shè)計(jì)報(bào)告-打字游戲
- c語(yǔ)言程序課程設(shè)計(jì)-猜數(shù)字游戲
- c語(yǔ)言課程設(shè)計(jì)報(bào)告---游戲設(shè)計(jì)
- c語(yǔ)言課程設(shè)計(jì)報(bào)告-游戲2048
- c程序課程設(shè)計(jì)報(bào)告(掃雷游戲)
- c++課程設(shè)計(jì)報(bào)告--坦克游戲
- c語(yǔ)言課程設(shè)計(jì)---猜數(shù)字游戲姚成
- 《c語(yǔ)言程序設(shè)計(jì)》課程設(shè)計(jì)---猜數(shù)字游戲
- android課程設(shè)計(jì)報(bào)告--猜數(shù)字小游戲
- c++課程設(shè)計(jì)報(bào)告--猜數(shù)游戲
- 猜單詞游戲c++課程設(shè)計(jì)報(bào)告
- c程序課程設(shè)計(jì)報(bào)告(24點(diǎn)游戲)
- android課程設(shè)計(jì)報(bào)告--猜數(shù)字小游戲.doc
評(píng)論
0/150
提交評(píng)論