c 課程設(shè)計(jì)報(bào)告-數(shù)字教學(xué)游戲_第1頁(yè)
已閱讀1頁(yè),還剩10頁(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、<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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論