package test;
import java.awt.BorderLayout;
import java.awt.EventQueue;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
import java.awt.Color;
import java.awt.Cursor;
import java.awt.Graphics;
import java.awt.Image;
import java.awt.Toolkit;
import javax.swing.JLabel;
import java.awt.Font;
import javax.swing.border.MatteBorder;
import javax.swing.JButton;
import javax.swing.ImageIcon;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.awt.image.BufferedImage;
import java.util.*;
import javax.swing.JOptionPane;
import javax.swing.JTextField;
import javax.swing.SwingConstants;
import javax.swing.JTextArea;
public class GUI extends JFrame {
/**
*
*/
private static final long serialVersionUID = 1L;
private JPanel contentPane;
private JTextField textField;
private JTextField textField_1;
private JTextField textField_2;
int windowwidth=800;
int windowheight=680;
JPanel panel = new JPanel();
JLabel now;
JPanel panel_2;
JPanel panel_3;
BufferedImage img3;
int sizel;
int sizeh;
int x,y,time;
int [][] Map;
int castlewidth=0;
int castleheight = 0;
int guardnum=0;
JLabel [][] picture;
private JTextField txtGo;
private JTextField txtTime;
/**
* Launch the application.
*/
public static void main(String [] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
GUI frame = new GUI();
frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
/**
* Create the frame.
*/
public GUI() {
setIconImage(Toolkit.getDefaultToolkit().getImage(GUI.class.getResource("/picture/6.jpg")));
setTitle("save the princess");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setResizable(false);
setSize(windowwidth,windowheight);
int screenWidth = (int)Toolkit.getDefaultToolkit().getScreenSize().width;
int screenHeight = (int)Toolkit.getDefaultToolkit().getScreenSize().height;
setLocation((screenWidth-windowwidth)/2,(screenHeight-windowheight)/2);
//setBounds(100, 100, 450, 300);
contentPane = new JPanel();
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
contentPane.setLayout(new BorderLayout(0, 0));
setContentPane(contentPane);
panel.setBackground(Color.WHITE);
contentPane.add(panel, BorderLayout.CENTER);
panel.setLayout(null);
JLabel lblNewLabel_2 = new JLabel("");
lblNewLabel_2.setBounds(185, 62, 401, 89);
panel.add(lblNewLabel_2);
lblNewLabel_2.setIcon(new ImageIcon(Toolkit.getDefaultToolkit().getImage(GUI.class.getResource("/picture/3.png"))));
lblNewLabel_2.setVisible(true);
/*ImageIcon icon = new ImageIcon("E:\\java\u6587\u4EF6\\save the princess\\\u7D20\u6750\\1.jpg");
icon.setImage(icon.getImage().getScaledInstance(icon.getIconWidth(),
icon.getIconHeight(), Image.SCALE_DEFAULT));
JLabel jlpic = new JLabel();
jlpic.setBounds(0, 0, 1366, 768);
jlpic.setHorizontalAlignment(0);
jlpic.setIcon(icon);
panel.add(jlpic);
//Graphics g=new Graphics();
//Image a = Image.createImag("/src/welcome.png");
*/
JPanel panel_4 = new JPanel();
panel_4.setBackground(new Color(255, 255, 255));
panel_4.setBounds(0, 153, 784, 348);
panel.add(panel_4);
panel_4.setLayout(null);
JPanel GImage = new JPanel() {
/**
*
*/
private static final long serialVersionUID = 1L;
protected void paintComponent(Graphics g) {
ImageIcon icon = new ImageIcon(Toolkit.getDefaultToolkit().getImage(GUI.class.getResource("/picture/1.png")));
Image img = icon.getImage();
g.drawImage(img, 0, 0, 754,155, icon.getImageObserver());
}
};
GImage.setBounds(0, 477, 784, 155);
panel.add(GImage);
JPanel panel_1 = new JPanel();
panel_1.setBounds(168, 200, 435, 235);
panel.add(panel_1);
panel_1.setBorder(new MatteBorder(9, 1, 9, 1, (Color) new Color(0, 191, 255)));
panel_1.setBackground(new Color(176, 224, 230));
panel_1.setLayout(null);
panel_1.setVisible(false);
JLabel lblPleaseEnterThe = new JLabel("please enter the length of the castle:");
lblPleaseEnterThe.setFont(new Font("宋体", Font.PLAIN, 15));
lblPleaseEnterThe.setToolTipText("");
lblPleaseEnterThe.setBounds(10, 34, 312, 38);
panel_1.add(lblPleaseEnterThe);
JLabel lblNewLabel = new JLabel("please enter the width of the castle:");
lblNewLabel.setFont(new Font("宋体", Font.PLAIN, 15));
lblNewLabel.setBounds(10, 75, 312, 38);
panel_1.add(lblNewLabel);
JLabel lblNewLabel_1 = new JLabel("please enter the number of the guard:");
lblNewLabel_1.setFont(new Font("宋体", Font.PLAIN, 15));
lblNewLabel_1.setBounds(10, 117, 312, 38);
panel_1.add(lblNewLabel_1);
textField = new JTextField("");
textField.setBounds(322, 43, 66, 21);
panel_1.add(textField);
textField.setColumns(10);
textField_1 = new JTextField("");
textField_1.setBounds(322, 84, 66, 21);
panel_1.add(textField_1);
textField_1.setColumns(10);
textField_2 = new JTextField("");
textField_2.setBounds(322, 126, 66, 21);
panel_1.add(textField_2);
textField_2.setColumns(10);
panel_3= new JPanel();
panel_3.setVisible(false);
/*
panel_3.setBackground(new Color(255, 255, 255));
panel_3.setBounds(0, 30, 784, 613);
panel.add(panel_3);
panel_3.setLayout(null);
panel_3.setVisible(true);
*/
//确定按钮
JButton button = new JButton("\u786E\u5B9A");
button.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
String s="";
boolean flag=false;
try{
castleheight=Integer.parseInt(textField.getText());
}catch(Exception e1){
s+=textField.getText();
flag=true;
}
try{
castlewidth=Integer.parseInt(textField_1.getText());
}catch(Exception e1){
if(s.equals("")==false)s+='、';
s+=textField_1.getText();
flag=true;
}
try{
guardnum=Integer.parseInt(textField_2.getText());
}catch(Exception e1){
if(s.equals("")==false)s+='、';
s+=textField_2.getText();
flag=true;
}
if(s.equals("")==false){
JOptionPane.showMessageDialog(new GUI(), s+"输入不正确","输入不正确",2);
textField.setText("");
textField_1.setText("");
textField_2.setText("");
return;
}
else if(flag==true){
JOptionPane.showMessageDialog(new GUI(), "输入不能为空","输入不正确",2);return;
}
else if(castleheight>50 || castlewidth>50 || guardnum>castleheight*castlewidth-3){
if(castleheight>50&& castlewidth>50) s="地图太大:castleheight>50 && castlewidth>50";
else if( castlewidth>50)s="地图太大 :castlewidth>50";
else if(castleheight>50)s="地图太大:castleheight>50";
else if(guardnum>castleheight*castlewidth-3)s="敌人数过多";
JOptionPane.showMessageDialog(new GUI(),s ,"输入不正确",2);
textField.setText("");
textField_1.setText("");
textField_2.setText("");
return;
}
panel_3= new JPanel();
panel_3.setBackground(new Color(255, 255, 255));
panel_3.setBounds(0, 30, 784, 613);
panel.add(panel_3);
panel_3.setLayout(null);
panel_3.setVisible(true);
panel_1.setVisible(false);
lblNewLabel_2.setVisible(false);
//GImage.setVisible(true);
GImage.setVisible(false);
//txtGo.setVisible(true);
Printpicture();
/*JLabel lblNewLabel_3 = new JLabel("");
lblNewLabel_3.setBounds(0, 0, windowwidth/castlewidth, windowheight/castleheight);
panel.add(lblNewLabel_3);
lblNewLabel_3.setIcon(new ImageIcon("E:\\java\u6587\u4EF6\\save the princess\\\u7D20\u6750\\7.jpg"));
lblNewLabel_3.setVisible(true);
//lblNewLabel_2.setVisible(false);
*/
//JLabel [][] picture;
//Random rand
没有合适的资源?快使用搜索试试~ 我知道了~
java实现的一款拯救公主的小游戏(游戏中广搜代码部分还没实现).zip
共84个文件
jpg:32个
class:22个
gif:12个
0 下载量 116 浏览量
2023-09-10
14:00:20
上传
评论
收藏 4.84MB ZIP 举报
温馨提示
用java写的项目,项目可以直接运行,请放心下载使用。
资源推荐
资源详情
资源评论
收起资源包目录
java实现的一款拯救公主的小游戏(游戏中广搜代码部分还没实现).zip (84个子文件)
63
save the princess
.classpath 295B
.settings
org.eclipse.jdt.core.prefs 587B
src
picture
2.jpg 8KB
6.gif 57KB
10.jpg 17KB
3.png 10KB
13.jpg 7KB
14.jpg 38KB
6.jpg 5KB
15.jpg 8KB
16.jpg 15KB
1.jpg 34KB
1.jpeg 17KB
1.png 282KB
5.gif 204KB
12.jpg 6KB
5.jpg 18KB
2.gif 452KB
8.jpg 13KB
5.png 2KB
4.png 4KB
11.jpg 5KB
3.gif 24KB
1.gif 185KB
4.gif 78KB
3.jpg 13KB
7.jpg 5KB
2.png 11KB
9.jpg 138KB
4.jpg 45KB
test
GUI.java 22KB
Help.java 4KB
test
GUI$7.class 1KB
GUI$6.class 1KB
Help.class 3KB
GUI$1.class 685B
GUI$5.class 637B
GUI.class 12KB
GUI$MoveListener.class 3KB
GUI$3.class 2KB
GUI$8.class 689B
GUI$4.class 817B
GUI$2.class 1KB
bin
picture
2.jpg 8KB
6.gif 57KB
10.jpg 17KB
3.png 10KB
13.jpg 7KB
14.jpg 38KB
6.jpg 5KB
15.jpg 8KB
16.jpg 15KB
1.jpg 34KB
1.jpeg 17KB
1.png 282KB
5.gif 204KB
12.jpg 6KB
5.jpg 18KB
2.gif 452KB
8.jpg 13KB
5.png 2KB
4.png 4KB
11.jpg 5KB
3.gif 24KB
1.gif 185KB
4.gif 78KB
3.jpg 13KB
7.jpg 5KB
2.png 11KB
9.jpg 138KB
4.jpg 45KB
test
GUI$7.class 1KB
GUI$6.class 1KB
Help.class 3KB
GUI$1.class 682B
GUI$5.class 631B
GUI.class 12KB
GUI$MoveListener.class 3KB
GUI$3.class 3KB
GUI$8.class 683B
GUI$4.class 805B
GUI$2.class 1KB
.project 376B
save the princess.jar 1.61MB
共 84 条
- 1
资源评论
c++服务器开发
- 粉丝: 3042
- 资源: 4463
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功