java桌面游戏坦克大战-框架板
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
/**
* @version:V5.0
* @function:坦克大战游戏
* 1、画出坦克---绘图知识
* 2、坦克能够上下左右移动,创建敌人坦克---事件监听处理机制
* 3、坦克可以发射子弹 ---线程知识
* 4、a、坦克子弹可以连发(一次最多10颗子弹) ---使用Vector泛型集合类* b、击中敌人坦克后,敌人坦克消失
* c、坦克消失的时候,出现爆炸效果---面板绘制图片
* d、敌人的坦克可以在面板范围内随机移动
* e、敌人坦克可以发射子弹
* f、敌人的坦克可以击中我的坦克
* 5、敌人坦克运动中的时候不可以重叠
* 6、可以分关,提示第几关//字体闪烁用到线程
* 7、添加菜单-开始新游戏
* 8、添加菜单-退出游戏,退出游戏保存当前击中敌人坦克的数量---利用I/O 编程
*/
package com.liu;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import java.awt.image.BufferedImage;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.util.Vector;
import javax.imageio.ImageIO;
import javax.swing.*;
import javax.swing.plaf.SliderUI;
public class MyTankGame_5 extends JFrame implements ActionListener{
MyPanel mp=null;
MyStartPanel msp=null;
//定义菜单
JMenuBar jmb=null;
JMenu jm1=null;
JMenuItem jmi1=null;
//定义二级菜单-退出游戏
JMenuItem jmi2=null;
public static void main(String[] args) {
// TODO Auto-generated method stub MyTankGame_5 mtk=new MyTankGame_5();
}
public MyTankGame_5(){
msp=new MyStartPanel();
this.add(msp);
//创建菜单
jmb=new JMenuBar();
jm1=new JMenu("游戏(G)");
jm1.setMnemonic('G');
jmi1=new JMenuItem("开始新游戏(N)"); jmi1.setMnemonic('N');
//创建二级菜单-退出游戏
jmi2=new JMenuItem("退出游戏(E)"); jmi2.setMnemonic('E');
//开始新游戏事件注册
jmi1.addActionListener(this);
jmi1.setActionCommand("newgame");
//退出游戏事件注册
jmi2.addActionListener(this);
jmi2.setActionCommand("exit");
//添加组件
jm1.add(jmi1);
jm1.add(jmi2);
jmb.add(jm1);
this.setJMenuBar(jmb);
Thread tr=new Thread(msp);
tr.start();
this.setTitle("坦克大战");
this.setSize(800, 600);
this.setLocation(200, 100);
this.setResizable(false);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); this.setVisible(true);
/*
mp=new MyPanel();
this.add(mp);//讲面板添加到顶层容器中
//注册监听
this.addKeyListener(mp);
//启动该线程
Thread t=new Thr
ead(mp);
t.start();
this.setTitle("坦克大战");
this.setSize(600, 400);
this.setLocation(300, 300);
this.setResizable(false);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); this.setVisible(true);
*/
}
@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
if(e.getActionCommand().equals("newgame")) {