JAVA之坦克大戰(三)我方坦克發射炮彈

2021-08-21 02:38:47 字數 1025 閱讀 2788

思路:新增子彈類,並且寫出子彈執行的線,然後在mytank中新增新的fire()方法,用於發射子彈時獲得當前炮管的方向,因為子彈較多所以需要把子彈放在vector集合裡,並且需要開多執行緒,因為子彈運動需要進行重繪,所以就需要panel開多執行緒。

1.bullet類:

public class bullet implements  runnable

public void setspeed(int speed)

public int getdir()

public void setdir(int dir)

public void run()//重寫runnable 介面重點額run方法

if(getx()<0||gety()<0||getx()>1200||gety()>1000)

//判斷是否過邊界如果過邊界了那麼子彈的生命就沒了

try//程式正常時執行

catch (exception e)//非正常時執行}}

public int getx()

public void setx(int x)

public int gety()

public void sety(int y)

private int x;

private int y;

bullet(int x,int y,int dir)//子彈需要建構函式直接給方向賦值

}

2.mytank中的新方法fire():

public void fire()//裝彈

thread thread = new thread(bullet);

thread.start();

}

3.mypanel中新增的執行緒

public void run()

catch (exception e)

repaint();

}}

java 坦克大戰

include include using namespace std void print int a void shellinsert int a,int n,int d 間隔d進行排序 a j x 插入 print a void shell int a,int n shell插入排序 void...

java專案之 坦克大戰 04

功能 讓坦克動起來 內容 改變位置,坦克就會動。a.設定成員變數,x y b.每一段時間重畫一次 y 5 c.重畫執行緒類。優點 執行緒重畫坦克,比較均勻。public class tankclient extends frame public void lauchframe this.setres...

java專案之 坦克大戰08

功能 然坦克向八個方向行走。以前只有四個方向 內容 新增代表方向的量 列舉 新增記錄按鍵狀態的布林量 根據按鍵狀態確定坦克方向 根據方向進行下一步的移動 move方法 以下修改的全為tank類中的 1.為了方便改變移動速度 常量 public static final int xspeed 5 pu...