Java坦克大战游戏设计 下载本文

Java大作业报告(截止5月20日)

@Override

public void keyTyped(KeyEvent e) { // TODO Auto-generated method stub }

//本游戏用到这个方法,就来处理这个方法,其他的先不管

//键按下

//W表示向上,A表示向左,S表示向下,D表示向右 public void keyPressed(KeyEvent e) { if(e.getKeyCode()==KeyEvent.VK_W){ //设置我的坦克的方向 this.hero.setDirect(0); if(this.hero.y>0){ this.hero.moveUp(); }

}else if(e.getKeyCode()==KeyEvent.VK_D){ //向右

this.hero.setDirect(1); if(this.hero.x<370){

Java大作业报告(截止5月20日)

this.hero.moveRiget(); }

}else if(e.getKeyCode()==KeyEvent.VK_S){ //向下

this.hero.setDirect(2); if(this.hero.y<270){ this.hero.moveDown(); }

}else if(e.getKeyCode()==KeyEvent.VK_A){ //向左

this.hero.setDirect(3); if(this.hero.x>0){ this.hero.moveLeft(); } }

//判断是否玩家按下j开火

if(e.getKeyCode()==KeyEvent.VK_J){ //开火

//if语句控制屏幕上同时最多只有多少颗子弹

Java大作业报告(截止5月20日)

if(this.hero.ss.size()<5){ this.hero.shotEnemy(); } }

this.repaint(); }

@Override

public void keyReleased(KeyEvent e) { // TODO Auto-generated method stub }

@Override

public void run() {

// TODO Auto-generated method stub while(true){ try {

Thread.sleep(100); } catch (Exception e) { // TODO: handle exception

Java大作业报告(截止5月20日)

}

//调用判断我的子弹是否击中敌人的函数 this.hitEnemyTank();

//调用判断敌人子弹是否击中我的函数 this.hitMe(); //判断是否要加子弹

for(int i = 0 ;i

if(et.ss.size()<1){ Shot s =null; switch(et.direct){ case 0:

s = new Shot(et.x+10, et.y,0); et.ss.add(s); break; case 1:

s = new Shot(et.x+30, et.y+10,1);

et.ss.add(s); break; case 2:

Java大作业报告(截止5月20日)

s = new Shot(et.x+10, et.y+30,2);

et.ss.add(s); break; case 3:

s = new Shot(et.x, et.y+10,3); et.ss.add(s); break; }

//启动子弹线程

Thread t = new Thread(s); t.start(); } } } //重绘

this.repaint(); } } }

**********************************************