java坦克大战源代码(实现多种功能)Word格式文档下载.doc
《java坦克大战源代码(实现多种功能)Word格式文档下载.doc》由会员分享,可在线阅读,更多相关《java坦克大战源代码(实现多种功能)Word格式文档下载.doc(55页珍藏版)》请在冰豆网上搜索。
JMenuItemjmi6=null;
JMenuItemjmi21=null;
publicstaticvoidmain(String[]args){
MyTankGameytg=newMyTankGame();
}
publicMyTankGame()
{
msp=newMyStartPanel();
Threadt=newThread(msp);
t.start();
jmb=newJMenuBar();
jm1=newJMenu("
游戏(G)"
);
jm1.setMnemonic('
g'
jmi1=newJMenuItem("
新游戏(N)"
jmi1.setMnemonic('
n'
jmi1.addActionListener(this);
jmi1.setActionCommand("
newgame"
jmi2=newJMenuItem("
暂停(S)"
jmi2.setMnemonic('
s'
jmi2.addActionListener(this);
jmi2.setActionCommand("
suspend"
jmi3=newJMenuItem("
继续(C)"
jmi3.setMnemonic('
c'
jmi3.addActionListener(this);
jmi3.setActionCommand("
continue"
jmi6=newJMenuItem("
读取游戏(X)"
jmi6.setMnemonic('
x'
jmi6.addActionListener(this);
jmi6.setActionCommand("
loadGame"
jmi4=newJMenuItem("
储存游戏(Q)"
jmi4.setMnemonic('
q'
jmi4.addActionListener(this);
jmi4.setActionCommand("
save"
jmi5=newJMenuItem("
退出(E)"
jmi5.setMnemonic('
e'
jmi5.addActionListener(this);
jmi5.setActionCommand("
exit"
jm2=newJMenu("
帮助(H)"
jm2.setMnemonic('
h'
jmi21=newJMenuItem("
操作说明(U)"
jmi21.setMnemonic('
u'
jmi21.addActionListener(this);
jmi21.setActionCommand("
help"
jmb.add(jm1);
jmb.add(jm2);
jm1.add(jmi1);
jm1.add(jmi2);
jm1.add(jmi3);
jm1.add(jmi6);
jm1.add(jmi4);
jm1.add(jmi5);
jm2.add(jmi21);
this.setJMenuBar(jmb);
this.add(msp);
setSize(430,430);
setResizable(false);
setTitle("
坦克大战4.3"
setVisible(true);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
publicvoidactionPerformed(ActionEventarg0){
//TODOAuto-generatedmethodstub
//按开始后显示战斗场面
if(arg0.getActionCommand().equals("
))
{
//进入战斗后可以重新开始
if(this.mp!
=null)
{
this.remove(mp);
}
this.mp=newMyJPanel("
new"
add(this.mp);
Threadt=newThread(this.mp);
t.start();
addKeyListener(this.mp);
GameRecord.setEnNum(20);
GameRecord.setMyNum(3);
GameRecord.setHitNum(0);
//要显示战斗场面,先要移除开始画面
this.remove(msp);
//刷新
this.setVisible(true);
}//战斗暂停
elseif(arg0.getActionCommand().equals("
//让子弹和坦克的速度变为0
MyTank.setSpeed(0);
EnemyTank.setSpeed(0);
Bullet.setSpeed(0);
//让坦克不能改变方向
EnemyTank.setStrar(false);
MyTank.setStrar(false);
}//战斗重新开始
//恢复子弹和坦克的速度
MyTank.setSpeed(3);
EnemyTank.setSpeed
(1);
Bullet.setSpeed(3);
EnemyTank.setStrar(true);
MyTank.setStrar(true);
}
//读取游戏
this.mp=newMyJPanel("
load"
if(this.msp!
{
}
//储存游戏
//调用保存游戏函数
GameRecord.writeRecord();
//跳出保存成功窗口
ReSuccessre=newReSuccess();
//退出
System.exit(0);
//帮助
Helph=newHelp();
}
//画出开始提示面板
classMyStartPanelextendsJPanelimplementsRunnable
inttime=0;
publicvoidpaint(Graphicsg)
super.paint(g);
g.fillRect(0,0,300,310);
if(time%2==0)
g.setColor(Color.yellow);
g.setFont(newFont("
宋体"
Font.BOLD,22));
g.drawString("
Stage:
1"
100,140);
//让字体闪动
publicvoidrun(){
while(true)
try{
Thread.sleep(500);
}catch(InterruptedExceptione){
//TODOAuto-generatedcatchblock
e.printStackTrace();
time++;
if(time==13)
break;
this.repaint();
classMyJPanelextendsJPanelimplementsKeyListener,Runnable
MyTankmytank=null;
Imageimage1=null;
Imageimage2=null;
Imageimage3=null;
Stringflag;
Vector<
EnemyTank>
enem=newVector<
();
//Vector<
Node>
nodes=newVector<
Bobm>
bo=newVector<
//战斗敌人坦克的数量
intenSize=4;
publicMyJPanel(Stringflag){
this.flag=flag;
this.mytank=newMyTank(100,284);
//新的游戏
if(flag.equals("