坦克大战源代码终极版.docx

上传人:b****6 文档编号:15720252 上传时间:2023-07-07 格式:DOCX 页数:28 大小:18.12KB
下载 相关 举报
坦克大战源代码终极版.docx_第1页
第1页 / 共28页
坦克大战源代码终极版.docx_第2页
第2页 / 共28页
坦克大战源代码终极版.docx_第3页
第3页 / 共28页
坦克大战源代码终极版.docx_第4页
第4页 / 共28页
坦克大战源代码终极版.docx_第5页
第5页 / 共28页
坦克大战源代码终极版.docx_第6页
第6页 / 共28页
坦克大战源代码终极版.docx_第7页
第7页 / 共28页
坦克大战源代码终极版.docx_第8页
第8页 / 共28页
坦克大战源代码终极版.docx_第9页
第9页 / 共28页
坦克大战源代码终极版.docx_第10页
第10页 / 共28页
坦克大战源代码终极版.docx_第11页
第11页 / 共28页
坦克大战源代码终极版.docx_第12页
第12页 / 共28页
坦克大战源代码终极版.docx_第13页
第13页 / 共28页
坦克大战源代码终极版.docx_第14页
第14页 / 共28页
坦克大战源代码终极版.docx_第15页
第15页 / 共28页
坦克大战源代码终极版.docx_第16页
第16页 / 共28页
坦克大战源代码终极版.docx_第17页
第17页 / 共28页
坦克大战源代码终极版.docx_第18页
第18页 / 共28页
坦克大战源代码终极版.docx_第19页
第19页 / 共28页
坦克大战源代码终极版.docx_第20页
第20页 / 共28页
亲,该文档总共28页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

坦克大战源代码终极版.docx

《坦克大战源代码终极版.docx》由会员分享,可在线阅读,更多相关《坦克大战源代码终极版.docx(28页珍藏版)》请在冰点文库上搜索。

坦克大战源代码终极版.docx

坦克大战源代码终极版

packagecom.tankgame4;

importjava.util.Vector;

//TANK

classTank

{

publicvoidsetDirect(intdirect){

this.direct=direct;

}

publicintgetDirect(){

returndirect;

}

publicintgetX(){

returnx;

}

publicvoidsetX(intx){

this.x=x;

}

publicintgetY(){

}returny;

intx=0;

inty=0;

intcolor=0;

intspeed=1;

intdirect=0;

booleanisLive=true;

publicTank(intx,inty)

{

this.x=x;

this.y=y;

}

publicvoidsetY(inty){

}this.y=y;

}

//MYTANK

classHeroextendsTank

{

Shotshot=null;

Vectorshotm=newVector();

publicHero(intx,inty)

{

super(x,y);

}

//坦克具有一个打击敌人的方法

publicvoidshotenemy(intx,inty,intdirect)

{

switch(direct)

{

case0:

shot=newShot(this.x+10,this.y,0);

shotm.add(shot);

break;

this.color=5;

publicintgetColor(){

returncolor;

}

publicvoidsetColor(intcolor){

}this.color=color;

case1:

shot=newShot(this.x+30,this.y+10,1);

shotm.add(shot);

break;

shot=newShot(this.x+10,this.y+30,2);

shotm.add(shot);

break;

shot=newShot(this.x,this.y+10,3);

shotm.add(shot);

break;

case2:

case3:

}}}

Threadth=newThread(shot);

th.start();

//调整速度

publicvoidmoveup()

{

}y-=speed;

publicvoidmoveright()

{

}x+=speed;

publicvoidmovedown()

{

y+=speed;

}

publicvoidmoveleft()

{

}x-=speed;

//敌人的坦克

classEnemyTankextendsTankimplementsRunnable

{

Vectorensh=newVector();

Vectorets=newVector();

publicEnemyTank(intx,inty)

{

}

//获取MPanel上的敌人坦克

publicvoidsetets(Vectorvv)

{

}this.ets=vv;

super(x,y);

this.setColor

(2);

this.setDirect

(2);

//判断敌人的坦克是否碰撞

publicbooleanisTouch()

{

booleanb=false;

EnemyTanket=null;

switch(direct)

{

case0:

for(inti=0;i

{

et=ets.get(i);

if(et!

=this)

{

if(et.direct==0||et.direct==2)

{

if(this.x>=et.x&&this.x<=et.x+20&&this.y<=et.y+30&&this.y>et.y)

{

}returntrue;

if(this.x+20>=et.x&&this.x+20<=et.x+20&&this.y<=et.y+30&&this.y>et.y)

{

returntrue;

}

}

if(et.direct==1||et.direct==3)

{

if(this.x>=et.x&&this.x<=et.x+30&&this.y<=et.y+20&&this.y>et.y)

}}{

}returntrue;

if(this.x+20>=et.x&&this.x+20<=et.x+30&&this.y<=et.y+20&&this.y>et.y)

}{

}returntrue;

break;

case1:

for(inti=0;i

{

et=ets.get(i);

if(et!

=this)

{

if(et.direct==0||et.direct==2)

{

if(this.x+30>=et.x&&this.x+30<=et.x+20&&this.y<=et.y+30&&this.y>et.y)

{

}returntrue;

if(this.x+30>=et.x&&this.x+30<=et.x+20&&this.y+20<=et.y+30&&this.y+20>et.y)

}{

}returntrue;

if(et.direct==1||et.direct==3)

{

if(this.x+30>=et.x&&this.x+30<=et.x+30&&this.y<=et.y+20&&this.y>et.y)

{

returntrue;

}

if(this.x+30>=et.x&&this.x+30<=et.x+30&&this.y+20<=et.y+20&&this.y+20>et.y)

}}}{

}returntrue;

break;

case2:

for(inti=0;i

{

et=ets.get(i);

if(et!

=this)

{

if(et.direct==0||et.direct==2)

{

if(this.x>=et.x&&this.x<=et.x+20&&this.y+30<=et.y+30&&this.y+30>et.y)

{

}returntrue;

if(this.x+20>=et.x&&this.x+20<=et.x+20&&this.y+30<=et.y+30&&this.y+30>et.y)

}

if(et.direct==1||et.direct==3)

{{

}returntrue;

if(this.x>=et.x&&this.x<=et.x+30&&this.y+30<=et.y+20&&this.y+30>et.y)

{

}returntrue;

if(this.x+20>=et.x&&this.x+20<=et.x+30&&this.y+30<=et.y+20&&this.y+30>et.y)

{

returntrue;

}}}}

break;

case3:

for(inti=0;i

{

et=ets.get(i);

if(et!

=this)

{

{

}

if(et.direct==0||et.direct==2)

{

if(this.x+30>=et.x&&this.x+30<=et.x+20&&this.y<=et.y+30&&this.y>et.y)

returntrue;

if(this.x+30>=et.x&&this.x+30<=et.x+20&&this.y+20<=et.y+30&&this.y+20>et.y)

{

returntrue;

}

}

if(et.direct==1||et.direct==3)

{

if(this.x+30>=et.x&&this.x+30<=et.x+30&&this.y<=et.y+20&&this.y>et.y)

{

}returntrue;

if(this.x+30>=et.x&&this.x+30<=et.x+30&&this.y+20<=et.y+20&&this.y+20>et.y)

}}{

}returntrue;

}

}

break;

returnb;

}

publicvoidrun(){

while(true)

{

switch(this.direct)

{

case0:

for(inti=0;i<30;i++)

{

if(y>0&&this.isTouch()==false)y-=this.speed;

try{

}Thread.sleep(50);

//TODOAuto-generatedcatchblock

e.printStackTrace();

}catch(InterruptedExceptione){

}

break;

case1:

for(inti=0;i<30;i++)

{

if(x<365&&this.isTouch()==false)x+=this.speed;

try{

Thread.sleep(50);

}catch(InterruptedExceptione){

}//TODOAuto-generatedcatchblock

e.printStackTrace();

}

break;

case2:

for(inti=0;i<30;i++)

{

}if(y<270&&this.isTouch()==false)y+=this.speed;

try{

}Thread.sleep(50);

//TODOAuto-generatedcatchblock

e.printStackTrace();

}catch(InterruptedExceptione){

break;

case3:

}

this.direct=(int)(Math.random()*4);

if(this.isLive==false)

{for(inti=0;i<30;i++)

{

if(x>0&&this.isTouch()==false)x-=this.speed;

}

break;try{

Thread.sleep(50);

}catch(InterruptedExceptione){

//TODOAuto-generatedcatchblock

}e.printStackTrace();

}}}break;

}

if(ensh.size()<5)

{

}Shotes=null;

switch(this.direct)

{

case0:

es=newShot(this.getX()+10,this.getY(),0);

ensh.add(es);

break;

case1:

es=newShot(this.getX()+30,this.getY()+10,1);

ensh.add(es);

break;

case2:

es=newShot(this.getX()+10,this.getY()+30,2);

ensh.add(es);

}break;

es=newShot(this.getX(),this.getY()+10,3);

ensh.add(es);

break;

case3:

Threadth=newThread(es);

th.start();

//炸弹类

classBomb

{

intx;

inty;

intlift=9;

booleanisLive=true;

publicBomb(intx,inty)

{

this.x=x;

this.y=y;

}

//炸弹的生命值

publicvoidliftdown()

{

}if(lift>0)

{

lift--;

}else

{

}isLive=false;

}

//子弹类

classShotimplementsRunnable

{

intshotX;

intshotY;

intdirect;

intshotspeed=1;

booleanisLive=true;

publicShot(intx,inty,intdirect)

{

}this.shotX=x;

this.shotY=y;

this.direct=direct;

publicintgetShotX(){

}

publicvoidsetShotX(intshotX){

}

publicintgetShotY(){this.shotX=shotX;

returnshotX;

}returnshotY;

publicvoidsetShotY(intshotY){

this.shotY=shotY;

}

publicintgetShotspeed(){

returnshotspeed;

}

publicvoidsetShotspeed(intshotspeed){

}this.shotspeed=shotspeed;

publicvoidrun(){

while(true)

{

try{

Thread.sleep(50);

}catch(InterruptedExceptione){

//TODOAuto-generatedcatchblock

e.printStackTrace();

}

switch(direct)

{

case0:

shotY-=shotspeed;

break;

case1:

shotX+=shotspeed;

break;

case2:

shotY+=shotspeed;

break;

case3:

shotX-=shotspeed;

}

if(shotX<0||shotX>400||shotY<0||shotY>300)

{break;

}}}}isLive=false;

break;

/**

*功能:

坦克大战4.0

*/

packagecom.tankgame4;

importjava.awt.*;

importjava.awt.event.ActionEvent;

importjava.awt.event.ActionListener;

importjava.awt.event.KeyEvent;

importjava.awt.event.KeyListener;

importjava.util.Vector;

importjava.io.*;

importjavax.swing.*;

importjavax.imageio.*;

publicclassMyTankGame4extendsJFrameimplementsActionListener{

MyPanelmp=null;

MyStartPanelmsp=null;

//菜单定义

JMenuBarjmb=null;

JMenujm1=null;

JMenuItemjmi1=null;

publicstaticvoidmain(String[]args){

//TODOAuto-generatedmethodstub

MyTankGame4mtg=newMyTankGame4();

}

//构造函数

}publicMyTankGame4()

{

}//创建菜单

jmb=newJMenuBar();

jm1=newJMenu("Game(G)");

jm1.setMnemonic('G');

jmi1=newJMenuItem("NewGame(N)");

jmi1.setMnemonic('N');

jmi1.addActionListener(this);

jmi1.setActionCommand("NewGame");

jm1.add(jmi1);

jmb.add(jm1);

this.setJMenuBar(jmb);

msp=newMyStartPanel();

Threadst=newThread(msp);

st.start();

this.add(msp);

this.setTitle("坦克大战");

this.setSize(400,300);

this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

this.setVisible(true);

publicvoidactionPerformed(ActionEventarg0){

if(arg0.getActionCommand().equals("NewGame"))

}{

}this.remove(msp);

mp=newMyPanel();

Threadmt=newThread(mp);

mt.start();

this.add(mp);

this.addKeyListener(mp);

this.setVisible(true);

//游戏开始面板

classMyStartPanelextendsJPanelimplementsRunnable

{

}publicvoidrun(){

}while(true)

{

try{

Thread.sleep(300);

}times++;

}catch(InterruptedExceptione){

}//TODOAuto-generatedcatchblock

e.printStackTrace();

inttimes=0;

publicvoidpaint(Graphicsg)

{

}super.paint(g);

g.fillRect(0,0,400,300);

if(times%2==0)

{

Fontmyfont=newFont("行楷",Font.BOLD,30);

g.setFont(myfont);

g.setColor(Color.yellow);

g.drawString("第一关",130,130);

}

this.repaint();

//我的面板

classMyPanelextendsJPanelimplementsKeyListener,Runnable

{

//定义一个我的坦克

Herohero=null;

EnemyTanket=null;

Imageimage1=null;

Imageimage2=null;

Imageimage3=null;

Imageim=null;

Vectorbombs=newVector();

Vectoretm=newVector();

intensize=5;

publicvoidpaint(Graphicsg)

{

super.paint(g);

g.fillRect(0,0,400,300);

g.drawImage(im,0,0,400,300,this);

//画出自己的坦克

if(hero.isLive==true)

{

}this.drawTank(this.hero.getX(),this.hero.getY(),

g,this.hero.getDirect(),this.hero.getColor());

//画出子弹

for(inti=0;i

{

Shotmyshot=hero.shotm.get(i);

}if(myshot!

=null&&myshot.isLive==true)

{

}

if(myshot.isLive==false)hero.shotm.remove(myshot);g.fill3DRect(myshot.getShotX(),

myshot.getShotY(),2,2,false);

//画出炸弹

for(inti=0;i

{

Bombb=bombs.get(i);

if(b.lift>6)

{

g.drawImage(image1,b.x,b.y,30,30,this);

}elseif(b.lift>3)

//}{

g.drawImage(image2,b.x,b.y,30,30,this);

}else

{

g.drawImage(image3,b.x,b.y,30,30,this);

}

b.liftdown();

if(b.lift==0)bombs.remove(b);

//画出敌人的坦克

for(inti=0;i

{

et=etm.get(i);

if(et!

=null&&et.isLive==true)

{

}this.drawTank(et.getX(),et.getY(),

g,et.getDirect(),et.getColor());

//画出敌人的子弹

for(intj=0;j

{

Shotenshot=et.ensh.get(j);

if(enshot.isLive==true)

{

g.fill3DRect(enshot.getShotX(),

enshot.getShotY(),2,2,false);

System.out.println("第"+i+"辆坦克的第"+j+"颗子弹的Y="+enshot.getShotY());

}else

}

//判断子弹是否击中坦克的函数

publicvoidhitTank(Shots,Tankt)}}{

}et.ensh.remove(enshot);

{

}

//画出坦克的函数

publicvoiddrawTank(intxx,intyy,Graphicsg,intdirect,inttype)

{

//判断什么颜色类型的坦克

switch(type)

{

case0:

g.set

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 外语学习 > 其它语言学习

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2