思路:新增子彈類,並且寫出子彈執行的線,然後在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...