⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 snakecontrol.java

📁 Java class:JavaJava development under the brief description of design patterns
💻 JAVA
字号:
package mvcTest; 

//SnakeControl.java 
import java.awt.event.KeyEvent; 
import java.awt.event.KeyListener; 

/** 
* MVC中的Controler,负责接收用户的操作,并把用户操作通知Model 
*/ 
public class SnakeControl implements KeyListener{ 
SnakeModel model; 

public SnakeControl(SnakeModel model){ 
this.model = model; 
} 

public void keyPressed(KeyEvent e) { 
int keyCode = e.getKeyCode(); 
if (model.running){ // 运行状态下,处理的按键 
switch (keyCode) { 
case KeyEvent.VK_UP: 
model.changeDirection(SnakeModel.UP); 
break; 
case KeyEvent.VK_DOWN: 
model.changeDirection(SnakeModel.DOWN); 
break; 
case KeyEvent.VK_LEFT: 
model.changeDirection(SnakeModel.LEFT); 
break; 
case KeyEvent.VK_RIGHT: 
model.changeDirection(SnakeModel.RIGHT); 
break; 
case KeyEvent.VK_ADD: 
case KeyEvent.VK_PAGE_UP: 
model.speedUp(); 
break; 
case KeyEvent.VK_SUBTRACT: 
case KeyEvent.VK_PAGE_DOWN: 
model.speedDown(); 
break; 
case KeyEvent.VK_SPACE: 
case KeyEvent.VK_P: 
model.changePauseState(); 
break; 
default: 
} 
} 

// 任何情况下处理的按键,按键导致重新启动游戏 
if (keyCode == KeyEvent.VK_R || 
keyCode == KeyEvent.VK_S || 
keyCode == KeyEvent.VK_ENTER) { 
model.reset(); 
} 
} 

public void keyReleased(KeyEvent e) { 
} 

public void keyTyped(KeyEvent e) { 
} 
} 


⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -