2023年全國碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩10頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、<p>  《面向?qū)ο蟪绦蛟O(shè)計》</p><p><b>  課程設(shè)計</b></p><p>  題 目: 數(shù)字教學(xué)游戲 </p><p>  院 系: </p><p>  專 業(yè):

2、 </p><p>  姓名學(xué)號: </p><p>  指導(dǎo)老師: 寧黎華 </p><p>  日 期: 年 月 日</p><p><b>  摘要</b

3、></p><p>  本次課設(shè)的目的是編寫一個教學(xué)游戲,教授學(xué)生學(xué)習(xí)算術(shù)計算。程序?qū)臃ê蜏p法進(jìn)行測試。程序共有4個難度級別,第1級測試兩個小于10并且和也小于10的數(shù)字加法;第2級進(jìn)行任何兩個1位數(shù)字的加法;第3級是差為非負(fù)的兩個1位數(shù)的減法;第4級是執(zhí)行一個兩位數(shù)的加法。程序?qū)㈦S機產(chǎn)生問題并讀取游戲參與者輸入的答案。對于每一個問題,游戲參與者都有兩次回答問題的機會。</p><p&

4、gt;  關(guān)鍵字:數(shù)字游戲,加法,減法</p><p><b>  目錄</b></p><p>  一、課程設(shè)計題目及分析1</p><p>  二、CRC卡片和UML類圖1</p><p>  三、設(shè)計步驟及關(guān)鍵代碼說明3</p><p><b>  四、軟件測試4&

5、lt;/b></p><p>  五、總結(jié)與心得體會5</p><p>  六、附錄(新增以及修改的代碼)6</p><p><b>  課程設(shè)計題目及分析</b></p><p>  編寫一個教學(xué)游戲,教授學(xué)生學(xué)習(xí)算術(shù)計算。程序?qū)臃ê蜏p法進(jìn)行測試。程序共有四個難度級別,第1級測試兩個小于10并且和也小

6、于10的數(shù)字加法;第2級進(jìn)行任何兩個1位數(shù)字的加法;第3級是差為非負(fù)的兩個1位數(shù)的減法;第4級是執(zhí)行一個兩位數(shù)的加法。程序?qū)㈦S機產(chǎn)生問題并讀取游戲參與者輸入的答案。對于每一個問題,游戲參與者都有兩次回答問題的機會。在得到5分后游戲進(jìn)入下一級。要實現(xiàn)4個等級的功能特征,需要用4個if語句判斷選擇的關(guān)數(shù),然后通過rand()函數(shù)限定生成兩個隨機數(shù)并完成相關(guān)運算。通過玩家類Player儲存玩家的分?jǐn)?shù)以及關(guān)數(shù)信息,Game類進(jìn)行游戲的運轉(zhuǎn)。&l

7、t;/p><p><b> ?。?)CRC卡片</b></p><p><b> ?。?)UML類圖</b></p><p>  設(shè)計步驟及關(guān)鍵代碼說明</p><p>  1.由于源代碼中已給出前三個等級的條件判斷,增加第四等級需要在play_round函數(shù)中多加一個如下第四等級的條件判斷以及修改下相

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.因為只有第三等級是減法,一、二、四等級都是求和,所以把通過選關(guān)讀取讀者輸入結(jié)果的條件語句修改如下,這樣就可實現(xiàn)第四難度等級的增加。</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.實現(xiàn)查詢游戲玩家等級的功能,只需加一句如下的輸出玩家等

11、級語句即可,由于每得五分后游戲等級會增加,并且分?jǐn)?shù)也在不停變化,所以把輸出玩家等級的語句加在輸出分?jǐn)?shù)的后面,這樣玩家每次計算后都能看到自己的分?jǐn)?shù)和等級。</p><p>  cout<<"Your level is "<<player.get_level()<<endl;</p><p><b>  四、軟件測試</b

12、></p><p>  1.輸入姓名,選擇相應(yīng)等級,進(jìn)行運算,運行的界面如下</p><p>  2.當(dāng)所得分?jǐn)?shù)為5時,自動跳入下一等級,運行的結(jié)果如下</p><p>  當(dāng)計算錯誤時的運行結(jié)果如下</p><p>  4.第4等級的運行結(jié)果如下</p><p><b>  五、總結(jié)與心得體會<

13、/b></p><p>  經(jīng)過一個學(xué)期的《C++面向?qū)ο蟪绦蛟O(shè)計》學(xué)習(xí),讓我對C++的理論知識有了一定的認(rèn)知,了解了C++程序設(shè)計的思想,這些知識及相關(guān)的C++實驗也給我們下一步的學(xué)習(xí)打下堅實的基礎(chǔ)。這次課程設(shè)計是我一個人完成的,雖然課程設(shè)計題目老師給出了源代碼參考,但還是花了幾天才完成。通過需求分析后,要經(jīng)過CRC卡片理清設(shè)計思路,然后再通過UML圖確定需要什么樣的類以及對應(yīng)的函數(shù)實現(xiàn)想要達(dá)到的功能。

14、并且這次課設(shè)讓我充分認(rèn)識到了自己的不足,認(rèn)識到了動手能力的重要性。我會在以后的學(xué)習(xí)中更加努力鍛煉自己,提高自己。最后感謝老師這個學(xué)期的辛勤教學(xué)!</p><p>  六、附錄(新增以及修改的代碼)</p><p><b>  1.</b></p><p>  void Player::increment_score() // 答對加一分,每得

15、于5分時自動進(jìn)入下一關(guān) </p><p><b>  {</b></p><p><b>  score++;</b></p><p>  if (score % 5 == 0 && level < 3) //自動進(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等級 </p><p>  cin >> initial_level;</p><

19、p>  } while (initial_level < 1 || initial_level > 3);//修改循環(huán)條件為1-4等級 </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) //增加等級4的判斷,讓兩個兩位隨機數(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等級時為求和,否則求差</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. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論