java課程設(shè)計(jì)---俄羅斯方塊游戲_第1頁
已閱讀1頁,還剩17頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、<p>  Java課程設(shè)計(jì)報(bào)告</p><p><b>  俄羅斯方塊游戲</b></p><p><b>  學(xué)生姓名:</b></p><p><b>  學(xué) 號:</b></p><p>  系 別:信息工程系</p><p&g

2、t;  專 業(yè):軟件技術(shù)</p><p><b>  班 級:</b></p><p><b>  指導(dǎo)教師:</b></p><p>  論文提交時(shí)間:2013年x月x日</p><p><b>  目錄</b></p><p><b

3、>  摘要2</b></p><p>  一 游戲設(shè)計(jì)說明3</p><p>  1.1 游戲的設(shè)計(jì)及實(shí)現(xiàn)3</p><p>  1.2 游戲流程圖設(shè)計(jì)4</p><p><b>  二 詳細(xì)設(shè)計(jì)4</b></p><p>  2.1參數(shù)及界面4</p>

4、<p>  2.2初始化構(gòu)造方法5</p><p>  2.3 初始化地圖6</p><p>  2.4生成新方塊的方法6</p><p>  2.5 旋轉(zhuǎn)方法6</p><p>  2.6 判斷是否合法方法7</p><p>  2.7 消行方法7</p><p>  

5、2.8 判斷掛方法8</p><p><b>  三 測試分析8</b></p><p><b>  四 設(shè)計(jì)體會8</b></p><p><b>  五 游戲代碼10</b></p><p><b>  參考文獻(xiàn):18</b></p&g

6、t;<p><b>  摘要</b></p><p>  俄羅斯方塊游戲運(yùn)用java實(shí)現(xiàn)具有一定功能的游戲軟件,主要功能如下:</p><p>  控制對象左右下運(yùn)動;</p><p><b>  控制對象旋轉(zhuǎn);</b></p><p><b>  判斷對象是否越界;<

7、/b></p><p>  判斷對象底下是否到底下或固定對象;</p><p>  判斷某一行是否全有對象,然后消一行,加分;</p><p>  判斷游戲進(jìn)行是否掛了,然后自動重新開始,分?jǐn)?shù)清零。</p><p>  關(guān)鍵詞:java、俄羅斯方塊游戲、對象</p><p><b>  一 游戲設(shè)計(jì)說明

8、</b></p><p>  1.1 游戲的設(shè)計(jì)及實(shí)現(xiàn)</p><p>  本游戲主要有以下5個主要方法:</p><p>  1.MyPanel() 初始化構(gòu)造方法;</p><p>  2.newmap() 初始化地圖;</p><p>  3.newboxs() 生成新方塊方法;</

9、p><p>  4.blow() 是否合法方法;</p><p>  5.gobox() 消行方法;</p><p>  1.2 游戲流程圖設(shè)計(jì)</p><p><b>  二 詳細(xì)設(shè)計(jì)</b></p><p><b>  2.1參數(shù)及界面 </b></p>

10、<p>  int boxs 方塊類型</p><p>  int scoer 分?jǐn)?shù)</p><p>  int boxscore 方塊狀態(tài)</p><p>  int[][] map = new int[13][23] 定義已經(jīng)放下的方塊x=0-11,y=0-21</p><p><b>  2.1游

11、戲界面</b></p><p>  2.2初始化構(gòu)造方法</p><p>  開始,初始化方塊、分?jǐn)?shù)、地圖等。</p><p>  public MyPanel() </p><p><b>  {</b></p><p>  newboxs();</p><p

12、>  newmap(); </p><p>  Timer timer = new Timer(1000, new TimerListener());</p><p>  timer.start();</p><p>  drawbox();</p><p><b>  }</b></p>&

13、lt;p><b>  2.3 初始化地圖</b></p><p>  開始游戲時(shí),初始化參數(shù)。</p><p>  public void newmap() </p><p><b>  {</b></p><p>  for (i = 0; i < 12; i++)</p>

14、<p><b>  {</b></p><p>  for (j = 0; j < 22; j++)</p><p><b>  {</b></p><p>  map[i][j] = 0;</p><p><b>  }</b></p>&l

15、t;p><b>  }</b></p><p><b>  }</b></p><p>  2.4生成新方塊的方法</p><p>  public void newboxs() </p><p><b>  {</b></p><p>  b

16、oxs = (int) (Math.random() * 1000) % 7;</p><p>  boxscode = (int) (Math.random() * 1000) % 4;</p><p><b>  x = 4;</b></p><p><b>  y = 0;</b></p><p&

17、gt;  if (gameover(x, y) == 1) </p><p><b>  {</b></p><p><b>  newmap();</b></p><p>  drawbox();</p><p>  score = 0;</p><p>  JOption

18、Pane.showMessageDialog(null, "GAME OVER");</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  2.5 旋轉(zhuǎn)方法</b></p><p>  通過按↑來控制對象

19、旋轉(zhuǎn),如果對象沒有越界或附近沒有固定對象可以旋轉(zhuǎn),否側(cè)失效。</p><p>  public void turn() </p><p><b>  {</b></p><p>  int tempturnState = boxscode;</p><p>  boxscode = (boxscode + 1) %

20、 4;</p><p>  if (blow(x, y, boxs, boxscode) == 1)</p><p><b>  {</b></p><p><b>  }</b></p><p>  if (blow(x, y, boxs, boxscode) == 0) </p>

21、<p><b>  {</b></p><p>  boxscode = tempturnState;</p><p><b>  }</b></p><p>  repaint();</p><p><b>  }</b></p><p> 

22、 2.6 判斷是否合法方法</p><p>  用來判斷對象是否越界、是否繼續(xù)下去等。</p><p>  public int blow(int x, int y, int boxs, int boxscode) </p><p><b>  {</b></p><p>  for (int a = 0; a <

23、 4; a++) </p><p><b>  {</b></p><p>  for (int b = 0; b < 4; b++)</p><p><b>  {</b></p><p>  if (((shapes[boxs][boxscode][a * 4 + b] == 1) &am

24、p;& (map[x+ b + 1][y + a] == 1))</p><p>  || ((shapes[boxs][boxscode][a * 4 + b] == 1) && (map[x+ b + 1][y + a] == 2))) </p><p><b>  {</b></p><p><b>  

25、return 0;</b></p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p><b>  return 1;</b></p><p>

26、<b>  }</b></p><p><b>  2.7 消行方法</b></p><p>  如果某一行全有固定對象,則消失某一行;否則不消失。</p><p>  public void gobox() 法</p><p><b>  {</b></p>

27、<p>  int c = 0;</p><p>  for (int b = 0; b < 22; b++)</p><p><b>  {</b></p><p>  for (int a = 0; a < 12; a++) </p><p><b>  {</b><

28、;/p><p>  if (map[a][b] == 1)</p><p><b>  {</b></p><p>  c = c + 1;</p><p>  if (c == 10) {</p><p>  score += 10;</p><p>  for (int d

29、 = b; d > 0; d--)</p><p><b>  {</b></p><p>  for (int e = 0; e < 11; e++)</p><p><b>  {</b></p><p>  map[e][d] = map[e][d - 1];</p>

30、<p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><

31、p><b>  c = 0;</b></p><p><b>  }</b></p><p><b>  }</b></p><p><b>  2.8 判斷掛方法</b></p><p>  如果堆積滿了則掛,并重新開始。</p>&

32、lt;p>  public int gameover(int x, int y) </p><p><b>  {</b></p><p>  if (blow(x, y, boxs, boxscode) == 0)</p><p><b>  {</b></p><p><b> 

33、 return 1;</b></p><p><b>  }</b></p><p><b>  return 0;</b></p><p><b>  }</b></p><p><b>  三 測試分析</b></p><

34、;p>  運(yùn)行俄羅斯方塊游戲,操作左右下運(yùn)動、旋轉(zhuǎn)運(yùn)動沒有卡現(xiàn)象,運(yùn)行正常。分?jǐn)?shù)增加、消行正常。</p><p>  發(fā)現(xiàn)游戲一打開就自動開始了,沒有考慮這點(diǎn),使玩家成被動了。</p><p><b>  四 設(shè)計(jì)體會</b></p><p>  本次課程設(shè)計(jì)主要是運(yùn)用本學(xué)期所學(xué)到的Java基礎(chǔ)知識來設(shè)計(jì)一個符合要求的俄羅斯方塊游戲,這期

35、間我遇到了很多的困難,發(fā)現(xiàn)了很多的問題,正是在解決問題的期間我才慢慢地熟悉了Java的基礎(chǔ)知識,才慢慢學(xué)會了如何去按照給定的要求設(shè)計(jì)出合適的java系統(tǒng)。通過本次課程設(shè)計(jì),我明白了一個道理:無論做什么事情,都必需養(yǎng)成嚴(yán)謹(jǐn),認(rèn)真,善思的工作作風(fēng)遇到問題最好的辦法就是請教別人,因?yàn)槊總€人掌握的情況都不一樣,一個人不可能做到處處都懂,必須發(fā)揮群眾的力量,復(fù)雜的事情才能夠簡單化。這一點(diǎn)我深有體會,在很多時(shí)候我遇到的困難或許別人之前就遇到過,向他

36、們請教遠(yuǎn)比自己在那邊摸索來得簡單來得快。</p><p><b>  五 游戲代碼</b></p><p>  MyJFrame.java</p><p>  package Russia;</p><p>  import java.awt.*;</p><p>  import java.aw

37、t.event.ActionEvent;</p><p>  import java.awt.event.ActionListener;</p><p>  import javax.swing.*;</p><p>  @SuppressWarnings({ "serial", "unused" })</p>

38、<p>  public class MyJFrame extends JFrame implements ActionListener</p><p><b>  {</b></p><p>  public static boolean start=false;</p><p>  public MyJFrame()</p&

39、gt;<p><b>  {</b></p><p>  Image icon = getToolkit().getImage(</p><p>  "F:\\java\\workspace\\Russia 1.1\\icon.png");</p><p>  setIconImage(icon);</p

40、><p>  setTitle("俄羅斯方塊小游戲");</p><p>  setLocation(470,130);</p><p>  setDefaultCloseOperation(MyJFrame.EXIT_ON_CLOSE);</p><p>  setSize(247,520);</p><

41、p>  setVisible(true);</p><p>  setResizable(false);</p><p>  MyPanel a = new MyPanel();</p><p>  addKeyListener(a);</p><p><b>  add(a);</b></p>&l

42、t;p>  JMenuBar menu = new JMenuBar();</p><p>  setJMenuBar(menu);</p><p>  JMenu game = new JMenu("游戲");</p><p>  JMenuItem exit = game.add("退出");</p>

43、<p>  menu.add(game);</p><p>  exit.addActionListener(this);</p><p><b>  }</b></p><p>  public static void main(String[] args) </p><p><b>  {<

44、/b></p><p>  MyJFrame frame = new MyJFrame();</p><p><b>  }</b></p><p><b>  @Override</b></p><p>  public void actionPerformed(ActionEvent e)

45、</p><p><b>  {</b></p><p>  // TODO Auto-generated method stub</p><p>  String s=e.getActionCommand();</p><p>  if(s=="退出")</p><p>  

46、System.exit(0);</p><p><b>  }</b></p><p><b>  }</b></p><p>  MyPanel.java</p><p>  package Russia;</p><p>  import java.awt.*;</

47、p><p>  import java.awt.event.ActionEvent;</p><p>  import java.awt.event.ActionListener;</p><p>  import java.awt.event.KeyEvent;</p><p>  import java.awt.event.KeyListen

48、er;</p><p>  import javax.swing.*;</p><p>  @SuppressWarnings("serial")</p><p>  class MyPanel extends JPanel implements KeyListener </p><p><b>  {</

49、b></p><p>  private int boxs;//代表方塊類型</p><p>  private int score = 0;</p><p>  private int boxscode;// 代表方塊狀態(tài)</p><p>  private int x;</p><p>  priv

50、ate int y;</p><p>  private int i = 0;</p><p>  int j = 0;</p><p>  int flag = 0;</p><p>  int[][] map = new int[13][23];// 定義已經(jīng)放下的方塊x=0-11,y=0-21;</p><p>

51、;  public MyPanel() // 初始化構(gòu)造方法</p><p><b>  {</b></p><p>  newboxs();</p><p>  newmap(); </p><p>  Timer timer = new Timer(1000, new TimerListener());&

52、lt;/p><p>  timer.start();</p><p>  drawbox();</p><p><b>  }</b></p><p>  public void newmap() // 初始化地圖</p><p><b>  {</b></p>

53、<p>  for (i = 0; i < 12; i++)</p><p><b>  {</b></p><p>  for (j = 0; j < 22; j++)</p><p><b>  {</b></p><p>  map[i][j] = 0;</p&g

54、t;<p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  // 方塊的形狀 第一組代表方塊類型有S、Z、L、J、I、O、T 7種 第二組 代表旋轉(zhuǎn)幾次 第三組為 方塊矩陣</p><p>

55、;  private final int shapes[][][] = new int[][][] {</p><p>  { { 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0 },// i</p><p>  { 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0 },</p>&

56、lt;p>  { 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0 },</p><p>  { 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0 } },</p><p>  { { 0, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },// s&

57、lt;/p><p>  { 1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 },</p><p>  { 0, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },</p><p>  { 1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 }

58、 },</p><p>  { { 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0 },// z</p><p>  { 0, 1, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 },</p><p>  { 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0,

59、0, 0, 0, 0 },</p><p>  { 0, 1, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 } },</p><p>  { { 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0 },// j</p><p>  { 1, 0, 0, 0, 1, 1, 1, 0,

60、0, 0, 0, 0, 0, 0, 0, 0 },</p><p>  { 1, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 },</p><p>  { 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },</p><p>  { { 1, 1, 0, 0, 1, 1,

61、0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },// o</p><p>  { 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },</p><p>  { 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },</p><p>  { 1, 1, 0, 0

62、, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },</p><p>  { { 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0 },// l</p><p>  { 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },</p><p>  

63、{ 1, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 },</p><p>  { 0, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },</p><p>  { { 0, 1, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0 },// t</p>

64、<p>  { 0, 1, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 },</p><p>  { 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },</p><p>  { 0, 1, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0 } } };</

65、p><p>  public void drawbox() //畫圍墻</p><p><b>  {</b></p><p>  for (i = 0; i < 12; i++) </p><p><b>  {</b></p><p>  map[i][21] =

66、2;</p><p><b>  }</b></p><p>  for (j = 0; j < 22; j++) </p><p><b>  {</b></p><p>  map[11][j] = 2;</p><p>  map[0][j] = 2;</p

67、><p><b>  }</b></p><p><b>  }</b></p><p>  public void newboxs() // 生成新方塊的方法</p><p><b>  {</b></p><p>  boxs = (int) (Ma

68、th.random() * 1000) % 7;</p><p>  boxscode = (int) (Math.random() * 1000) % 4;</p><p><b>  x = 4;</b></p><p><b>  y = 0;</b></p><p>  if (gameov

69、er(x, y) == 1) </p><p><b>  {</b></p><p><b>  newmap();</b></p><p>  drawbox();</p><p>  score = 0;</p><p>  JOptionPane.showMessag

70、eDialog(null, "GAME OVER");</p><p><b>  }</b></p><p><b>  }</b></p><p>  public void turn() // 旋轉(zhuǎn)的方法</p><p><b>  {</b>

71、</p><p>  int tempturnState = boxscode;</p><p>  boxscode = (boxscode + 1) % 4;</p><p>  if (blow(x, y, boxs, boxscode) == 1)</p><p><b>  {</b></p>&

72、lt;p><b>  }</b></p><p>  if (blow(x, y, boxs, boxscode) == 0) </p><p><b>  {</b></p><p>  boxscode = tempturnState;</p><p><b>  }</b

73、></p><p>  repaint();</p><p><b>  }</b></p><p>  public void left()// 左移的方法</p><p><b>  {</b></p><p>  if (blow(x - 1, y, boxs

74、, boxscode) == 1) </p><p><b>  {</b></p><p>  x = x - 1;</p><p><b>  }</b></p><p>  repaint();</p><p><b>  }</b></p&

75、gt;<p>  public void right()// 右移的方法</p><p><b>  {</b></p><p>  if (blow(x + 1, y, boxs, boxscode) == 1)</p><p><b>  {</b></p><p>  x

76、= x + 1;</p><p><b>  }</b></p><p>  repaint();</p><p><b>  }</b></p><p>  public void down() // 下落的方法</p><p><b>  {</b&

77、gt;</p><p>  if (blow(x, y + 1, boxs, boxscode) == 1) </p><p><b>  {</b></p><p>  y = y + 1;</p><p><b>  gobox();</b></p><p><b&

78、gt;  }</b></p><p>  if (blow(x, y + 1, boxs, boxscode) == 0) </p><p><b>  {</b></p><p>  add(x, y, boxs, boxscode);</p><p>  newboxs();</p><

79、;p><b>  gobox();</b></p><p><b>  }</b></p><p>  repaint();</p><p><b>  }</b></p><p>  public int blow(int x, int y, int boxs, int

80、 boxscode) // 是否合法的方法</p><p><b>  {</b></p><p>  for (int a = 0; a < 4; a++) </p><p><b>  {</b></p><p>  for (int b = 0; b < 4; b++)</

81、p><p><b>  {</b></p><p>  if (((shapes[boxs][boxscode][a * 4 + b] == 1) && (map[x+ b + 1][y + a] == 1))</p><p>  || ((shapes[boxs][boxscode][a * 4 + b] == 1) &&

82、amp; (map[x+ b + 1][y + a] == 2))) </p><p><b>  {</b></p><p><b>  return 0;</b></p><p><b>  }</b></p><p><b>  }</b></

83、p><p><b>  }</b></p><p><b>  return 1;</b></p><p><b>  }</b></p><p>  public void gobox() // 消行的方法</p><p><b>  {&l

84、t;/b></p><p>  int c = 0;</p><p>  for (int b = 0; b < 22; b++)</p><p><b>  {</b></p><p>  for (int a = 0; a < 12; a++) </p><p><b&

85、gt;  {</b></p><p>  if (map[a][b] == 1)</p><p><b>  {</b></p><p>  c = c + 1;</p><p>  if (c == 10) {</p><p>  score += 10;</p>&l

86、t;p>  for (int d = b; d > 0; d--)</p><p><b>  {</b></p><p>  for (int e = 0; e < 11; e++)</p><p><b>  {</b></p><p>  map[e][d] = map[e]

87、[d - 1];</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b&

88、gt;</p><p><b>  c = 0;</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  public int gameover(int x, int y) //判斷掛方法</p><

89、p><b>  {</b></p><p>  if (blow(x, y, boxs, boxscode) == 0)</p><p><b>  {</b></p><p><b>  return 1;</b></p><p><b>  }</b&

90、gt;</p><p><b>  return 0;</b></p><p><b>  }</b></p><p>  public void add(int x, int y, int blockType, int turnState)// 把當(dāng)前添加map</p><p><b&g

91、t;  {</b></p><p>  int j = 0;</p><p>  for (int a = 0; a < 4; a++) </p><p><b>  {</b></p><p>  for (int b = 0; b < 4; b++)</p><p>&

92、lt;b>  {</b></p><p>  if (map[x + b + 1][y + a] == 0) </p><p><b>  {</b></p><p>  map[x + b + 1][y + a] = shapes[blockType][turnState][j];</p><p>&

93、lt;b>  }</b></p><p><b>  j++;</b></p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  p

94、ublic void paintComponent(Graphics g)// 畫方塊的的方法</p><p><b>  {</b></p><p>  super.paintComponent(g);</p><p>  for (j = 0; j < 16; j++)// 畫當(dāng)前方塊</p><p>

95、<b>  {</b></p><p>  if (shapes[boxs][boxscode][j] == 1)</p><p><b>  {</b></p><p>  g.fillRect((j % 4 + x + 1) * 20, (j / 4 + y) * 20, 19, 19);</p><

96、;p><b>  }</b></p><p><b>  }</b></p><p>  for (j = 0; j < 22; j++)// 畫已經(jīng)固定的方塊</p><p><b>  {</b></p><p>  for (i = 0; i < 1

97、2; i++)</p><p><b>  {</b></p><p>  if (map[i][j] == 1)</p><p><b>  {</b></p><p>  g.fillRect(i * 20, j * 20, 19, 19);</p><p><b&

98、gt;  }</b></p><p>  if (map[i][j] == 2)</p><p><b>  {</b></p><p>  g.drawRect(i * 20, j * 20, 19, 19);</p><p><b>  }</b></p><p&

99、gt;<b>  }</b></p><p><b>  }</b></p><p>  g.setColor(Color.red);</p><p>  g.drawString("score=" + score, 100, 460);</p><p><b>  }

100、</b></p><p>  public void keyPressed(KeyEvent e) </p><p><b>  {</b></p><p>  switch (e.getKeyCode()) </p><p><b>  {</b></p><p&g

101、t;  case KeyEvent.VK_DOWN:</p><p><b>  down();</b></p><p><b>  break;</b></p><p>  case KeyEvent.VK_UP:</p><p><b>  turn();</b></

102、p><p><b>  break;</b></p><p>  case KeyEvent.VK_RIGHT:</p><p><b>  right();</b></p><p><b>  break;</b></p><p>  case KeyEv

103、ent.VK_LEFT:</p><p><b>  left();</b></p><p><b>  break;</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  pu

104、blic void keyReleased(KeyEvent e) </p><p><b>  {</b></p><p><b>  }</b></p><p>  public void keyTyped(KeyEvent e) </p><p><b>  {</b>&

105、lt;/p><p><b>  }</b></p><p>  class TimerListener implements ActionListener </p><p><b>  {</b></p><p>  public void actionPerformed(ActionEvent e)&

106、lt;/p><p><b>  {</b></p><p>  repaint();</p><p>  if (blow(x, y + 1, boxs, boxscode) == 1) </p><p><b>  {</b></p><p>  y = y + 1;</

107、p><p><b>  gobox();</b></p><p><b>  }</b></p><p>  if (blow(x, y + 1, boxs, boxscode) == 0)</p><p><b>  {</b></p><p>  if

108、(flag == 1) </p><p><b>  {</b></p><p>  add(x, y, boxs, boxscode);</p><p><b>  gobox();</b></p><p>  newboxs();</p><p><b>  f

109、lag = 0;</b></p><p><b>  }</b></p><p><b>  flag = 1;</b></p><p><b>  }</b></p><p><b>  }</b></p><p>&

110、lt;b>  }</b></p><p><b>  }</b></p><p><b>  參考文獻(xiàn):</b></p><p>  《Java程序設(shè)計(jì)教程》 主編:遲麗華清華大學(xué)出版社</p><p>  《Java程序設(shè)計(jì)案列匯編》 主編:焦玲等中國鐵道出版社<

溫馨提示

  • 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

提交評論