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

下載本文檔

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

文檔簡介

1、<p>  《JAVA程序設(shè)計(jì)》</p><p><b>  課程設(shè)計(jì)報(bào)告</b></p><p>  系 別: 計(jì)算機(jī)與電子系 </p><p>  專業(yè)班級(jí): 計(jì)算機(jī)科學(xué)與技術(shù)0801班 </p><p>  學(xué)生姓名: XXXXXXX <

2、/p><p>  指導(dǎo)教師: XXXX </p><p> ?。ㄕn程設(shè)計(jì)時(shí)間:2011年6月13日——2011年6月24日)</p><p><b>  目 錄</b></p><p>  1.課程設(shè)計(jì)目的………………………………………………………………1</p><p>

3、;  2.課程設(shè)計(jì)題目描述和要求 …………………………………………1</p><p>  3.課程設(shè)計(jì)報(bào)告內(nèi)容…………………………………………………………1</p><p>  3.1總體設(shè)計(jì)……………………………………………………………………1</p><p>  3.2詳細(xì)設(shè)計(jì)……………………………………………………………………3</p><

4、p>  3.3編碼實(shí)現(xiàn)……………………………………………………………………7</p><p>  3.4系統(tǒng)測試……………………………………………………………………19</p><p>  3.5系統(tǒng)運(yùn)行……………………………………………………………………19</p><p>  4.總結(jié)…………………………………………………………………………21</p

5、><p>  參考文獻(xiàn) ………………………………………………………………………21</p><p><b>  1.課程設(shè)計(jì)目的</b></p><p>  本次課程設(shè)計(jì)旨在加強(qiáng)JAVA程序編譯的能力和對JAVA程序的理解能力,通過本次課設(shè),加強(qiáng)大家的自學(xué)能力,為大家做畢業(yè)設(shè)計(jì)做好鋪墊。</p><p>  2.課程設(shè)計(jì)題目

6、描述和要求</p><p>  2.1掃雷游戲的基本要求</p><p>  Windows 7系統(tǒng)提供的掃雷游戲是一個(gè)很有趣的游戲。我選的課程設(shè)計(jì)題目是使用Java語言編寫一個(gè)與其類似的掃雷游戲。具體要求如下:</p><p>  (1)玩家可以設(shè)置雷數(shù),沒有初級(jí)中級(jí)高級(jí)之分,設(shè)置完雷數(shù)后點(diǎn)擊開始重新不布置雷區(qū),開始游戲。</p><p>

7、  (2) 用戶要揭開某個(gè)方塊,可單擊它。若所揭方塊下有淚,用戶便輸了這一局,若所揭方塊下五雷,則顯示一個(gè)數(shù)字,該數(shù)字代表方塊的周圍的8個(gè)方塊中共有多少顆雷。</p><p>  (3) 如果用戶認(rèn)為某個(gè)方塊下埋著雷,單擊右鍵可以在方塊上標(biāo)識(shí)一個(gè)用戶認(rèn)為是雷的圖標(biāo),即給出一個(gè)掃雷標(biāo)記。用戶每標(biāo)記出一個(gè)掃雷標(biāo)記(無論用戶的標(biāo)記是否正確),程序?qū)@示的剩余雷數(shù)減少一個(gè)。</p><p>  (

8、4)用戶可以選擇標(biāo)記疑問的方塊,用可以勾選游戲菜單下的標(biāo)記(或者用快捷鍵alt+G 然后M)即可,此時(shí)雙擊右鍵并可出現(xiàn)“?”標(biāo)記。另有顏色選項(xiàng),當(dāng)用戶勾選此項(xiàng)時(shí),游戲?qū)⒁宰畹蛨D像像素來顯示。</p><p>  3.課程設(shè)計(jì)報(bào)告內(nèi)容</p><p><b>  3.1 總體設(shè)計(jì)</b></p><p><b> ?。?)總體功能圖&l

9、t;/b></p><p><b>  圖3-1總體功能圖</b></p><p><b> ?。?)總體流程圖</b></p><p>  圖3-2 總體流程圖</p><p><b>  3.2 詳細(xì)設(shè)計(jì)</b></p><p>  (1)掃雷

10、棋盤的布局設(shè)計(jì)</p><p>  系統(tǒng)的整體布局為:CardLayout布局, 采用了菜單、按鈕、面板…等組件,菜單主要包括開始,選擇級(jí)別,標(biāo)記,掃雷英雄榜,退出, 按鈕的功能是重新開始新的游戲。</p><p><b> ?。?)雷區(qū)的設(shè)計(jì)</b></p><p>  MineArea類是javax.swing包中Jpanel容器的子類,實(shí)

11、現(xiàn)了ActionListener和MouseListener接口,所創(chuàng)建的對象:mineArea是MineGame類中最重要的成員之一,作為一個(gè)容器添加到MineGame窗口的中心。標(biāo)明MineArea類的主要成員變量、方法以及和MineGame類之間組合關(guān)系的UML圖如圖3-3所示。</p><p>  圖3-3 MineArea類的UML圖</p><p>  以下是UML圖中有關(guān)數(shù)據(jù)

12、和方法的詳細(xì)說明。</p><p><b>  2.1 成員變量</b></p><p>  (1)block是Block類型的數(shù)組,用來確定雷區(qū)有多少需進(jìn)行掃雷的方塊。</p><p>  (2)blockView是BlockView類型的數(shù)組,負(fù)責(zé)為block數(shù)組中的Block對象提供視圖。</p><p>  (3

13、)lay是LayMines類型的對象,負(fù)責(zé)設(shè)置block數(shù)組中的哪些方塊是雷或不是雷。</p><p>  (4)record負(fù)責(zé)提供保存成績的界面,是一個(gè)對話框,默認(rèn)不可見。用戶只有掃雷成功后(用時(shí)最少),才可以看見對話框。</p><p>  (5)reStart是一個(gè)按鈕對象,用戶單擊它重新開始游戲。</p><p>  (6)time是計(jì)時(shí)器對象,負(fù)責(zé)計(jì)算用

14、戶的用時(shí)。</p><p><b>  2.2 方法</b></p><p>  (1)initMineArea(int,int,int,int)方法可根據(jù)參數(shù)提供的數(shù)據(jù)設(shè)置雷區(qū)的寬度、高度、雷的數(shù)目以及雷區(qū)的級(jí)別。</p><p>  (2)actionPerformed(ActionEvent)是MineArea類實(shí)現(xiàn)的ActionList

15、ener接口中的方法。當(dāng)用戶單擊blockView中的某個(gè)方塊時(shí),actionPerformed(ActionEvent)方法負(fù)責(zé)執(zhí)行有關(guān)算法,例如,當(dāng)用鼠標(biāo)左鍵單擊方塊上的按鈕后,若該方塊下有雷,actionPerformed(ActionEvent)方法將使用戶輸?shù)舯揪?,若該方塊下無雷,actionPerformed(ActionEvent)方法將顯示blockView對象中的標(biāo)簽,該標(biāo)簽上是一個(gè)數(shù)字,該數(shù)字代表當(dāng)前方塊的周圍的8個(gè)

16、方塊中共有多少顆雷。</p><p>  (3)show()方法是一個(gè)遞歸方法。actionPerformed(ActionEvent)方法執(zhí)行時(shí)將調(diào)用show方法進(jìn)行掃雷。</p><p>  (4)mousePressed(MouseEvent)方法是MineArea類實(shí)現(xiàn)的MouseListener接口中的方法,當(dāng)用戶按下鼠標(biāo)有件事mousePressed(MouseEvent)方法

17、負(fù)責(zé)讓方塊上顯示一個(gè)探雷標(biāo)記。</p><p>  (5)inquireWin()方法用來判斷用戶是否掃雷成功,如果成功該方法負(fù)責(zé)讓record對話框可見。所謂掃雷成功是指不僅找到了全部的累而且用時(shí)最少。</p><p> ?。?)雷區(qū)設(shè)計(jì)流程圖</p><p>  圖3-4 雷區(qū)設(shè)計(jì)流程圖</p><p><b>  2.3音效的

18、設(shè)計(jì)</b></p><p> ?。?)music類是java.awt包中Frame的子類,通過構(gòu)造音效聲音方法,在MainFrame主類中,通過ActionListener來監(jiān)視是否已開始游戲,來決定播放計(jì)時(shí)聲,之后又通過ActionListener來監(jiān)視是否踩到雷和是否完成來決定,播放相應(yīng)的音樂。下面標(biāo)明music類的主要成員變量、方法以及和MineFrame類之間組合關(guān)系的UML圖如圖3-2所示

19、。</p><p>  圖3-5 MineArea類的UML圖</p><p>  (2)音效設(shè)計(jì)流程圖</p><p>  圖3-6 音效設(shè)計(jì)流程圖</p><p><b> ?。?)類之間關(guān)系圖</b></p><p>  圖3-7 類之間關(guān)系圖</p><p>&l

20、t;b>  3.3. 編碼實(shí)現(xiàn)</b></p><p>  import java.awt.*;</p><p>  import java.awt.event.*;</p><p>  import javax.swing.*;</p><p>  public class Frame</p><p&g

21、t;  extends JFrame {</p><p>  JTextField text;</p><p>  JLabel nowBomb, setBomb;</p><p>  int BombNum, BlockNum; // 當(dāng)前雷數(shù),當(dāng)前方塊數(shù)</p><p>  int rightBomb, restBomb, restBlo

22、ck; // 找到的地雷數(shù),剩余雷數(shù),剩余方塊數(shù)</p><p>  JButton start = new JButton(" 開始 ");</p><p>  JPanel MenuPamel = new JPanel();</p><p>  JPanel bombPanel = new JPanel();</p><p

23、>  Bomb[][] bombButton;</p><p><b>  JPanel c;</b></p><p>  BorderLayout borderLayout1 = new BorderLayout();</p><p>  GridLayout gridLayout1 = new GridLayout();</p&

24、gt;<p>  public Frame() {</p><p><b>  try {</b></p><p>  setDefaultCloseOperation(EXIT_ON_CLOSE);</p><p><b>  jbInit();</b></p><p><b&

25、gt;  }</b></p><p>  catch (Exception exception) {</p><p>  exception.printStackTrace();</p><p><b>  }</b></p><p><b>  }</b></p><

26、;p>  private void jbInit() throws Exception {</p><p>  c = (JPanel) getContentPane();</p><p>  setTitle("掃雷");</p><p>  c.setBackground(Color.WHITE);</p><p&g

27、t;  MenuPamel.setBackground(Color.GRAY);</p><p>  c.setLayout(borderLayout1);</p><p>  setSize(new Dimension(600, 600));</p><p>  setResizable(false);</p><p>  BlockNum

28、 = 144;</p><p>  BombNum = 10;</p><p>  text = new JTextField("10 ", 3);</p><p>  nowBomb = new JLabel("當(dāng)前雷數(shù)" + ":" + BombNum);</p><p>  s

29、etBomb = new JLabel("設(shè)置地雷數(shù)");</p><p>  start.addActionListener(new Frame1_start_actionAdapter(this));</p><p>  MenuPamel.add(setBomb);</p><p>  MenuPamel.add(text);</p&

30、gt;<p>  MenuPamel.add(start);</p><p>  MenuPamel.add(nowBomb);</p><p>  c.add(MenuPamel, java.awt.BorderLayout.SOUTH);</p><p>  bombPanel.setLayout(gridLayout1);</p>

31、<p>  gridLayout1.setColumns( (int) Math.sqrt(BlockNum));</p><p>  gridLayout1.setRows( (int) Math.sqrt(BlockNum));</p><p>  bombButton = new Bomb[ (int) Math.sqrt(BlockNum)][ (int) Math.sq

32、rt(BlockNum)];</p><p>  for (int i = 0; i < (int) Math.sqrt(BlockNum); i++) {</p><p>  for (int j = 0; j < (int) Math.sqrt(BlockNum); j++) {</p><p>  bombButton[i][j] = new Bo

33、mb(i, j);</p><p>  //bombButton[i][j].setSize(10, 10);</p><p>  bombButton[i][j].setFont(new Font("", Font.PLAIN, 14));//設(shè)置字體大小</p><p>  bombButton[i][j].setForeground(Col

34、or.white);</p><p>  bombButton[i][j].addMouseListener(new Bomb_mouseAdapter(this));</p><p>  bombButton[i][j].addActionListener(new Bomb_actionAdapter(this));</p><p>  bombPanel.add

35、(bombButton[i][j]);</p><p><b>  }</b></p><p><b>  }</b></p><p>  c.add(bombPanel, java.awt.BorderLayout.CENTER);</p><p>  startBomb();</p>

36、<p><b>  }</b></p><p>  /* 開始按鈕 */</p><p>  public void start_actionPerformed(ActionEvent e) {</p><p>  int num=Integer.parseInt(text.getText().trim());</p>

37、<p>  if (num >= 5 && num < 50) {</p><p>  BombNum = num;</p><p>  startBomb();</p><p><b>  }</b></p><p>  else if (num < 5) {</p

38、><p>  JOptionPane.showMessageDialog(null, "您設(shè)置的地雷數(shù)太少了,請重設(shè)!", "錯(cuò)誤",</p><p>  JOptionPane.ERROR_MESSAGE);</p><p><b>  num=10;</b></p><p>  B

39、ombNum = num;</p><p><b>  }</b></p><p><b>  else {</b></p><p>  JOptionPane.showMessageDialog(null, "您設(shè)置的地雷數(shù)太多了,請重設(shè)!", "錯(cuò)誤",</p>&

40、lt;p>  JOptionPane.ERROR_MESSAGE);</p><p><b>  num=10;</b></p><p>  BombNum = num;</p><p><b>  }</b></p><p><b>  }</b></p>

41、<p>  /* 開始,布雷 */</p><p>  public void startBomb() {</p><p>  nowBomb.setText("當(dāng)前雷數(shù)" + ":" + BombNum);</p><p>  for (int i = 0; i < (int) Math.sqrt(Bloc

42、kNum); i++) {</p><p>  for (int j = 0; j < (int) Math.sqrt(BlockNum); j++) {</p><p>  bombButton[i][j].isBomb = false;</p><p>  bombButton[i][j].isClicked = false;</p><

43、;p>  bombButton[i][j].isRight = false;</p><p>  bombButton[i][j].BombFlag = 0;</p><p>  bombButton[i][j].BombRoundCount = 9;</p><p>  bombButton[i][j].setEnabled(true);</p>

44、<p>  bombButton[i][j].setText("");</p><p>  bombButton[i][j].setFont(new Font("", Font.PLAIN, 14));//設(shè)置字體大小</p><p>  bombButton[i][j].setForeground(Color.BLUE);</p

45、><p>  rightBomb = 0;</p><p>  restBomb = BombNum;</p><p>  restBlock = BlockNum - BombNum;</p><p><b>  }</b></p><p><b>  }</b></p&

46、gt;<p>  for (int i = 0; i < BombNum; ) {</p><p>  int x = (int) (Math.random() * (int) (Math.sqrt(BlockNum) - 1));</p><p>  int y = (int) (Math.random() * (int) (Math.sqrt(BlockNum) -

47、 1));</p><p>  if (bombButton[x][y].isBomb != true) {</p><p>  bombButton[x][y].isBomb = true;</p><p><b>  i++;</b></p><p><b>  }</b></p>

48、<p><b>  }</b></p><p>  CountRoundBomb();</p><p><b>  }</b></p><p>  /* 計(jì)算方塊周圍雷數(shù) */</p><p>  public void CountRoundBomb() {</p><

49、;p>  for (int i = 0; i < (int) Math.sqrt(BlockNum); i++) {</p><p>  for (int j = 0; j < (int) Math.sqrt(BlockNum); j++) {</p><p>  int count = 0;</p><p>  // 當(dāng)需要檢測的單元格本身無地雷

50、的情況下,統(tǒng)計(jì)周圍的地雷個(gè)數(shù)</p><p>  if (bombButton[i][j].isBomb != true) {</p><p>  for (int x = i - 1; x < i + 2; x++) {</p><p>  for (int y = j - 1; y < j + 2; y++) {</p><p&g

51、t;  if ( (x >= 0) && (y >= 0)</p><p>  && (x < ( (int) Math.sqrt(BlockNum)))</p><p>  && (y < ( (int) Math.sqrt(BlockNum)))) {</p><p>  if (bombB

52、utton[x][y].isBomb == true) {</p><p><b>  count++;</b></p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p>

53、<p><b>  }</b></p><p>  bombButton[i][j].BombRoundCount = count;</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b&

54、gt;</p><p><b>  }</b></p><p>  /* 是否挖完了所有的雷 */</p><p>  public void isWin() {</p><p>  restBlock = BlockNum - BombNum;</p><p>  for (int i = 0;

55、 i < (int) Math.sqrt(BlockNum); i++) {</p><p>  for (int j = 0; j < (int) Math.sqrt(BlockNum); j++) {</p><p>  if (bombButton[i][j].isClicked == true) {</p><p>  restBlock--;&

56、lt;/p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  if (rightBomb == BombNum || restBlock == 0) {</p><p>  J

57、OptionPane.showMessageDialog(this, "您挖完了所有的雷,您勝利了!", "勝利",</p><p>  JOptionPane.INFORMATION_MESSAGE);</p><p>  startBomb();</p><p><b>  }</b></p&g

58、t;<p><b>  }</b></p><p>  /** 當(dāng)選中的位置為空,則翻開周圍的地圖* */</p><p>  public void isNull(Bomb ClickedButton) {</p><p><b>  int i, j;</b></p><p>  

59、i = ClickedButton.num_x;</p><p>  j = ClickedButton.num_y;</p><p>  for (int x = i - 1; x < i + 2; x++) {</p><p>  for (int y = j - 1; y < j + 2; y++) {</p><p>  

60、if ( ( (x != i) || (y != j)) && (x >= 0) && (y >= 0)</p><p>  && (x < ( (int) Math.sqrt(BlockNum)))</p><p>  && (y < ( (int) Math.sqrt(BlockNum)))) {&

61、lt;/p><p>  if (bombButton[x][y].isBomb == false</p><p>  && bombButton[x][y].isClicked == false</p><p>  && bombButton[x][y].isRight == false) {</p><p>  

62、turn(bombButton[x][y]);</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p><

63、b>  }</b></p><p><b>  /* 翻開 */</b></p><p>  public void turn(Bomb ClickedButton) {</p><p>  ClickedButton.setEnabled(false);</p><p>  ClickedButton

64、.isClicked = true;</p><p>  if (ClickedButton.BombRoundCount > 0) {</p><p>  ClickedButton.setText(ClickedButton.BombRoundCount + "");</p><p><b>  }</b><

65、/p><p><b>  else {</b></p><p>  isNull(ClickedButton);</p><p><b>  }</b></p><p><b>  }</b></p><p>  /* 左鍵點(diǎn)擊 */</p>

66、<p>  public void actionPerformed(ActionEvent e) {</p><p>  if ( ( (Bomb) e.getSource()).isClicked == false</p><p>  && ( (Bomb) e.getSource()).isRight == false) {</p><p&

67、gt;  if ( ( (Bomb) e.getSource()).isBomb == false) {</p><p>  turn( ( (Bomb) e.getSource()));</p><p><b>  isWin();</b></p><p><b>  }</b></p><p>

68、<b>  else {</b></p><p>  for (int i = 0; i < (int) Math.sqrt(BlockNum); i++) {</p><p>  for (int j = 0; j < (int) Math.sqrt(BlockNum); j++) {</p><p>  if (bombButt

69、on[i][j].isBomb == true) {</p><p>  bombButton[i][j].setText("b");</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b>&l

70、t;/p><p>  ( (Bomb) e.getSource()).setForeground(Color.RED);</p><p>  ( (Bomb) e.getSource()).setFont(new Font("", Font.BOLD, 20));</p><p>  ( (Bomb) e.getSource()).setText(&

71、quot;X");</p><p>  JOptionPane.showMessageDialog(this, "你踩到地雷了,按確定重來", "踩到地雷", 2);</p><p>  startBomb();</p><p><b>  }</b></p><p>&

72、lt;b>  }</b></p><p><b>  }</b></p><p>  /* 右鍵點(diǎn)擊 */</p><p>  public void mouseClicked(MouseEvent e) {</p><p>  Bomb bombSource = (Bomb) e.getSource(

73、);</p><p>  boolean right = SwingUtilities.isRightMouseButton(e);</p><p>  if ( (right == true) && (bombSource.isClicked == false)) {</p><p>  bombSource.BombFlag = (bombSou

74、rce.BombFlag + 1) % 3;</p><p>  if (bombSource.BombFlag == 1) {</p><p>  if (restBomb > 0) {</p><p>  bombSource.setForeground(Color.RED);</p><p>  bombSource.setTex

75、t("F");</p><p>  bombSource.isRight = true;</p><p>  restBomb--;</p><p><b>  }</b></p><p><b>  else {</b></p><p>  bombSo

76、urce.BombFlag = 0;</p><p><b>  }</b></p><p><b>  }</b></p><p>  else if (bombSource.BombFlag == 2) {</p><p>  restBomb++;</p><p>  

77、bombSource.setText("Q");</p><p>  bombSource.isRight = false;</p><p><b>  }</b></p><p><b>  else {</b></p><p>  bombSource.setText(&qu

78、ot;");</p><p><b>  }</b></p><p>  if (bombSource.isBomb == true) {</p><p>  if (bombSource.BombFlag == 1) {</p><p>  rightBomb++;</p><p>&

79、lt;b>  }</b></p><p>  else if (bombSource.BombFlag == 2) {</p><p>  rightBomb--;</p><p><b>  }</b></p><p><b>  }</b></p><p&g

80、t;  nowBomb.setText("當(dāng)前雷數(shù)" + ":" + restBomb);</p><p><b>  isWin();</b></p><p><b>  }</b></p><p><b>  }</b></p><p&g

81、t;  public static void main(String[] args) {</p><p>  Frame frame = new Frame();</p><p>  frame.setVisible(true);</p><p><b>  }</b></p><p><b>  }</

82、b></p><p>  class Frame1_start_actionAdapter</p><p>  implements ActionListener {</p><p>  private Frame adaptee;</p><p>  Frame1_start_actionAdapter(Frame adaptee)

83、{</p><p>  this.adaptee = adaptee;</p><p><b>  }</b></p><p>  public void actionPerformed(ActionEvent e) {</p><p>  adaptee.start_actionPerformed(e);</p&

84、gt;<p><b>  }</b></p><p><b>  }</b></p><p>  ////////////////////////////</p><p>  class Bomb</p><p>  extends JButton {</p><p

85、>  int num_x, num_y; // 第幾號(hào)方塊</p><p>  int BombRoundCount; // 周圍雷數(shù)</p><p>  boolean isBomb; // 是否為雷</p><p>  boolean isClicked; // 是否被點(diǎn)擊</p><p>  int BombFlag; // 探雷

86、標(biāo)記</p><p>  boolean isRight; // 是否點(diǎn)擊右鍵</p><p>  public Bomb(int x, int y) {</p><p>  num_x = x;</p><p>  num_y = y;</p><p>  BombFlag = 0;</p><p

87、>  BombRoundCount = 9;</p><p>  isBomb = false;</p><p>  isClicked = false;</p><p>  isRight = false;</p><p><b>  }</b></p><p><b>  }&

88、lt;/b></p><p>  class Bomb_actionAdapter</p><p>  implements ActionListener {</p><p>  private Frame adaptee;</p><p>  Bomb_actionAdapter(Frame adaptee) {</p>

89、<p>  this.adaptee = adaptee;</p><p><b>  }</b></p><p>  public void actionPerformed(ActionEvent e) {</p><p>  adaptee.actionPerformed(e);</p><p><

90、b>  }</b></p><p><b>  }</b></p><p>  class Bomb_mouseAdapter</p><p>  extends MouseAdapter {</p><p>  private Frame adaptee;</p><p>  

91、Bomb_mouseAdapter(Frame adaptee) {</p><p>  this.adaptee = adaptee;</p><p><b>  }</b></p><p>  public void mouseClicked(MouseEvent e) {</p><p>  adaptee.mou

92、seClicked(e);</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  3.4系統(tǒng)測試</b></p><p>  在Java eclipse中將Java源文件保存到同一目錄中,編譯源文件,然后運(yùn)行,運(yùn)行結(jié)果清楚的

93、顯示了功能圖上的各個(gè)功能,測試非常成功。</p><p>  遇到的最大的問題就是沒有注解,我沒有寫詳細(xì)的注解,導(dǎo)致我看起來比以前更加吃力,這次切身的的感受給我的沖擊很大,這么長的程序,以后寫JAVA不敢不寫詳細(xì)的注解了。</p><p><b>  3.5 系統(tǒng)運(yùn)行</b></p><p>  圖3-10 運(yùn)行主界面效果圖</p>

94、<p>  圖3-11 游戲失敗效果圖</p><p>  圖3-12 自定義雷區(qū)效果圖</p><p>  圖3-13 游戲勝利效果圖</p><p><b>  4. 總結(jié)與說明</b></p><p>  這個(gè)掃雷游戲是完全模擬微軟系統(tǒng)自帶的掃雷游戲,所以難度是比較大了,必然在編程過程中也遇到很多問題

95、,有些問題比較簡單但就不知道錯(cuò)在哪里,有些大問題之道在哪就是不知道怎么辦才好,后來經(jīng)過自己的不斷調(diào)試,這個(gè)掃雷游戲終于大功告成。</p><p>  經(jīng)過編寫這個(gè)掃雷游戲,我認(rèn)識(shí)到應(yīng)該注意細(xì)節(jié)問題,雖然是很小的問題,但可以提高自己編程的能力,而且還可以培養(yǎng)自己編程的嚴(yán)謹(jǐn)性,同時(shí)還可以為以后的編程積累經(jīng)驗(yàn)。編寫完這個(gè)掃雷游戲,我發(fā)現(xiàn)自己有很多的不足,我想如果讓我來單獨(dú)來編寫這個(gè)游戲,我感覺很吃力,因?yàn)檫@個(gè)游戲涉及到

96、好多算法。感觸最深的就是我們真的要扎扎實(shí)實(shí)的打基礎(chǔ)!并且我感覺到只要我們自己肯下功夫?qū)W習(xí),我們也可以做出很好的東西,不需要每次都抄襲別人的,只有自己的才是最珍貴的!</p><p><b>  參考文獻(xiàn)</b></p><p>  《JAVA課程設(shè)計(jì)》(第二版)電子工業(yè)出版社 耿祥義 張躍平 編著</p><p>  《JAV

97、A大學(xué)實(shí)用教程》(第二版)電子工業(yè)出版社 耿祥義 張躍平 編著</p><p>  《Java程序設(shè)計(jì)實(shí)驗(yàn)指導(dǎo)》 清華大學(xué)出版社 陳軼 姚曉昆 編著</p><p>  《級(jí)Java語言程序設(shè)計(jì)教程》清華大學(xué)出版社 楊昭 編著 </p><p><b>  課程設(shè)計(jì)成績:</b&

98、gt;</p><p>  注:教師按學(xué)生實(shí)際成績(平時(shí)成績和業(yè)務(wù)考核成績)登記并錄入教務(wù)MIS系統(tǒng),由系統(tǒng)自動(dòng)轉(zhuǎn)化為“優(yōu)秀(90~100分)、良好(80~89分)、中等(70~79分)、及格(60~69分)和不及格(60分以下)”五等。</p><p><b>  指導(dǎo)教師評語:</b></p><p>  指導(dǎo)教師(簽名):

溫馨提示

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

評論

0/150

提交評論