一个找不同小游戏(游戏图片需自找)
来源:互联网 发布:python 论坛 编辑:程序博客网 时间:2024/06/02 05:02
//DifferFrame.java
package gg;
importjava.awt.Font;
importjava.awt.event.ActionEvent;
importjava.awt.event.ActionListener;
importjavax.swing.Icon;
importjavax.swing.ImageIcon;
importjavax.swing.JButton;
importjavax.swing.JFrame;
importjavax.swing.JLabel;
importjavax.swing.JOptionPane;
importjavax.swing.JPanel;
importjavax.swing.JTextField;
//声明DifferFrame类继承JFrame类并实现接口
public class DifferFrame extends JFrameimplements ActionListener{
JPanel pan; //声明面板对象
JButton btnBegin,btnCancel; //声明开始取消按钮
JLabel lab; //声明一个标签
Font font; //声明字体对象
JLabel lab1;
Icon icon=new ImageIcon("c.gif"); //创建Icon对象引用图片
DifferFrame(String s){ //构造方法
super(s); //调用父类构造方法
this.setSize(500,400); //设置框架大小
this.setLocationRelativeTo(null); //将框架居中显示
pan=new JPanel(); //创建面板对象
this.setContentPane(pan); //将面板放在框架上
lab=new JLabel(icon); //创建带有图片的标签
pan.add(lab); //将标签放在面板上
lab=new JLabel("游戏开始?"); //创建标签对象
//设置当前字体,加粗,25号
font=new Font("游戏开始?",Font.BOLD,25);
lab.setFont(font); //将字体应用于标签
pan.add(lab); //将标签放在面板上显示
btnBegin=new JButton("开始"); //创建带有文字的按钮
//设置当前字体,加粗,20号
font=new Font("开始",Font.BOLD,20);
btnBegin.setFont(font); //将字体应用于按钮
btnCancel=new JButton("取消");
font=new Font("取消",Font.BOLD,20);
btnCancel.setFont(font);
//给按钮增加事件监听
btnBegin.addActionListener(this);
btnCancel.addActionListener(this);
pan.add(btnBegin); //将按钮放在面板上
pan.add(btnCancel);
//设置用户单击框架右上角关闭按钮时执行的操作为退出应用程序
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setVisible(true); //设置窗口可见性
}
//实现ActionListener接口中的actionPerformed方法
public void actionPerformed(ActionEvent e){
if(e.getSource()==btnBegin){ //判断事件源
setVisible(false); //将当前窗口设置为不可见
//创建开始游戏框架
Frame1 frm=new Frame1("找不同小游戏");
}
if(e.getSource()==btnCancel){
setVisible(false);
//弹出游戏结束对话框
JOptionPane.showMessageDialog(null,
"游戏结束", //对话框内显示文字的字符串
"找不同小游戏", //对话框标题栏文字的字符串
JOptionPane.ERROR_MESSAGE);
}
}
}
//声明Frame1类继承JFrame类并实现接口
class Frame1extends JFrame implements ActionListener{
JPanel pan1;
JLabel lab1,lab2;
JTextField tf;
JButton btnOK;
Icon icon;
Font font;
static int i=0,n=0; //声明一个静态变量i和n
//使用String数组存放图标名称
String a[]={"01.jpg","02.jpg","03.png","04.png","05.png","06.jpg","07.jpg","08.png","09.png","10.jpg"};
//使用String数组存放答案
String b[]={"6","6","5","5","4","5","9","5","4","6"};
Frame1(String s){ //构造方法
super(s);
this.setSize(500,400);
this.setLocationRelativeTo(null);
pan1=new JPanel();
this.setContentPane(pan1);
lab1=new JLabel("找一找下图中有几处不同?");
font=new Font("找一找下图中有几处不同?",Font.BOLD,22);
lab1.setFont(font);
icon=new ImageIcon(a[i]);
lab2=new JLabel(icon);
tf=new JTextField(10); //构造一个列数为10的空文本框
btnOK=new JButton("OK");
btnOK.addActionListener(this);
pan1.add(lab1);
pan1.add(lab2);
pan1.add(tf);
pan1.add(btnOK);
setVisible(true);
}
//实现ActionListener接口中的actionPerformed方法
public void actionPerformed(ActionEvent e){
if(e.getSource()==btnOK){
//判断从文本框中获取的答案是否和电脑所给答案相同
if(tf.getText().equals(b[i])){
if(i<9){
setVisible(false);
i=i+1;
Frame1 frm=new Frame1("找不同小游戏");
}
else{
//弹出过关对话框
if(n==0){
JOptionPane.showMessageDialog(null,
"恭喜你一次性通关,等级为A哦",
"找不同小游戏",
JOptionPane.ERROR_MESSAGE);
}
if(n>0&&n<=3){
JOptionPane.showMessageDialog(null,
"恭喜你通关了,就答错了两三次,等级为B哦",
"找不同小游戏",
JOptionPane.ERROR_MESSAGE);
}
if(n>4){
JOptionPane.showMessageDialog(null,
"过关不是很顺利呀,等级为C哦",
"找不同小游戏",
JOptionPane.ERROR_MESSAGE);
}
}
}
else{
JOptionPane.showMessageDialog(null,
"还有几处没找到,再找找看吧",
"找不同小游戏",
JOptionPane.ERROR_MESSAGE);
n++;
}
}
}
}
//DifferDemo.java
package gg;
public class DifferDemo {
public static void main(String[] args) {
// TODOAuto-generated method stub
DifferFrame dif=new DifferFrame("找不同小游戏");
}
}
- 一个找不同小游戏(游戏图片需自找)
- hdu 2095 找数不同的一个
- Android游戏——学习小结(一个简单的设计小游戏)动画射击
- Android游戏——学习小结(一个简单的设计小游戏)动画射击
- 从无到有写一个C#弹球小游戏(完)(附上游戏完成的截图)
- Javascript实现找不同色块的游戏
- 找不同
- 找不同
- 找不同
- 找不同。。。
- H5小游戏定制开发,微信游戏定制开发公司 -找向阳花科技!
- 需找游戏外挂制作
- DirectX游戏开发——从一个小游戏开始
- 一个小游戏
- 一个小游戏
- 一个小游戏
- 一个小游戏
- 一个小游戏
- iOS的自动打包 【 Xcode + git + jenkins 】
- java的动态代理机制详解
- Android7.1 Selinux使用
- 四大组件之Activity
- 存储过程和视图的区别
- 一个找不同小游戏(游戏图片需自找)
- ckeditor 上传图片返回的js代码无效
- 开通
- "mactex-20170524.pkg"已损坏,打不开。您应该将它移到废纸篓
- Spring自动扫描与自动装配
- C++中的static关键字
- CodeBlocks——windows配置
- hdu 6004 Periodical Cicadas [2016 CCPC-Final F] [同余]
- linux内容概述