//根据以下代码,编译,游戏运行界面如下:
public class GreedSnake { public static void main(String[] args) { SnakeModel model = new SnakeModel(20,30); SnakeControl control = new SnakeControl(model); SnakeView view = new SnakeView(model,control); //添加一个观察者,让view成为model的观察者 model.addObserver(view); (new Thread(model)).start(); } }
------------------------------------------------------------- 2、
package mvcTest;
//SnakeControl.java import java.awt.event.KeyEvent; import java.awt.event.KeyListener;
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: |