?? controller.java
字號:
package cn.cavtc;
import java.awt.Point;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;
import java.util.Random;
public class Controller extends KeyAdapter implements SnakeListener{
private Snake snake;
private Food food;
private Ground ground;
private GamePanel gamePanel;
public Controller(Snake snake, Food food, Ground ground, GamePanel gamePanel) {
super();
this.snake = snake;
this.food = food;
this.ground = ground;
this.gamePanel = gamePanel;
}
@Override
public void keyPressed(KeyEvent e) {
// TODO 自動生成方法存根
switch(e.getKeyCode()){
case KeyEvent.VK_UP:
snake.changeDirection(Snake.UP);
break;
case KeyEvent.VK_DOWN:
snake.changeDirection(Snake.DOWN);
break;
case KeyEvent.VK_LEFT:
snake.changeDirection(Snake.LEFT);
break;
case KeyEvent.VK_RIGHT:
snake.changeDirection(Snake.RIGHT);
break;
}
}
public void snakeMoved(Snake snake) {
if(food.isEatedBy(snake)){
snake.eatFood();
food.newFood(getRandomPoint());
}
if(ground.isRockEatedBy(snake)|| snake.isEatBody()){
snake.die();
}
gamePanel.display(snake, food, ground);
}
public void newGame(){
snake.start();
food.newFood(getRandomPoint());
}
private Point getRandomPoint(){
Random random=new Random();
int x=0;
int y=0;
do{
x=random.nextInt(Global.WIDTH);
y=random.nextInt(Global.HEIGHT);
}while(ground.getRocks()[x][y]==1);
return new Point(x,y);
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -