java坦克大战源代码(实现多种功能)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
//此文件有三个.java文件组成
//以包名为标志,复制时请注意
package com.tank4_3;
import javax.imageio.ImageIO;
import java.io.*;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.util.*;
public class MyTankGame extends JFrame implements ActionListener
{
MyJPanel mp = null;
MyStartPanel msp=null;
JMenuBar jmb=null;
JMenu jm1=null;
JMenu jm2=null;
JMenuItem jmi1=null;
JMenuItem jmi2=null;
JMenuItem jmi3=null;
JMenuItem jmi4=null;
JMenuItem jmi5=null;
JMenuItem jmi6=null;
JMenuItem jmi21=null;
public static void main(String[] args) { MyTankGame ytg = new MyTankGame();
}
public MyTankGame()
{
msp=new MyStartPanel();
Thread t=new Thread(msp);
t.start();
jmb=new JMenuBar();
jm1=new JMenu("游戏(G)");
jm1.setMnemonic('g');
jmi1=new JMenuItem("新游戏(N)");
jmi1.setMnemonic('n');
jmi1.addActionListener(this);
jmi1.setActionCommand("newgame");
jmi2=new JMenuItem("暂停(S)");
jmi2.setMnemonic('s');
jmi2.addActionListener(this);
jmi2.setActionCommand("suspend");
jmi3=new JMenuItem("继续(C)");
jmi3.setMnemonic('c');
jmi3.addActionListener(this);
jmi3.setActionCommand("continue"); jmi6=new JMenuItem("读取游戏(X)"); jmi6.setMnemonic('x');
jmi6.addActionListener(this);
jmi6.setActionCommand("loadGame"); jmi4=new JMenuItem("储存游戏(Q)"); jmi4.setMnemonic('q');
jmi4.addActionListener(this);
jmi4.setActionCommand("save");
jmi5=new JMenuItem("退出(E)");
jmi5.setMnemonic('e');
jmi5.addActionListener(this);
jmi5.setActionCommand("exit");
jm2=new JMenu("帮助(H)");
jm2.setMnemonic('h');
jmi21=new JMenuItem("操作说明(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); }
public void actionPerformed(ActionEvent arg0) { // TODO Auto-generated method stub
//按开始后显示战斗场面
if(arg0.getActionCommand().equals("newgame"))
{
//进入战斗后可以重新开始
if(this.mp!=null)
{
this.remove(mp);
}
this.mp = new MyJPanel("new");
add(this.mp);
Thread t = new Thread(this.mp);
t.start();
addKeyListener(this.mp);
GameRecord.setEnNum(20);
GameRecord.setMyNum(3);
GameRecord.setHitNum(0);
//要显示战斗场面,先要移除开始画面
this.remove(msp);
//刷新
this.setVisible(true);
}//战斗暂停
else if(arg0.getActionCommand().equals("suspend")) {
//让子弹和坦克的速度变为0