疯狂坦克大战

时间:2015-06-27 13:29:44
【文件属性】:

文件名称:疯狂坦克大战

文件大小:9.53MB

文件格式:RAR

更新时间:2015-06-27 13:29:44

坦克大战

package com.br; import java.awt.event.KeyAdapter; import java.awt.event.KeyEvent; import com.br.bean.Tank; import com.br.util.Direction; /** * 键盘监听 * @author Administrator * */ public class KeyMonitor extends KeyAdapter{ private Tank tank = null; private boolean bL = false; private boolean bR = false; private boolean bU = false; private boolean bD = false; public KeyMonitor(Tank tank){ this.tank = tank; } /** * 定位 * */ public void locateDirection() { if (bL && !bU && !bR && !bD) tank.setDir(Direction.LEFT); else if (!bL && bU && !bR && !bD) tank.setDir(Direction.UP); else if (!bL && !bU && bR && !bD) tank.setDir(Direction.RIGHT); else if (!bL && !bU && !bR && bD) tank.setDir(Direction.DOWN); else if (!bL && !bU && !bR && !bD) tank.setDir(Direction.STOP); } @Override public void keyReleased(KeyEvent e) { int key = e.getKeyCode(); switch (key) { case KeyEvent.VK_CONTROL: tank.fire(); break; case KeyEvent.VK_LEFT: bL = false; break; case KeyEvent.VK_UP: bU = false; break; case KeyEvent.VK_RIGHT: bR = false; break; case KeyEvent.VK_DOWN: bD = false; break; } locateDirection(); } @Override public void keyPressed(KeyEvent e) { int key = e.getKeyCode(); switch (key) { case KeyEvent.VK_F2: if (!tank.isLive() && tank.isGood()) { tank.setLive(true); tank.setLife(100); } break; case KeyEvent.VK_LEFT: bL = true; break; case KeyEvent.VK_UP: bU = true; break; case KeyEvent.VK_RIGHT: bR = true; break; case KeyEvent.VK_DOWN: bD = true; break; } locateDirection(); } }


网友评论