java实现拼图小游戏
一个简单的拼图小游戏,供大家参考,具体内容如下
1.首先设计视图面板。
2.添加所需要的图片按钮。
3.最主要的是设计监听事件,添加图片的监听按钮,设定移动空白图片周围的按钮。
4.判断是否成功。
packagesxy;
importjava.awt.Choice;
importjava.awt.Image;
importjava.awt.Toolkit;
importjava.awt.event.MouseAdapter;
importjava.awt.event.MouseEvent;
importjava.awt.image.CropImageFilter;
importjava.awt.image.FilteredImageSource;
importjava.awt.image.ImageFilter;
importjava.util.Random;
importjavax.swing.Icon;
importjavax.swing.ImageIcon;
importjavax.swing.JButton;
importjavax.swing.JFrame;
importjavax.swing.JLabel;
importjavax.swing.JOptionPane;
importjavax.swing.JPanel;
publicclassPintuGame{
publicstaticvoidmain(Stringargs[]){
newPintuFrame().StartFrame();
}
}
classPintuFrameextendsJFrame{
privatestaticfinallongserialVersionUID=1L;
//等级设置
privatestaticintlevel=3;
//图片索引
privatestaticintindex=0;
//图片数量
privatestaticintpicCount=2;
//开始时间
privatelongstartTime;
//初始化小方块
privateJButton[]buttons;
//初始化空方块
privateJPanelemptyPanel=newJPanel();
//初始化监听类
privatePintuListenerlistener=newPintuListener();
//初始化Panel
privateJPanelpanel=newJPanel(null);
//图片预览
privateJLabellabel;
privateString[]imgpath=newString[picCount];
//选图时的图片路径
Stringpath;
publicPintuFrame(){
for(inti=0;i");
JLabelselLevel=newJLabel("LV:");
label=newJLabel(getIcon());//根据图标设置标签
finalChoicechoice=newChoice();//创建选择器
choice.add("--初级--");//添加列表项
choice.add("--中级--");
choice.add("--高级--");
selLevel.setBounds(5,0,20,20);//设置坐标
choice.setBounds(28,0,65,20);
start.setBounds(93,0,85,20);
left.setBounds(178,0,61,20);
right.setBounds(239,0,61,20);
label.setBounds(0,22,300,300);//设置标签的方位
panel.add(selLevel);
panel.add(choice);
panel.add(start);
panel.add(left);
panel.add(right);
panel.add(label);
panel.repaint();
add(panel);
setTitle("拼图游戏");
setBounds(450,130,300,322);
setResizable(false);
//添加关闭按钮
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setVisible(true);
//监听等级选择
start.addMouseListener(newMouseAdapter(){
@Override
publicvoidmousePressed(MouseEvente){
level=choice.getSelectedIndex()+3;
launchFrame();
}
});
//监听选图按钮<-
left.addMouseListener(newMouseAdapter(){
@Override
publicvoidmousePressed(MouseEvente){
if(index==0){
index=picCount-1;
path=imgpath[index];
}else{
path=imgpath[--index];
}
panel.remove(label);
label=newJLabel(getIcon());
label.setBounds(0,22,300,300);
panel.add(label);
panel.repaint();
}
});
//监听选图按钮->
right.addMouseListener(newMouseAdapter(){
@Override
publicvoidmousePressed(MouseEvente){
if(index==picCount-1){
index=0;
path=imgpath[index];
}else{
path=imgpath[++index];
}
panel.remove(label);
label=newJLabel(getIcon());
label.setBounds(0,22,300,300);
panel.add(label);
panel.repaint();
}
});
}
/**
*拼图窗体加载
*/
publicvoidlaunchFrame(){
startTime=System.currentTimeMillis();
panel.removeAll();
buttons=newJButton[level*level];
//设置图标组
Icon[]icon=newPintuFrame().creatIcon(path);
//小方块索引
intindex=0;
//小方块坐标
intx=0,y=0;
//设置小方块位置,图标,监听
for(inti=0;i
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。