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;
}
}
资源文件列表
坦克大战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条信息!
