坦克游戏子弹的编写


本人也是刚看了一下坦克大战的JAVA开发游戏视频教程,但是自己总结了一下坦克大战子弹类的编写过程,总结10条


1:定义一个子弹类,并为其初始化X,Y,dome方向并实现线程

class show implements Runnable

{

   int x;

  int y;

 int dome;

public show(int x,int y,int dome)

{

  this.x=x;

this.y=y;

this.dome=dome;

}

}


2:子弹是一辆坦克的属性,我么可以再坦克类中初始化自己的子弹

public Tank

{

  public void shouwEmp()

{

     //初始化子弹

  show s=null;

//定义开火的方向
switch(this.dome)  //dome为方向
{
case 0:
  //向上走
s=new show(x+10,y,0);
break;
 
case 1:

//向右走
s=new show(x+30,y+10,1);
break;

case 2:

//向下走
s=new show(x+30,y+50,2);

case 3:

//向左走
s=new show(x+10,y+10,3);

}

}

}



3;判断用户是否按下J键,如果按下则发出子弹

if(arg0.getKeyCode()==KeyEvent.VK_J)

{

  //调用发射子弹方法

this.Thank.showEmp();

}


4;在paint方法中画出一个子弹,首先判断是否有子弹

if(s!=null)

{

g.draw3DRect(hero.s.x, hero.s.y, 1,1, false);

}


5:为子弹实现线程


6:在子弹的接口方法中循环并选择子弹的方向

while(true)
{
//让子弹停顿50毫秒
try {
Thread.sleep(50);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

switch(dome)
{
//向上走
case 0:
y-=speel;
break;

//向右走
case 1:
x+=speel;
break;

//向下走
case 2:
y+=speel;
break;

//向左走
case 3:
x-=speel;
break;
}


7:在发射子弹类中启动子弹的线程


8:在painr方法中使用重绘方法,但是容器组件必须实现线程接口


9:实现线程接口,在run()方法中重绘


10:判断子弹是否死亡


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值