首页

java 坦克大战游戏 源码下载(Swing)

java

2020-6-30

 package tankwar;

import java.awt.Color;
import java.awt.Font;
import java.awt.Graphics;
import java.awt.TextField;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.File;

import javax.swing.ButtonGroup;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JDialog;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JRadioButton;
import javax.swing.JSlider;
import javax.swing.event.ChangeEvent;
import javax.swing.event.ChangeListener;

import lightButton.LightButton;
import mapediter.MapEdit;


public class Main implements ActionListener{
		private JFrame f;
		private PanelX p;
		private LightButton butStart;
		private LightButton butEdit;
		private LightButton butHelp;
		private LightButton butAbort;
		private int width;
		private int height;
		private LightButton butExit;
		private JDialog set;
		private Help help=new Help();
		private Abort about=new Abort(); 
		private String map;
		private int max;
		protected int style;
		public Main() {
			setF(new JFrame("TankWar 3.0"));
			p=new PanelX();
			p.setLayout(null);
			butStart=new LightButton(20,210,140,50,"START");
			butEdit=new LightButton(20,263,140,50,"Map Editer");
			butHelp=new LightButton(20,316,140,50,"Help Doc");
			butAbort=new LightButton(20,369,140,50,"About");
			butExit=new LightButton(20,422,140,50,"Exit");
			butStart.addActionListener(this);
			butEdit.addActionListener(this);
			butHelp.addActionListener(this);
			butAbort.addActionListener(this);
			butAbort.addActionListener(this);
			butExit.addActionListener(this);
			p.add(butStart);
			p.add(butEdit);
			p.add(butHelp);
			p.add(butAbort);
			p.add(butExit);
			getF().add(p);
			getF().setSize(0,0);
			width=700;height=700;
			getF().setDefaultCloseOperation(3);
			getF().setResizable(true);
			getF().setVisible(true);
			for (int i = 0; i < width; i =20) {
					getF().setSize(i,i*(height/width));
					try {
						Thread.sleep(10);
					} catch (InterruptedException e) {}
				
			}
		}
	public static void main(String[] args) {
		new Main();
	}

	private class PanelX extends JPanel
	{
		/**
		 * 
		 */
		private static final long serialVersionUID = 5954299196924652990L;
		private ImageIcon backgrond;

		@Override
		protected void paintComponent(Graphics g) {
			super.paintComponent(g);
			backgrond=new ImageIcon(Main.class.getResource("/pic/start2.jpg"));
			g.drawImage(backgrond.getImage(), 0, 0, 800, 830, 0, 0, backgrond.getIconWidth(), backgrond.getIconHeight(), null);
		}
	}
	public void over()
	{
		for (int i = width; i >=0; i-=20) {
			getF().setSize(i,i*(height/width));
			try {
				Thread.sleep(10);
			} catch (InterruptedException e) {}
				}
		getF().setVisible(false);
	}
	@Override
	public void actionPerformed(ActionEvent e) {
		if(e.getSource()==butExit)
		{
			over();
		}
		else if(e.getSource()==butEdit)
		{
			new MapEdit(this);
		}
		else if(e.getSource()==butStart)
		{
			dialog();
			try {
				new TankWar(map,max,f,style);
			} catch (Exception e1) {
			}
		}
		else if(e.getSource()==butHelp)
		{
			help.setVisible(true);
		}
		else if(e.getSource()==butAbort)
		{
			about.setVisible(true);
		}
		
	}
	private void dialog() {
		set = new JDialog(f,true);
		set.setVisible(false);
		set.setTitle("游戏设置");
		set.setBounds(200,100, 400, 600);
		JLabel tankShow=new JLabel(new ImageIcon(Main.class.getResource("/pic/tanks.jpg")));
		tankShow.setBounds(150, 0, 243, 400);
		ButtonGroup tankGroup=new ButtonGroup();
		final JRadioButton tank1=new JRadioButton("重型坦克:");
		final JRadioButton tank2=new JRadioButton("主战坦克:");
		final JRadioButton tank3=new JRadioButton("轻型坦克:");
		tank1.setSelected(true);
		tankGroup.add(tank1);
		tankGroup.add(tank2);
		tankGroup.add(tank3);
		Font tankFont = new Font("黑体",3,22);
		tank1.setFont(tankFont);
		tank2.setFont(tankFont);
		tank3.setFont(tankFont);
		tank1.setBounds(0, 0, 150, 120);
		tank2.setBounds(0, 140, 150, 120);
		tank3.setBounds(0, 280, 150, 120);
		JPanel dp = new JPanel(null);
		File dir = new File("map");
		String mapNames[]=dir.list();
		final JComboBox list = new JComboBox();
		for (int i = 0; i < mapNames.length; i  ) {
			list.addItem(mapNames[i]);			
		}
		list.setBounds(100, 410, 250, 30);
		JLabel labMap = new JLabel("地图:");
		labMap.setFont(new Font("宋体", 1, 20));
		labMap.setBounds(20, 410, 80, 30);
		JLabel labMax=new JLabel("敌军数量:");
		labMax.setFont(new Font("宋体", 1, 16));
		labMax.setBounds(20, 470, 120, 30);
		final JSlider slider = new JSlider(10, 50);
		slider.setBounds(150, 470, 230, 50);
		slider.setPaintTicks(true);
		slider.setPaintLabels(true);
		slider.setMajorTickSpacing(10);
		slider.setMinorTickSpacing(2);
		final TextField showMax = new TextField(String.valueOf(slider.getValue()));
		showMax.setFont(new Font("", 0, 20));
		showMax.setBackground(Color.WHITE);
		showMax.setEditable(false);
		showMax.setBounds(100, 470, 30, 30);
		slider.addChangeListener(new ChangeListener() {
			public void stateChanged(ChangeEvent e) {
				showMax.setText(String.valueOf(slider.getValue()));
			}
		});
		JButton butOk = new JButton("开始游戏");
		butOk.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				max=slider.getValue();
				map=(String)list.getSelectedItem();
				set.setVisible(false);
				if(tank1.isSelected())	style=1;		
				else if(tank2.isSelected()) style=2;
				else if (tank3.isSelected()) style=3;
				over();
			}
		});
		butOk.setBounds(120, 530, 140, 30);
		dp.add(tank1);
		dp.add(tank2);
		dp.add(tank3);
		dp.add(tankShow);
		dp.add(butOk);
		dp.add(showMax);
		dp.add(labMap);
		dp.add(list);
		dp.add(labMax);
		dp.add(slider);
		set.add(dp);
		set.setVisible(true);		
	}
	public void setF(JFrame f) {
		this.f = f;
	}
	public JFrame getF() {
		return f;
	}
}
资源下载此资源下载价格为3D币(VIP免费),请先
资源文件列表
坦克大战3.0/.classpath , 301
坦克大战3.0/.project , 391
坦克大战3.0/.settings/org.eclipse.jdt.core.prefs , 629
坦克大战3.0/bin/barrier/Barrier.class , 1605
坦克大战3.0/bin/barrier/EnemyBorn.class , 582
坦克大战3.0/bin/barrier/Gold.class , 561
坦克大战3.0/bin/barrier/Home.class , 1458
坦克大战3.0/bin/barrier/Iron.class , 596
坦克大战3.0/bin/barrier/SelfBorn.class , 573
坦克大战3.0/bin/barrier/Wall.class , 596
坦克大战3.0/bin/img/boom_1.png , 430
坦克大战3.0/bin/img/boom_2.png , 1559
坦克大战3.0/bin/img/boom_3.png , 3733
坦克大战3.0/bin/img/boom_4.png , 2673
坦克大战3.0/bin/img/boom_5.png , 1418
坦克大战3.0/bin/img/born_1.png , 8570
坦克大战3.0/bin/img/born_enemy_1.PNG , 7649
坦克大战3.0/bin/img/gold_1.png , 7943
坦克大战3.0/bin/img/home_1.png , 6863
坦克大战3.0/bin/img/home_2.png , 6062
坦克大战3.0/bin/img/iron_1.png , 7137
坦克大战3.0/bin/img/TANK1_enemy_down_1.png , 8416
坦克大战3.0/bin/img/TANK1_enemy_down_2.png , 8140
坦克大战3.0/bin/img/TANK1_enemy_down_3.png , 8026
坦克大战3.0/bin/img/TANK1_enemy_left_1.png , 8388
坦克大战3.0/bin/img/TANK1_enemy_left_2.png , 8173
坦克大战3.0/bin/img/TANK1_enemy_left_3.png , 8069
坦克大战3.0/bin/img/TANK1_enemy_right_1.png , 8324
坦克大战3.0/bin/img/TANK1_enemy_right_2.png , 8167
坦克大战3.0/bin/img/TANK1_enemy_right_3.png , 8097
坦克大战3.0/bin/img/TANK1_enemy_up_1.png , 8394
坦克大战3.0/bin/img/TANK1_enemy_up_2.png , 8103
坦克大战3.0/bin/img/TANK1_enemy_up_3.png , 8004
坦克大战3.0/bin/img/TANK1_self_down_1.png , 8596
坦克大战3.0/bin/img/TANK1_self_down_2.png , 8308
坦克大战3.0/bin/img/TANK1_self_down_3.png , 8208
坦克大战3.0/bin/img/TANK1_self_left_1.png , 8579
坦克大战3.0/bin/img/TANK1_self_left_2.png , 8328
坦克大战3.0/bin/img/TANK1_self_left_3.png , 8214
坦克大战3.0/bin/img/TANK1_self_right_1.png , 8567
坦克大战3.0/bin/img/TANK1_self_right_2.png , 8339
坦克大战3.0/bin/img/TANK1_self_right_3.png , 8235
坦克大战3.0/bin/img/TANK1_self_up_1.png , 8586
坦克大战3.0/bin/img/TANK1_self_up_2.png , 8295
坦克大战3.0/bin/img/TANK1_self_up_3.png , 8178
坦克大战3.0/bin/img/TANK2.jpg , 31335
坦克大战3.0/bin/img/TANK2_enemy_down_1.png , 8572
坦克大战3.0/bin/img/TANK2_enemy_down_2.png , 8136
坦克大战3.0/bin/img/TANK2_enemy_down_3.png , 8328
坦克大战3.0/bin/img/TANK2_enemy_left_1.png , 8579
坦克大战3.0/bin/img/TANK2_enemy_left_2.png , 8145
坦克大战3.0/bin/img/TANK2_enemy_left_3.png , 8353
坦克大战3.0/bin/img/TANK2_enemy_right_1.png , 8524
坦克大战3.0/bin/img/TANK2_enemy_right_2.png , 8135
坦克大战3.0/bin/img/TANK2_enemy_right_3.png , 8327
坦克大战3.0/bin/img/TANK2_enemy_up_1.png , 8488
坦克大战3.0/bin/img/TANK2_enemy_up_2.png , 8146
坦克大战3.0/bin/img/TANK2_enemy_up_3.png , 8350
坦克大战3.0/bin/img/TANK2_self_down_1.png , 8359
坦克大战3.0/bin/img/TANK2_self_down_2.png , 7899
坦克大战3.0/bin/img/TANK2_self_down_3.png , 8156
坦克大战3.0/bin/img/TANK2_self_left_1.png , 8378
坦克大战3.0/bin/img/TANK2_self_left_2.png , 7908
坦克大战3.0/bin/img/TANK2_self_left_3.png , 8162
坦克大战3.0/bin/img/TANK2_self_right_1.png , 8316
坦克大战3.0/bin/img/TANK2_self_right_2.png , 7926
坦克大战3.0/bin/img/TANK2_self_right_3.png , 8147
坦克大战3.0/bin/img/TANK2_self_up_1.png , 8331
坦克大战3.0/bin/img/TANK2_self_up_2.png , 7898
坦克大战3.0/bin/img/TANK2_self_up_3.png , 8182
坦克大战3.0/bin/img/TANK3_enemy_down_1.png , 7555
坦克大战3.0/bin/img/TANK3_enemy_down_2.png , 7787
坦克大战3.0/bin/img/TANK3_enemy_down_3.png , 7791
坦克大战3.0/bin/img/TANK3_enemy_left_1.png , 7481
坦克大战3.0/bin/img/TANK3_enemy_left_2.png , 7811
坦克大战3.0/bin/img/TANK3_enemy_left_3.png , 7856
坦克大战3.0/bin/img/TANK3_enemy_right_1.png , 7516
坦克大战3.0/bin/img/TANK3_enemy_right_2.png , 7807
坦克大战3.0/bin/img/TANK3_enemy_right_3.png , 7842
坦克大战3.0/bin/img/TANK3_enemy_up_1.png , 7526
坦克大战3.0/bin/img/TANK3_enemy_up_2.png , 7777
坦克大战3.0/bin/img/TANK3_enemy_up_3.png , 7800
坦克大战3.0/bin/img/TANK3_self_down_1.png , 7783
坦克大战3.0/bin/img/TANK3_self_down_2.png , 7900
坦克大战3.0/bin/img/TANK3_self_down_3.png , 7976
坦克大战3.0/bin/img/TANK3_self_left_1.png , 7721
坦克大战3.0/bin/img/TANK3_self_left_2.png , 7907
坦克大战3.0/bin/img/TANK3_self_left_3.png , 7998
坦克大战3.0/bin/img/TANK3_self_right_1.png , 7734
坦克大战3.0/bin/img/TANK3_self_right_2.png , 7883
坦克大战3.0/bin/img/TANK3_self_right_3.png , 8004
坦克大战3.0/bin/img/TANK3_self_up_1.png , 7740
坦克大战3.0/bin/img/TANK3_self_up_2.png , 7873
坦克大战3.0/bin/img/TANK3_self_up_3.png , 7983
坦克大战3.0/bin/img/wall_1.png , 7640
坦克大战3.0/bin/lightButton/button-normal-pressed.png , 3569
坦克大战3.0/bin/lightButton/button-normal.png , 3701
坦克大战3.0/bin/lightButton/header-halo.png , 3711
坦克大战3.0/bin/lightButton/LightButton$1.class , 1327
坦克大战3.0/bin/lightButton/LightButton.class , 6919
坦克大战3.0/bin/mapediter/MapEdit$ButtonX.class , 1578
坦克大战3.0/bin/mapediter/MapEdit.class , 5753
坦克大战3.0/bin/pic/0.jpg , 1877
坦克大战3.0/bin/pic/1.jpg , 1925
坦克大战3.0/bin/pic/2.jpg , 1877
坦克大战3.0/bin/pic/3.jpg , 1966
坦克大战3.0/bin/pic/4.jpg , 1562
坦克大战3.0/bin/pic/5.jpg , 1860
坦克大战3.0/bin/pic/6.jpg , 2035
坦克大战3.0/bin/pic/bg.png , 121501
坦克大战3.0/bin/pic/greenback.jpg , 828581
坦克大战3.0/bin/pic/items/0.jpg , 1877
坦克大战3.0/bin/pic/items/1.jpg , 1925
坦克大战3.0/bin/pic/items/2.jpg , 1877
坦克大战3.0/bin/pic/items/3.jpg , 1966
坦克大战3.0/bin/pic/items/4.jpg , 1562
坦克大战3.0/bin/pic/items/5.jpg , 1860
坦克大战3.0/bin/pic/items/6.jpg , 2035
坦克大战3.0/bin/pic/ITEMS.jpg , 40671
坦克大战3.0/bin/pic/start.jpg , 158705
坦克大战3.0/bin/pic/start2.jpg , 290850
坦克大战3.0/bin/pic/TANK1.jpg , 63137
坦克大战3.0/bin/pic/TANK2.jpg , 68534
坦克大战3.0/bin/pic/TANK3.jpg , 45479
坦克大战3.0/bin/pic/TANKS.jpg , 56400
坦克大战3.0/bin/pic/whiteback.jpg , 193678
坦克大战3.0/bin/tankwar/Abort.class , 1066
坦克大战3.0/bin/tankwar/Boom.class , 1776
坦克大战3.0/bin/tankwar/Help.class , 2356
坦克大战3.0/bin/tankwar/Item$1.class , 812
坦克大战3.0/bin/tankwar/Item.class , 4384
坦克大战3.0/bin/tankwar/Main$1.class , 986
坦克大战3.0/bin/tankwar/Main$2.class , 1622
坦克大战3.0/bin/tankwar/Main$PanelX.class , 1200
坦克大战3.0/bin/tankwar/Main.class , 6923
坦克大战3.0/bin/tankwar/Missle.class , 6069
坦克大战3.0/bin/tankwar/PanelShow.class , 2350
坦克大战3.0/bin/tankwar/Tank$1.class , 785
坦克大战3.0/bin/tankwar/Tank$Direction.class , 1105
坦克大战3.0/bin/tankwar/Tank.class , 10726
坦克大战3.0/bin/tankwar/TankWar$1.class , 3284
坦克大战3.0/bin/tankwar/TankWar$myPanel.class , 2814
坦克大战3.0/bin/tankwar/TankWar.class , 11181
坦克大战3.0/map/ermeng.map , 256
坦克大战3.0/map/h.map , 256
坦克大战3.0/map/hhh.map , 256
坦克大战3.0/map/LOVE.map , 256
坦克大战3.0/map/sss.map , 256
坦克大战3.0/map/test.map , 256
坦克大战3.0/map/xin.map , 256
坦克大战3.0/src/barrier/Barrier.java , 1002
最多只能显示150条信息!
没有账号? 忘记密码?

社交账号快速登录