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><b>  成 績 評 定 表</b></p><p><b>  課程設(shè)計(jì)任務(wù)書</b></p><p><b>  目 錄</b></p><p>  1.課設(shè)軟件主要功能 …………………………………………1</p><p>  2.類總體設(shè)

2、 …………………………………………..1</p><p>  2.1類組合關(guān)系圖 ………………………………….………1</p><p>  2.2主類 ……………………………….…………2 </p><p>  2.3其它類 …………………….……………………..2</p><p>  3.

3、類詳細(xì)設(shè)計(jì)… ………………………………………2</p><p>  3.1 ERS_Block主類 ……..…………………………….……..2 </p><p>  3.2 Command處理控制類… ….……………………….….…4</p><p>  3.3 GameCanvas游戲畫布類 ………….………………………4</p>

4、<p>  3.4 Block方塊類............……………….…….………………….6</p><p>  4.關(guān)鍵類成員函數(shù)流程圖及代碼………………………..….…..7</p><p>  5.軟件運(yùn)行結(jié)果………………………………………………...17</p><p>  結(jié)論……………………...…………………………….………20<

5、;/p><p>  參考文獻(xiàn)……………….……………………………………...20</p><p>  1.課設(shè)軟件主要功能</p><p>  本系統(tǒng)是一個(gè)俄羅斯方塊游戲的系統(tǒng)設(shè)計(jì)[1],實(shí)現(xiàn)的基本功能就是能實(shí)現(xiàn)經(jīng)典俄羅斯方塊游戲的基本功能。如用鍵盤上的空格下左右鍵來控制方塊的變形,移動等功能。點(diǎn)擊控制面板上的開始游戲,游戲暫停,提高級數(shù),降低級數(shù)退出游戲等按鈕來實(shí)現(xiàn)游

6、戲的開始,暫停,停止游戲,增加難度,降低難度等功能。 </p><p><

7、;b>  圖1.1功能圖</b></p><p><b>  2.類總體設(shè)計(jì)</b></p><p><b>  2.1類組合關(guān)系圖</b></p><p>  圖2.1. 類組合關(guān)系圖</p><p><b>  2.2主類</b></p>&

8、lt;p>  ERS_Block繼承Frame類負(fù)責(zé)游戲全局的控制[2]。對開始游戲、暫停/繼續(xù)游戲、結(jié)束游戲、等級設(shè)置。玩家可自行設(shè)定游戲等級,主要提供10種級別,級別越高,游戲速度越快,難度越大</p><p><b>  2.3其他類</b></p><p>  1.Mypanel繼承Panel類。</p><p>  2.Bloc

9、k是方塊類控制塊的移動,下落變形功能。七種類型方塊的父類,定義了所有類型方塊的共同特征和行為。</p><p>  3.GameCanvas是游戲畫布類,繼承Canvas類,界面設(shè)計(jì)應(yīng)遵循簡介美觀方便易用的基本原則在游戲區(qū)顯示方塊。</p><p>  4.Command類是控制按鈕類。</p><p>  5.MyTimer類繼承自線程類Thead。包含run()

10、方法,sleep()方法,控制游戲的速度。</p><p>  6.WinListener類繼承WindowAdapter類。</p><p><b>  3.類詳細(xì)設(shè)計(jì)</b></p><p>  3.1ERS_Block主類</p><p>  圖3.1主類數(shù)據(jù)透視圖</p><p><

11、b>  定義成員變量[3]</b></p><p>  右邊信息窗體的布局 </p><p>  MyPanel infoScr = new MyPanel(); </p><p>  infoScr.setLayout(new GridLayout(4,1,0,5)); </p><p>  infoScr.setSize

12、(120,300); </p><p><b>  定義標(biāo)簽和初始值 </b></p><p>  Label scorep = new Label("分?jǐn)?shù):",Label.LEFT); </p><p>  Label levelp = new Label("級數(shù):",Label.LEFT); <

13、/p><p>  右邊控制按鈕窗體的布局 </p><p>  MyPanel controlScr = new MyPanel(); </p><p>  controlScr.setLayout(new GridLayout(5,1,0,5)); </p><p>  rightScr.add(controlScr); </p>

14、<p><b>  定義按鈕play </b></p><p>  Button play_b = new Button("開始游戲"); </p><p>  play_b.setSize(new Dimension(50,200)); </p><p>  定義按鈕Level UP </p>&

15、lt;p>  Button level_up_b = new Button("提高級數(shù)"); </p><p>  level_up_b.setSize(new Dimension(50,200)); </p><p>  定義按鈕Level Down </p><p>  Button level_down_b =new Button(&

16、quot;降低級數(shù)"); </p><p>  level_down_b.setSize(new Dimension(50,200)); </p><p>  定義按鈕Level Pause </p><p>  Button pause_b =new Button("游戲暫停"); </p><p>  pau

17、se_b.setSize(new Dimension(50,200)); </p><p><b>  定義按鈕Quit </b></p><p>  Button quit_b = new Button("退出游戲"); </p><p>  quit_b.setSize(new Dimension(50,200)); ;

18、 </p><p><b>  成員方法</b></p><p>  俄羅斯方塊類的構(gòu)造方法 </p><p>  方法定義:ERS_Block(String title)</p><p>  isGameOver方法</p><p>  方法定義:private boolean isGameOv

19、er() </p><p>  功能描述:該方法是判斷游戲是否該結(jié)束了,只需要判斷窗口中的最頂端那一行中是否有方塊,同時(shí)也要判斷最底端的是否也有,如果都有即結(jié)束。 </p><p>  3.2Command處理控制類</p><p>  圖3.2Command類數(shù)據(jù)透視圖</p><p><b>  成員變量[4]:</b&g

20、t;</p><p><b>  給按鈕編號</b></p><p>  int button_play </p><p>  int button_levelup </p><p>  int button_leveldown </p><p>  int button_quit ; <

21、;/p><p>  int button_pause </p><p>  int curButton; </p><p>  GameCanvas scr;</p><p><b>  成員方法:</b></p><p>  控制按鈕類的構(gòu)造方法</p><p>  方法定

22、義:Command(int button,GameCanvas scr)</p><p><b>  按鈕執(zhí)行方法 </b></p><p>  方法定義:public void actionPerformed (ActionEvent e)</p><p>  功能:點(diǎn)擊按鈕實(shí)現(xiàn)游戲的開始,結(jié)束,升級,降級,暫停[5]。</p>

23、<p>  3.3GameCanvas游戲畫布類</p><p>  圖3.3GameCanvas類數(shù)據(jù)透視圖</p><p><b>  成員變量:</b></p><p>  小方塊邊長 :final int 0unitSize = 30</p><p>  正方格的行數(shù): int rowNum</

24、p><p>  方格的列數(shù) :int columnNum</p><p>  允許有多少行未削 :int maxAllowRowNum</p><p>  新出現(xiàn)塊的起始行坐標(biāo) :int blockInitRow</p><p>  出現(xiàn)塊的起始列坐標(biāo): int blockInitCol</p><p>  屏幕數(shù)組: i

25、nt [][] scrArr</p><p>  對方快的引用:Block b</p><p>  2.畫布類的構(gòu)造方法</p><p><b>  成員方法[5]:</b></p><p>  初始化屏幕,并將屏幕數(shù)組清零的方法</p><p>  方法定義 :void initScr()<

26、;/p><p><b>  重新刷新畫布方法</b></p><p>  方法定義 :public void paint(Graphics g)</p><p><b>  畫方塊的方法</b></p><p>  方法定義 : public void drawUnit(int row,int col,

27、int type)</p><p>  功能:以背景為顏色畫,畫正在下落的方塊,畫已經(jīng)落下的方塊。 </p><p>  塊的初始v行坐標(biāo)方法</p><p>  方法定義 : public int getInitRow()</p><p>  返回新塊的初始行坐標(biāo) :return(blockInitRow)</p><p

28、>  返回新塊的初始列坐標(biāo)方法</p><p>  方法定義 :public int getInitCol()</p><p>  返回新塊的初始列坐標(biāo) :return(blockInitCol)</p><p><b>  滿行刪除方法</b></p><p>  方法定義 :void deleteFullLin

29、e()</p><p>  功能:這個(gè)就是實(shí)現(xiàn)如何將行消除的,其實(shí)就是在判斷了該行該消除時(shí)候?qū)⑸厦娴姆綁K都向下平移一格,這樣在實(shí)現(xiàn)程序界面也就給玩家是消一行的視覺效果[6]。</p><p>  3.3Block方塊類</p><p>  圖3.3Block類數(shù)據(jù)透視圖</p><p><b>  成員變量:</b>&l

30、t;/p><p>  塊的模式編號:int blockType; </p><p>  塊的翻轉(zhuǎn)狀態(tài):int turnState; </p><p>  塊的下落狀態(tài):int blockState; </p><p>  塊在畫布上的坐標(biāo):int row,col; </p><p>  GameCanvas scr;

31、</p><p><b>  成員方法:</b></p><p>  fallDown方法</p><p>  方法定義:public void fallDown ()</p><p>  功能描述:實(shí)現(xiàn)方塊的運(yùn)行,下落。</p><p>  leftMove()</p><p

32、>  方法方法定義:public synchronized boolean leftMove()</p><p>  功能描述:將當(dāng)前畫移動到所左面的位置。</p><p>  rightMove()方法</p><p>  方法定義:private boolean rightMove ()</p><p>  功能描述:將方塊想右邊移

33、動。</p><p><b>  方法</b></p><p>  方法定義:public void turnNext()</p><p>  功能描述:實(shí)現(xiàn)方塊的旋轉(zhuǎn)。</p><p>  leftturn方法</p><p>  方法定義:private synchronized boolea

34、n leftturn()</p><p>  功能描述:將當(dāng)前塊實(shí)現(xiàn)翻轉(zhuǎn)。</p><p>  deleteFullLine方法</p><p>  方法定義:private boolean deleteFullLine()</p><p>  功能描述:實(shí)現(xiàn)滿行刪除的方法。</p><p><b>  er

35、ase方法</b></p><p>  方法定義:private void erase()</p><p>  功能描述:將當(dāng)前塊從畫布的對應(yīng)位置移除。</p><p><b>  display方法</b></p><p>  方法定義:private void display()</p>&

36、lt;p>  功能描述:實(shí)現(xiàn)重畫畫布的時(shí)候顯示當(dāng)前塊</p><p>  4.關(guān)鍵類成員函數(shù)流程圖及代碼</p><p><b>  4.1系統(tǒng)流程圖</b></p><p><b>  4.2源代碼[7]</b></p><p>  import java.awt.*; </p>

37、<p>  import java.awt.event.*; //俄羅斯方塊類 </p><p>  class ERS_Block extends Frame{ </p><p>  public static boolean isPlay=false; </p><p>  public static int level=1,score=0; &l

38、t;/p><p>  public static TextField scoreField,levelField; </p><p>  public static MyTimer timer; </p><p>  GameCanvas gameScr; </p><p>  public static void main(String[] a

39、rgus){ </p><p>  ERS_Block ers = new ERS_Block("俄羅斯方塊游戲 "); </p><p>  WindowListener win_listener = new WinListener(); </p><p>  ers.addWindowListener(win_listener); </

40、p><p><b>  } </b></p><p>  //俄羅斯方塊類的構(gòu)造方法 </p><p>  ERS_Block(String title){ </p><p>  super(title); </p><p>  setSize(600,480); </p><p&

41、gt;  setLayout(new GridLayout(1,2)); </p><p>  gameScr = new GameCanvas(); </p><p>  gameScr.addKeyListener(gameScr);</p><p>  timer = new MyTimer(gameScr); </p><p>  t

42、imer.setDaemon(true); </p><p>  timer.start(); </p><p>  timer.suspend(); </p><p>  add(gameScr); </p><p>  Panel rightScr = new Panel(); </p><p>  rightSc

43、r.setLayout(new GridLayout(2,1,0,30)); </p><p>  rightScr.setSize(120,500); </p><p>  add(rightScr); //右邊信息窗體的布局 </p><p>  MyPanel infoScr = new MyPanel(); </p><p>  in

44、foScr.setLayout(new GridLayout(4,1,0,5)); </p><p>  infoScr.setSize(120,300); </p><p>  rightScr.add(infoScr); //定義標(biāo)簽和初始值 </p><p>  Label scorep = new Label("分?jǐn)?shù):",Label.LE

45、FT); </p><p>  Label levelp = new Label("級數(shù):",Label.LEFT); </p><p>  scoreField = new TextField(8); </p><p>  levelField = new TextField(8); </p><p>  scoreFi

46、eld.setEditable(false); </p><p>  levelField.setEditable(false); </p><p>  infoScr.add(scorep); </p><p>  infoScr.add(scoreField); </p><p>  infoScr.add(levelp); </p

47、><p>  infoScr.add(levelField); </p><p>  scorep.setSize(new Dimension(20,60)); </p><p>  scoreField.setSize(new Dimension(20,60)); </p><p>  levelp.setSize(new Dimension(

48、20,60)); </p><p>  levelField.setSize(new Dimension(20,60)); </p><p>  scoreField.setText("0"); </p><p>  levelField.setText("1"); //右邊控制按鈕窗體的布局 </p><

49、p>  MyPanel controlScr = new MyPanel(); </p><p>  controlScr.setLayout(new GridLayout(5,1,0,5)); </p><p>  rightScr.add(controlScr); //定義按鈕play </p><p>  Button play_b = new Butt

50、on("開始游戲"); </p><p>  play_b.setSize(new Dimension(50,200)); </p><p>  play_b.addActionListener(new Command(Command.button_play,gameScr)); //定義按鈕Level UP </p><p>  Button

51、level_up_b = new Button("提高級數(shù)"); </p><p>  level_up_b.setSize(new Dimension(50,200)); </p><p>  level_up_b.addActionListener(new Command(Command.button_levelup,gameScr)); </p>&

52、lt;p>  Button level_down_b =new Button("降低級數(shù)"); </p><p>  level_down_b.setSize(new Dimension(50,200)); </p><p>  level_down_b.addActionListener(new Command(Command.button_leveldown,

53、gameScr)); </p><p>  Button pause_b =new Button("游戲暫停"); </p><p>  pause_b.setSize(new Dimension(50,200)); </p><p>  pause_b.addActionListener(new Command(Command.button_p

54、ause,gameScr)); </p><p>  Button quit_b = new Button("退出游戲"); </p><p>  quit_b.setSize(new Dimension(50,200)); </p><p>  quit_b.addActionListener(new Command(Command.butto

55、n_quit,gameScr)); </p><p>  controlScr.add(play_b); </p><p>  controlScr.add(level_up_b); </p><p>  controlScr.add(level_down_b); </p><p>  controlScr.add(pause_b); <

56、;/p><p>  controlScr.add(quit_b); </p><p>  setVisible(true); </p><p>  gameScr.requestFocus(); </p><p><b>  } </b></p><p><b>  //游戲畫布類 <

57、/b></p><p>  class GameCanvas extends Canvas implements KeyListener{ </p><p>  final int unitSize = 30; //小方塊邊長 </p><p>  int rowNum; //正方格的行數(shù) </p><p>  int columnNu

58、m; //正方格的列數(shù) </p><p>  int maxAllowRowNum; //允許有多少行未削 </p><p>  int blockInitRow; //新出現(xiàn)塊的起始行坐標(biāo) </p><p>  int blockInitCol; //新出現(xiàn)塊的起始列坐標(biāo) </p><p>  int [][] scrArr; //屏幕數(shù)組

59、</p><p>  Block b; //對方快的引用 //畫布類的構(gòu)造方法 </p><p>  GameCanvas(){ </p><p>  rowNum = 15; </p><p>  columnNum = 10; </p><p>  maxAllowRowNum = rowNum - 2; <

60、/p><p>  b = new Block(this); </p><p>  blockInitRow = rowNum - 1; </p><p>  blockInitCol = columnNum/2 - 2; </p><p>  scrArr = new int [32][32]; </p><p><

61、b>  } </b></p><p><b>  }</b></p><p><b>  //畫方塊的方法 </b></p><p>  public void drawUnit(int row,int col,int type){ </p><p>  scrArr[row][c

62、ol] = type; </p><p>  Graphics g = getGraphics(); </p><p>  switch(type){ //表示畫方快的方法 </p><p>  case 0: g.setColor(Color.black);break; //以背景為顏色畫 </p><p>  case 1: g.setC

63、olor(Color.blue);break; //畫正在下落的方塊 </p><p>  case 2: g.setColor(Color.magenta);break; //畫已經(jīng)落下的方法 </p><p><b>  } </b></p><p>  g.fill3DRect(col*unitSize,getSize().height-

64、(row+1)*unitSize,unitSize,unitSize,true); </p><p>  g.dispose(); </p><p><b>  } </b></p><p>  public Block getBlock(){ </p><p>  return b; //返回block實(shí)例的引用 &l

65、t;/p><p><b>  } </b></p><p><b>  } </b></p><p><b>  //滿行刪除方法 </b></p><p>  void deleteFullLine(){ </p><p>  int full_line_

66、num = 0; </p><p>  int k = 0; </p><p>  for (int i=0;i<rowNum;i++){ </p><p>  boolean isfull = true; </p><p>  L1:for(int j=0;j<columnNum;j++) </p><p&g

67、t;  if(scrArr[i][j] == 0){ </p><p><b>  k++; </b></p><p>  isfull = false; </p><p>  break L1; </p><p><b>  } </b></p><p>  if(isfu

68、ll) full_line_num++; </p><p>  if(k!=0 && k-1!=i && !isfull) </p><p>  for(int j = 0; j < columnNum; j++){ </p><p>  if (scrArr[i][j] == 0) </p><p> 

69、 drawUnit(k-1,j,0); </p><p><b>  else </b></p><p>  drawUnit(k-1,j,2); </p><p>  scrArr[k-1][j] = scrArr[i][j]; </p><p><b>  } </b></p>&

70、lt;p><b>  } </b></p><p>  for(int i = k-1 ;i < rowNum; i++){ </p><p>  for(int j = 0; j < columnNum; j++){ </p><p>  drawUnit(i,j,0); </p><p>  scr

71、Arr[i][j]=0; </p><p><b>  } </b></p><p><b>  } </b></p><p>  ERS_Block.score += full_line_num; </p><p>  ERS_Block.scoreField.setText("&quo

72、t;+ERS_Block.score); </p><p><b>  }</b></p><p>  //處理鍵盤輸入的方法 </p><p>  public void keyPressed(KeyEvent e){ </p><p>  if(!ERS_Block.isPlay) </p><p

73、><b>  return; </b></p><p>  switch(e.getKeyCode()){ </p><p>  case KeyEvent.VK_DOWN:b.fallDown();break; </p><p>  case KeyEvent.VK_LEFT:b.leftMove();break; </p>

74、<p>  case KeyEvent.VK_RIGHT:b.rightMove();break; </p><p>  case KeyEvent.VK_SPACE:b.leftTurn();break; </p><p><b>  } </b></p><p><b>  }</b></p>

75、<p><b>  } </b></p><p><b>  //處理控制類 </b></p><p>  class Command implements ActionListener{ </p><p>  static final int button_play = 1; //給按鈕分配編號 </

76、p><p>  static final int button_levelup = 2; </p><p>  static final int button_leveldown = 3; </p><p>  static final int button_quit = 4; </p><p>  static final int button

77、_pause = 5; </p><p>  static boolean pause_resume = true; </p><p>  int curButton; //當(dāng)前按鈕 </p><p>  GameCanvas scr; //控制按鈕類的構(gòu)造方法 </p><p>  Command(int button,GameCanvas

78、 scr){ </p><p>  curButton = button; </p><p>  this.scr=scr; </p><p><b>  }</b></p><p><b>  //按鈕執(zhí)行方法 </b></p><p>  public void acti

79、onPerformed (ActionEvent e){ </p><p>  switch(curButton){ </p><p>  case button_play:if(!ERS_Block.isPlay){ </p><p>  scr.initScr(); </p><p>  ERS_Block.isPlay = true;

80、</p><p>  ERS_Block.score = 0; </p><p>  ERS_Block.scoreField.setText("0"); </p><p>  ERS_Block.timer.resume(); </p><p><b>  } </b></p><

81、;p>  scr.requestFocus(); </p><p><b>  break; </b></p><p>  case button_levelup:if(ERS_Block.level < 10){ </p><p>  ERS_Block.level++; </p><p>  ERS_Bl

82、ock.levelField.setText(""+ERS_Block.level); </p><p>  ERS_Block.score = 0; </p><p>  ERS_Block.scoreField.setText(""+ERS_Block.score); </p><p><b>  } </

83、b></p><p>  scr.requestFocus(); </p><p><b>  break; </b></p><p>  case button_leveldown:if(ERS_Block.level > 1){ </p><p>  ERS_Block.level--; </p&g

84、t;<p>  ERS_Block.levelField.setText(""+ERS_Block.level); </p><p>  ERS_Block.score = 0; </p><p>  ERS_Block.scoreField.setText(""+ERS_Block.score); </p><p&

85、gt;<b>  } </b></p><p>  scr.requestFocus(); </p><p><b>  break; </b></p><p>  case button_pause:if(pause_resume){ </p><p>  ERS_Block.timer.susp

86、end(); </p><p>  pause_resume = false; </p><p><b>  }else{ </b></p><p>  ERS_Block.timer.resume(); </p><p>  pause_resume = true; </p><p><b

87、>  } </b></p><p>  scr.requestFocus(); </p><p><b>  break; </b></p><p>  case button_quit:System.exit(0); </p><p><b>  } </b></p>

88、<p><b>  } </b></p><p><b>  } </b></p><p><b>  //方塊類 </b></p><p>  class Block { </p><p>  static int[][] pattern = { </p&

89、gt;<p>  {0x0f00,0x4444,0x0f00,0x4444},//用十六進(jìn)至表示,本行表示長條四種狀態(tài) </p><p>  {0x04e0,0x0464,0x00e4,0x04c4}, </p><p>  {0x4620,0x6c00,0x4620,0x6c00}, </p><p>  {0x2640,0xc600,0x2640,

90、0xc600}, </p><p>  {0x6220,0x1700,0x2230,0x0740}, </p><p>  {0x6440,0x0e20,0x44c0,0x8e00}, </p><p>  {0x0660,0x0660,0x0660,0x0660} </p><p><b>  }; </b></

91、p><p>  int blockType; //塊的模式號(0-6) </p><p>  int turnState; //塊的翻轉(zhuǎn)狀態(tài)(0-3) </p><p>  int blockState; //快的下落狀態(tài) </p><p>  int row,col; //塊在畫布上的坐標(biāo) </p><p>  Game

92、Canvas scr; //塊類的構(gòu)造方法 </p><p>  Block(GameCanvas scr){ </p><p>  this.scr = scr; </p><p>  blockType = (int)(Math.random() * 1000)%7; </p><p>  turnState = (int)(Math.r

93、andom() * 1000)%4; </p><p>  blockState = 1; </p><p>  row = scr.getInitRow(); </p><p>  col = scr.getInitCol(); </p><p><b>  } </b></p><p><

94、;b>  //定時(shí)線程 </b></p><p>  class MyTimer extends Thread{</p><p>  GameCanvas scr; </p><p>  public MyTimer(GameCanvas scr){ </p><p>  this.scr = scr; </p>

95、<p><b>  }</b></p><p>  public void run(){ </p><p>  while(true){ </p><p><b>  try{ </b></p><p>  sleep((10-ERS_Block.level + 1)*100); &l

96、t;/p><p><b>  } </b></p><p>  catch(InterruptedException e){} </p><p>  if(!scr.getBlock().fallDown()){ </p><p>  scr.deleteFullLine(); </p><p>  

97、if(scr.isGameEnd()){ </p><p>  ERS_Block.isPlay = false; </p><p>  suspend(); </p><p><b>  }</b></p><p><b>  else </b></p><p>  scr

98、.getBlock().reset(); </p><p><b>  } </b></p><p><b>  } </b></p><p><b>  }</b></p><p><b>  }</b></p><p>  cl

99、ass WinListener extends WindowAdapter{ </p><p>  public void windowClosing (WindowEvent l){ </p><p>  System.exit(0); </p><p><b>  } </b></p><p><b>  

100、}</b></p><p><b>  5.軟件運(yùn)行結(jié)果</b></p><p><b>  圖5.1系統(tǒng)主窗口</b></p><p>  圖5.2方塊翻轉(zhuǎn)功能</p><p>  圖5.3方塊翻轉(zhuǎn)功能</p><p>  圖5.4界面消行功能</p>

101、;<p><b>  圖5.6得分情況</b></p><p><b>  圖5.7游戲結(jié)束</b></p><p><b>  結(jié)論</b></p><p>  學(xué)習(xí)了《Java面向?qū)ο缶幊獭穂8]的課程,為了更進(jìn)一步的提高我們對Java的深入學(xué)習(xí),進(jìn)行了一周的課程設(shè)計(jì),我所選擇課程設(shè)

102、計(jì)是利用Java設(shè)計(jì)一個(gè)簡單的俄羅斯方塊游戲。采用swing界面設(shè)計(jì)技術(shù)[9]設(shè)計(jì)窗口,按鈕等,并添加事件監(jiān)聽,并采用線程技術(shù)[10]控制游戲的速度。俄羅斯方塊的應(yīng)用程序要求的功能:玩家可以在游戲區(qū)中堆積方塊,并能夠在游戲過程中隨時(shí)了解得分情況,可以通過游戲控制功能來選擇開始新的一局游戲,暫?;蛲顺鲇螒?,玩家可以根據(jù)自己的需要自行設(shè)定游戲的開始級別,級別越高,游戲的速度越快,難度越大等功能都以完全實(shí)現(xiàn)。此俄羅斯方塊游戲可以為用戶提供一個(gè)

103、可在普通個(gè)人電腦上運(yùn)行的,界面美觀的,易于控制的俄羅斯方塊游戲。</p><p><b>  參考文獻(xiàn)</b></p><p>  [1]《Java面向?qū)ο蟪绦蛟O(shè)計(jì)》 陳明主編,清華大學(xué)出版社。</p><p>  [2]《JAVA課程設(shè)計(jì)》 黃明 梁旭 周紹斌編著,電子工業(yè)出版社。</p><p>  [3]《JAVA

104、編程寶典》李鐘尉 陳丹丹 張振坤編著,人民郵電出版社</p><p>  [4]《.JSP網(wǎng)站編程教程》第1版 屈輝立 陳可明 石武,北京希望電子出版社。 </p><p>  [5]《B/S模式構(gòu)建在線考試系統(tǒng)》 白勇,重慶電力高等??茖W(xué)校學(xué)報(bào)。</p><p>  [6]《Java 編程思想》 Bruce E

105、ckel,北京機(jī)械工業(yè)出版社</p><p>  [7] 《實(shí)用Java程序設(shè)計(jì)教程》 宛延闿,北京機(jī)械工業(yè)出版社。</p><p>  [8] 《JAVA面向?qū)ο蟪绦蚓幊獭?張孝祥,北京清華出版社。</p><p>  [9]《Java 語言使用教程》 丁振凡,北京郵件大學(xué)出版社。 </p><p>  [10]《Java 語言使用教程實(shí)

溫馨提示

  • 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論