91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 57.18 KB
    文件類型: .rar
    金幣: 1
    下載: 1 次
    發布日期: 2024-09-19
  • 語言: Java
  • 標簽: Java??文檔??游戲源碼??

資源簡介

俄羅斯方塊具體設計(Java描述)

帶詳細文檔說明

資源截圖

代碼片段和文件信息

/*?
?*12.24日完成了蛇撞到自己的檢測.修改方法是在蛇的初始化的時候用雙循環來置FALSE;
?*?在重寫代碼的時候我借鑒了別人的思路:將整個游戲的界面定義為一個布爾型的二維數組.
?*?用一個linkedList來儲存蛇.當蛇移動的時候在蛇的頭部增加一個節點然后刪除最后一個節點.
?*?因為只是做練習所以沒做游戲界面比如菜單欄計分欄什么的.另外還有一個問題,就是當兩次點擊回車時,蛇的移動速度會變快
?*/
import?javax.swing.*;
import?java.awt.*;
import?java.awt.event.*;
import?java.util.*;

public?class?Game?{
public?static?void?main(String?args[])?{
Gameframe?frame?=?new?Gameframe();
frame.setDefaultCloseOperation(Jframe.EXIT_ON_CLOSE);
frame.setResizable(false);
frame.show();
JOptionPane.showMessageDialog(null?“上下左右控制蛇的方向\n回車開始S暫停“);
}
}

class?Gameframe?extends?Jframe?{
public?Gameframe()?{
setSize(294?482);
settitle(“貪吃蛇DEMO“);
this.setLocation(360?100);
Container?c?=?getContentPane();
GamePanel?panel?=?new?GamePanel();
c.add(panel?BorderLayout.CENTER);
}
}

class?GamePanel?extends?JPanel?implements?KeyListener?{
static?int?panelWidth?=?294;

static?int?panelHeight?=?450;

int?rectX?=?15;

int?rectY?=?15;

Snake?snake;

Node?n;

public?GamePanel()?{
snake?=?new?Snake(this?panelWidth?/?rectX?panelHeight?/?rectY);
setBackground(Color.WHITE);
setSize(panelWidth?panelHeight);
setFocusable(true);
addKeyListener(this);
}

public?void?paintComponent(Graphics?g)?{
super.paintComponent(g);
Graphics2D?g2?=?(Graphics2D)?g;
linkedList?list?=?snake.snakeList;
Iterator?it?=?list.iterator();
g2.setColor(Color.black);
while?(it.hasNext())?{
n?=?(Node)?it.next();
drawNode(g2?n);
}
g2.setColor(Color.ORANGE);
Node?f?=?snake.food;
drawNode(g2?f);
snake.drawMap(g2);//?繪制地圖
}

public?void?keyPressed(KeyEvent?e)?{
int?keycode?=?e.getKeyCode();
if?(keycode?==?KeyEvent.VK_ENTER)?{
begin();
}?else?if?(keycode?==?KeyEvent.VK_UP)?{
snake.changeDirection(Snake.up);
}?else?if?(keycode?==?KeyEvent.VK_DOWN)?{
snake.changeDirection(Snake.down);
}?else?if?(keycode?==?KeyEvent.VK_LEFT)?{
snake.changeDirection(Snake.left);
}?else?if?(keycode?==?KeyEvent.VK_RIGHT)?{
snake.changeDirection(Snake.right);
}?else?if?(keycode?==?KeyEvent.VK_S)?{
Snake.run?=?false;
}
}

public?void?keyReleased(KeyEvent?e)?{
}

public?void?keyTyped(KeyEvent?e)?{
}

public?void?drawNode(Graphics2D?g?Node?n)?{
g.fillRect(n.x?*?rectX?n.y?*?rectY?rectX?-?2?rectY?-?2);
}

public?void?begin()?{
Snake.run?=?true;
SnakeThread?thread?=?new?SnakeThread(snake);
thread.start();
}
}

class?Node?{
int?x;

int?y;

public?Node(int?x?int?y)?{
this.x?=?x;
this.y?=?y;
}
}

class?SnakeThread?extends?Thread?{
Snake?snake;

public?SnakeThread(Snake?s)?{
snake?=?s;
}

public?void?run()?{
Snake.run?=?true;

while?(Snake.run)?{
try?{
snake.move();
sleep(200);
}?catch?(InterruptedException?e)?{
}
}
Snake.run?=?false;
}
}

class?Snake?{
GamePanel?panel;

Node?food;

boolean[][]?all;

public?sta

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----

?????文件??????32560??2006-03-13?21:49??俄羅斯方塊具體設計\ErsBlocksGame.jar

?????文件???????5511??2008-03-21?22:18??俄羅斯方塊具體設計\GreedySnake.java

?????文件???????2338??2006-03-13?21:20??俄羅斯方塊具體設計\source?code\AboutDialog.java

?????文件???????2031??2006-03-13?21:20??俄羅斯方塊具體設計\source?code\Aboutinfo.java

?????文件???????8590??2006-03-13?21:21??俄羅斯方塊具體設計\source?code\ControlPanel.java

?????文件???????6687??2006-03-13?21:25??俄羅斯方塊具體設計\source?code\ErsBlock.java

?????文件??????16400??2006-03-13?21:23??俄羅斯方塊具體設計\source?code\ErsBlocksGame.java

?????文件???????1716??2006-03-13?21:23??俄羅斯方塊具體設計\source?code\ErsBox.java

?????文件???????4685??2006-03-13?21:22??俄羅斯方塊具體設計\source?code\GameCanvas.java

?????文件??????68096??2007-05-05?11:44??俄羅斯方塊具體設計\文檔.doc

?????目錄??????????0??2008-10-17?17:43??俄羅斯方塊具體設計\source?code

?????目錄??????????0??2008-04-14?11:34??俄羅斯方塊具體設計

-----------?---------??----------?-----??----

???????????????148614????????????????????12


評論

共有 條評論