微信公众号:Java成长录
感兴趣可以关注下哦,Java知识点,学习路线规划,Java相关电子书,一起学习呀!。
简介:纯java面向对象编程,用到多线程,GUI,异常处理
1.我方坦克粉色,敌方坦克黄色
2.wsad 上下左右运动,j发射子弹。
3.子弹匀速发射,控制子弹数量一次最多不能超过10个,子弹发射有间隔,追求真实感
4.敌方坦克与我方坦克速度基本一致,并且敌方坦克随机发射子弹,随机运动
5.开始关卡界面
6.点击左上角游戏按钮选择重新开始,新游戏按钮
没有全部完成,只写了第一关新游戏和重新开始,希望感兴趣的小伙伴能继续写下去!
package tanke;//坦克类(包括子弹)
import java.util.Vector;
import org.omg.CORBA.INTERNAL;
import org.omg.CORBA.PUBLIC_MEMBER;
public class TK {
int x=0,y=0,fngxiang=0,sudu=4,leixing=0;
Boolean shengming=true;
Vector<drtk> dftk = new Vector<drtk>();
public int getFngxaing() {
return fngxiang;
}
public void setFngxaing(int fngxiang) {
this.fngxiang = fngxiang;
}
public int getSudu() {
return sudu;
}
public void setSudu(int sudu) {
this.sudu = sudu;
}
public int getLeixing() {
return leixing;
}
public void setLeixing(int leixing) {
this.leixing = leixing;
}
public int getX() {
return x;
}
public void setX(int x) {
this.x = x;
}
public int getY() {
return y;
}
public void setY(int y) {
this.y = y;
}
public TK(int x,int y) {
this.x = x;
this.y = y;
}
}
class wotk extends TK{
Vector<zidan> zdVector = new Vector<zidan>();
zidan zd = null;
public wotk(int x,int y) {
super(x, y);
}
public void xs() {
if (y>0) {
y-=sudu;
}
}
public void xx() {
if (y<545) {
y+=sudu;
}
}
public void xz() {
if (x>0) {
x-=sudu;
}
}
public void xy() {
if (x<560) {
x+=sudu;
}
}
public void fszd() {
switch (this.fngxiang) {
case 0:
zd = new zidan(x+20,y-10,0);
zdVector.add(zd);
break;
case 1:
zd = new zidan(x+20,y+50,1);
zdVector.add(zd);
break;
case 2:
zd = new zidan(x-10,y+20,2);
zdVector.add(zd);
break;
case 3:
zd = new zidan(x+50,y+20,3);
zdVector.add(zd);
break;
default:
break;
}
Thread zdThread = new Thread(zd);
zdThread.start();
}
}
class drtk extends TK implements Runnable{
int sudu = 3;
int time = 0;
int fangxiang;
Vector<zidan> dfzdvVector = new Vector<zidan>();
public void dtjhl(Vector<drtk> dftk) {
this.dftk = dftk;
}
public drtk(int x,int y) {
super(x, y);
}
public boolean hxpz() {
boolean b=false;
switch (this.fangxiang) {
case 0:
for (int i = 0; i < dftk.size(); i++) {
drtk dt = dftk.get(i);
if (dt!=this) {
if (dt.fangxiang==0||dt.fangxiang==1||dt.fangxiang==2||dt.fangxiang==3){
if (dt