内容发布更新时间 : 2024/12/23 3:33:33星期一 下面是文章的全部内容请认真阅读。
Java大作业报告(截止5月20日)
Shot s = null;
public Hero(int x, int y) { super(x,y); } //开火
public void shotEnemy(){
switch (this.direct){ case 0:
s = new Shot(x+10, y,0); ss.add(s); break; case 1:
s = new Shot(x+30, y+10,1); ss.add(s); break; case 2:
s = new Shot(x+10, y+30,2); ss.add(s); break; case 3:
s = new Shot(x, y+10,3);
Java大作业报告(截止5月20日)
ss.add(s); break; }
//启动子弹线程
Thread t = new Thread(s); t.start(); }
//坦克向上移动
public void moveUp(){ y-=speed; }
//坦克向右移动
public void moveRiget(){ x+=speed; }
//坦克向下移动
public void moveDown(){ y+=speed; }
//坦克向左移动
public void moveLeft(){ x-=speed;
Java大作业报告(截止5月20日)
} }
*******************************************************************************
import java.awt.*;
import java.awt.event.KeyEvent; import java.awt.event.KeyListener; import java.util.Vector;
import javax.swing.*;
public class MyPanel extends JPanel implements KeyListener,Runnable{ //定义一个我的坦克 Hero hero = null;
//定义敌人的坦克组,用Vector,因为他是线程安全的 Vector
Vector
Java大作业报告(截止5月20日)
Image image2 = null; Image image3 = null; //定义背景图片
Image imagebg = null; //MyPanel构造函数 public MyPanel(){ //初始化我的坦克
hero = new Hero(200,200); //初始化敌人的坦克
for(int i = 0;i EnemyTank et = new EnemyTank((i+1)*50,0); //设置颜色 et.setColor(1); //设置方向 et.setDirect(2); //启动敌人坦克 Thread t = new Thread(et); t.start(); //给敌人坦克添加子弹 Shot s = new Shot(et.x+10,et.y+30,2); et.ss.add(s); Thread t2 = new Thread(s); Java大作业报告(截止5月20日) t2.start(); //加入类集框架 ets.add(et); } //初始化爆炸图片 image1 = Toolkit.getDefaultToolkit().getImage(Panel.class.getResource(\)); image2 = Toolkit.getDefaultToolkit().getImage(Panel.class.getResource(\)); image3 = Toolkit.getDefaultToolkit().getImage(Panel.class.getResource(\)); //初始化背景图片 imagebg =Toolkit.getDefaultToolkit().getImage(Panel.class.getResource(\)); } //重写paint(必须的步骤) public void paint(Graphics g){