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

下載本文檔

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

文檔簡介

1、<p><b>  湛江師院</b></p><p><b>  繼續(xù)教育學(xué)院</b></p><p>  學(xué) 生 畢 業(yè) 論 文(設(shè) 計)</p><p>  院 別 繼續(xù)教育學(xué)院</p><p>  專 業(yè) 計算機(jī)網(wǎng)絡(luò)技術(shù)</p><p>  年

2、 級 2011級 </p><p>  學(xué)生姓名 揭育楷 </p><p>  論文題目二十四點(diǎn)小游戲制作</p><p><b>  二十四點(diǎn)小游戲制作</b></p><p>  作者:揭育楷 指導(dǎo)教師:侯睿講師</p><p> ?。ㄕ拷瓗煼秾W(xué)院繼續(xù)學(xué)

3、院,湛江 524048)</p><p>  摘 要:二十一世紀(jì)是一個充滿著工作壓力的世紀(jì),各行各業(yè)的工作人士不免有很大的工作壓力,越來越需要一個業(yè)余放松的平臺。二十四點(diǎn)之類的小游戲是至好不過的選擇啦!能夠很好的放松緊張的神經(jīng),從而提高工作人士的生活質(zhì)量,也間接地提高了工作人士的工作質(zhì)量和工作效率!</p><p>  本游戲采用java作為程序的開發(fā)工具,主要包括答案查詢、答錯提示、時間

4、提示、計分系統(tǒng)等功能模塊。</p><p>  關(guān)鍵詞:java、二十四點(diǎn)小游戲、放松平臺</p><p>  Twenty-four point game</p><p><b>  JIE Yukai</b></p><p>  Zhanjiang Normal University College, Zhanjia

5、ng, 524048 China</p><p>  Abstract: It is 21st century that is full of working pressure,and all of the worker are having a lot of working pressure,so we need a platform to relaxed.Twenty-four point game is a

6、 good choose!It will help you relaxed well and improve staff’s quality of life,and it will improve the staff’s work quality and efficiency!</p><p>  The game uses Java as program development tool,include ans

7、wer to the query, answer hints,temporal cue,point system and so on!</p><p>  Key word: java、Twenty-four point game、a platform to relaxed</p><p><b>  1. 引言</b></p><p><

8、;b>  1.1 選題背景</b></p><p>  隨著網(wǎng)絡(luò)技術(shù)的發(fā)展,小游戲在網(wǎng)絡(luò)上的發(fā)展如火如荼。其中植物僵尸大戰(zhàn)、洛克王國、賽爾號等小游戲如雨后春筍般涌現(xiàn)出來。這些游戲已經(jīng)成為很多人的一個放松平臺。而對于網(wǎng)絡(luò)上很多人喜歡玩的二十四點(diǎn)小游戲個人認(rèn)為并不完善,漏洞層出不窮,另很多人大失所望,因此,我個人開發(fā)了個二十四點(diǎn)小游戲希望能迎合眾多網(wǎng)絡(luò)朋友的口味。</p><p&

9、gt;<b>  1.2 開發(fā)意義</b></p><p>  二十四點(diǎn)小游戲(KTV Management Imformation System,簡稱KTV-MIS)是一個不僅能放松人的神經(jīng)而且益智的趣味小游戲。對于21世紀(jì)的今天,作為一個社會工作者來說,面對日益劇烈的競爭,工作壓力都是很大的。為了釋放壓力,就需要一個良好的減壓平臺。眾所周知,網(wǎng)絡(luò)上的小游戲就是一個很好的釋放平臺,但眾多小

10、游戲之中不免有做得不合網(wǎng)絡(luò)朋友的口味的,其中,小游戲二十四點(diǎn)就其中一個,我此次開發(fā)個二十四點(diǎn)小游戲,希望能夠符合網(wǎng)絡(luò)朋友的口味,進(jìn)一步完善網(wǎng)絡(luò)小游戲這一個減壓平臺。</p><p><b>  2. 開發(fā)技術(shù)簡介</b></p><p>  本游戲在開發(fā)技術(shù)上采用了java面向?qū)ο笳Z言。Java是由James Gosling、Patrick Naughton、Chri

11、s Warth、Ed Frank、和Mike Sheridan于1991年在Sun公司構(gòu)想出來的。開發(fā)第一版本花費(fèi)18個月。這種語言最初稱為Oak,于1995年被命名為java。[1]</p><p>  游戲功能模塊系統(tǒng)分析</p><p>  在二十四點(diǎn)小游戲中,根據(jù)玩家需求,游戲功能模塊主要有答案查詢、答錯提示、時間提示、計分系統(tǒng)、輸入錯誤提示或禁止。</p><

12、p>  1)答案查詢:當(dāng)玩家沒想出答案但又想在答題前知道答案的情況下可以查詢問題的答案。</p><p>  2)答錯提示:玩家答題錯誤后,顯示正確的答案。</p><p>  3)時間提示:一局游戲時間是120秒,時間提示可以讓玩家知道在120秒內(nèi)答對多少題。</p><p>  4)計分系統(tǒng):根據(jù)玩家答對或錯進(jìn)行加分或減分。</p><

13、p>  5)輸入錯誤提示或禁止:跟據(jù)游戲情節(jié),當(dāng)玩家輸入表達(dá)式錯誤時進(jìn)行提示或不能輸入某鍵時禁止按該鍵。</p><p><b>  4. 游戲設(shè)計</b></p><p>  4.1 游戲結(jié)構(gòu)圖設(shè)計</p><p>  圖4.1 二十四點(diǎn)小游戲功能模塊結(jié)構(gòu)圖</p><p><b>  游戲的設(shè)計與實(shí)

14、現(xiàn)</b></p><p>  5.1圖形用戶界面設(shè)計與實(shí)現(xiàn)</p><p>  本小游戲在設(shè)計用戶圖形界面時使用了空布局。</p><p>  空布局就是把一個容器的布局設(shè)置為null布局??詹季植捎胹etBounds()方法設(shè)置組件本身的大小和在容器中的位置:setBound(int x,int y,int width,int height)。組件占

15、據(jù)為矩形,參數(shù)x,y是組件的左上角在容器中的位置坐標(biāo);參數(shù)weidth、height是組件的寬和高。[2]</p><p>  本游戲界面大體如下圖。上半部分面板用于顯示隨機(jī)出現(xiàn)的卡片,左下部分面板用于顯示鍵盤,右下部分面板用于顯示玩家在游戲是的一些相關(guān)信息。</p><p>  圖5.1 二十四點(diǎn)小游戲功能模塊結(jié)構(gòu)圖</p><p>  5.2答案查詢功能設(shè)計與

16、實(shí)現(xiàn)</p><p>  答案查詢功能是在玩家未答題前不清楚答案時急切想知道答案的情況下所提供的一個查詢(作弊)功能。答案由calculate.java文件中的方法計算得出,然后當(dāng)用戶按下查看按鍵時把答案從answer標(biāo)簽輸出。</p><p><b>  計算部分主要代碼:</b></p><p>  //利用for循環(huán)遍歷所有可能出現(xiàn)的結(jié)果

17、</p><p><b>  //先計算前兩個數(shù)</b></p><p>  for(int a=0;a<4;a++){//第一個數(shù)</p><p>  for(int b=0;b<4;b++){//第一個符號</p><p>  for(int c=0;c<4;c++){//第二個數(shù)</p

18、><p>  if(a==c) continue ;//如果出現(xiàn)重復(fù)的牌,則條過此輪循環(huán)</p><p>  result = 0 ;</p><p>  switch (operator[b]){</p><p><b>  case '+':</b></p><p>  res

19、ult = number[a]+number[c] ;</p><p><b>  break ;</b></p><p><b>  case '-':</b></p><p>  result = number[a]-number[c] ;</p><p><b>  

20、break ;</b></p><p><b>  case '*':</b></p><p>  result = number[a]*number[c] ;</p><p><b>  break ;</b></p><p><b>  case '

21、/':</b></p><p>  result = number[a]/number[c] ;</p><p><b>  break ;</b></p><p><b>  }</b></p><p>  results[0] = result ;//備份第一第二個數(shù)的運(yùn)算

22、結(jié)果,便于返回</p><p>  //前兩個數(shù)的運(yùn)算結(jié)果和第三個數(shù)進(jìn)行運(yùn)算</p><p>  for(int d=0;d<4;d++){//第二個符號</p><p>  for(int e=0;e<4;e++){//第三個數(shù)</p><p>  if(e==a||e==c) continue ;//如果出現(xiàn)重復(fù)的牌,則

23、跳過此輪循環(huán)</p><p>  result = results[0] ;//返回第一第二個數(shù)的運(yùn)算結(jié)果</p><p>  switch (operator[d]){</p><p><b>  case '+':</b></p><p>  result = result+number[e] ;&

24、lt;/p><p><b>  break ;</b></p><p><b>  case '-':</b></p><p>  result = result-number[e] ;</p><p><b>  break ;</b></p>&l

25、t;p><b>  case '*':</b></p><p>  result = result*number[e] ;</p><p><b>  break ;</b></p><p><b>  case '/':</b></p><p

26、>  result = result/number[e] ;</p><p><b>  break ;</b></p><p><b>  }</b></p><p>  results[1] = result ;//備份第一二三個數(shù)的運(yùn)算結(jié)果</p><p>  for(int f=0;

27、f<4;f++){//第三個符號</p><p>  for(int g=0;g<4;g++){//第四個數(shù)</p><p>  if(g==a||g==c||g==e) continue ;//如果出現(xiàn)重復(fù)的牌,則跳過此輪循環(huán)</p><p>  result = results[1] ;//返回第一二三個數(shù)的運(yùn)算結(jié)果</p>

28、<p>  switch (operator[f]){</p><p><b>  case '+':</b></p><p>  result = result+number[g] ;</p><p><b>  break ;</b></p><p><b>

29、  case '-':</b></p><p>  result = result-number[g] ;</p><p><b>  break ;</b></p><p><b>  case '*':</b></p><p>  result = r

30、esult*number[g] ;</p><p><b>  break ;</b></p><p><b>  case '/':</b></p><p>  result = result/number[g] ;</p><p><b>  break ;</b

31、></p><p><b>  }</b></p><p>  //判斷運(yùn)算結(jié)果是否為24,是則輸出算式</p><p>  if(result==24){</p><p>  System.out.println("(("+number[a]+""</p>&

32、lt;p>  +operator[b]+""+number[c]+")"</p><p>  +operator[d]+""+number[e]+")"</p><p>  +operator[f]+""+number[g]);</p><p>  getRes

33、ult = "(("+number[a]+""</p><p>  +operator[b]+""+number[c]+")"</p><p>  +operator[d]+""+number[e]+")"</p><p>  +operator[

34、f]+""+number[g] ;</p><p><b>  }</b></p><p><b>  輸出部分主要代碼:</b></p><p>  answer=new JLabel(strAnswer);</p><p><b>  其效果如下:</b>

35、;</p><p>  圖5.2 二十四點(diǎn)小游戲答案提示模塊效果圖</p><p>  5.3答案錯提示功能設(shè)計與實(shí)現(xiàn)</p><p>  答錯提示用于玩家答題錯誤后提示正確的答案。其主要代碼如下:</p><p>  if(ctr.Controllers(finalReslut)){</p><p><b&g

36、t;  r=r+1;</b></p><p>  lastLabel.setText("答案正確!") ;</p><p>  lastLabel.setVisible(true) ;</p><p><b>  }else{</b></p><p><b>  f=f+1;&l

37、t;/b></p><p>  lastLabel.setText("上一次答案"+lastAnswer); </p><p>  lastLabel.setVisible(true) ;</p><p><b>  }</b></p><p><b>  其效果如下:</b&g

38、t;</p><p>  圖5.3 二十四點(diǎn)小游戲答錯提示功能效果圖</p><p>  5.4時間提示功能設(shè)計與實(shí)現(xiàn)</p><p>  時間提示功能規(guī)定了玩家必須在120s內(nèi)答題,否則按“交白卷”處理。在此用到了多線程。 線程是一個控制流,也是一個執(zhí)行過程,但執(zhí)行過程比比進(jìn)程小。一個進(jìn)程在其執(zhí)行過程中形成多條執(zhí)行線索,即每個線程都有自己的產(chǎn)生、運(yùn)行、和消亡的過

39、程。[3]</p><p><b>  其主要代碼如下:</b></p><p><b>  //新建一個線程</b></p><p>  thread = new Thread(new Runnable(){</p><p>  SuppressWarnings("static-acce

40、ss")</p><p>  public void run(){</p><p>  while(true){</p><p><b>  try{</b></p><p>  thread.sleep(1000) ;</p><p>  --gameTime ;</p>

41、<p>  if(gameTime==-1){</p><p>  gameTime = 0 ;</p><p><b>  }</b></p><p>  time.setText(gameTime+"") ;</p><p>  if(gameTime==0){</p>

42、<p>  answer.setText("游戲結(jié)束") ;</p><p>  Cards[0].setEnabled(false);</p><p>  Cards[1].setEnabled(false);</p><p>  Cards[2].setEnabled(false);</p><p>  Ca

43、rds[3].setEnabled(false);</p><p>  Button_NoAnswer.setEnabled(false);</p><p>  Button_Enter.setEnabled(false);</p><p><b>  }</b></p><p>  }catch(Exception e

44、){</p><p>  e.printStackTrace() ;</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p><b>  });</b>

45、</p><p><b>  其效果如下:</b></p><p>  圖5.4 二十四點(diǎn)小游戲時間提示功能效果圖</p><p>  5.5計分系統(tǒng)功能設(shè)計與實(shí)現(xiàn)</p><p>  計分系統(tǒng)根據(jù)玩家答題情況進(jìn)行判斷,如果答題錯誤,則錯誤標(biāo)簽提示加一;如果正確,則正確標(biāo)簽提示加一。</p><p&

46、gt;<b>  其主要代碼如下:</b></p><p>  if(ctr.Controllers(finalReslut)){</p><p>  r=r+1;//錯誤加1</p><p>  lastLabel.setText("答案正確!") ;</p><p>  lastLabel.set

47、Visible(true) ;</p><p><b>  }else{</b></p><p>  f=f+1;//正確加1</p><p>  lastLabel.setText("上一次答案"+lastAnswer); </p><p>  lastLabel.setVisible(true)

48、;</p><p><b>  }</b></p><p><b>  其效果如下:</b></p><p>  圖5.5 二十四點(diǎn)小游戲計分系統(tǒng)功能效果圖</p><p>  5.6錯誤處理功能設(shè)計與實(shí)現(xiàn)</p><p>  錯誤處理功能用于對玩家輸入的表達(dá)式進(jìn)行限制,使

49、其符合正確表達(dá)式要求。這個功能的實(shí)現(xiàn)主要是在適當(dāng)?shù)臅r候?qū)Π存I進(jìn)行禁用和解禁用。</p><p>  主要代碼示范如下: </p><p>  Button_Add.setEnabled(true);//解禁按鍵</p><p>  Button_Reduce.setEnabled(true);</p><p>  Button_Multipl

50、y.setEnabled(true);</p><p>  Button_Divide.setEnabled(true);</p><p>  Button_Left.setEnabled(false);//禁用按鍵</p><p><b>  其效果如下:</b></p><p>  圖5.6 二十四點(diǎn)小游戲錯誤提示

51、功能效果圖</p><p><b>  6.結(jié)論</b></p><p>  二十四點(diǎn)小游戲主要提供一個給需要放松的朋友們一個放松的平臺。本游戲主要實(shí)現(xiàn)答案查詢、答錯提示、時間提示、計分系統(tǒng)、輸入錯誤提示或禁止等功能模塊。在設(shè)計過程中,通過不斷學(xué)習(xí),我掌握了一些有用的技術(shù)和經(jīng)驗(yàn)。比如線程的運(yùn)用。由于時間和能力有限,本游戲還有許多不完善,還有很多漏洞,我將在以后不斷的學(xué)

52、習(xí)中不斷改善。</p><p><b>  致謝</b></p><p>  在完成畢業(yè)設(shè)計的過程中,侯睿老師給了我很多指導(dǎo)和意見,使我能更好地完成課題設(shè)計。在此特別感謝侯老師對我的教學(xué)指導(dǎo)。同時也感謝我的死黨給予我的幫助。</p><p><b>  參考文獻(xiàn)</b></p><p>  [1]

溫馨提示

  • 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

提交評論