欢迎来到天天文库
浏览记录
ID:38198161
大小:21.84 KB
页数:19页
时间:2019-06-07
《java推箱子的主要程序》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、GameFrame.java主程序//6-18完成//推箱子带音乐版//右键单击--悔棋功能//用时1:40分钟importjava.awt.Color;importjava.awt.Container;importjava.awt.Font;importjava.awt.Graphics;importjava.awt.Image;importjava.awt.Toolkit;importjava.awt.event.ActionEvent;importjava.awt.event.ActionListener;importjava.awt.
2、event.ItemEvent;importjava.awt.event.KeyEvent;importjava.awt.event.KeyListener;importjava.awt.event.MouseEvent;importjava.awt.event.MouseListener;importjava.io.File;importjava.util.ArrayList;importjavax.sound.midi.MidiSystem;importjavax.sound.midi.Sequence;importjavax.sound
3、.midi.Sequencer;importjavax.swing.JFrame;importjavax.swing.JOptionPane;publicclassGameFrameextendsJFrameimplementsActionListener,MouseListener//主面板类,KeyListener{privateintgrade=0;//row,column记载人的行号列号//leftX,leftY记载左上角图片的位置避免图片从(0,0)坐标开始privateintrow=7,column=7,leftX=0,leftY
4、=0;//记载地图的行列数privateintmapRow=0,mapColumn=0;//width,height记载屏幕的大小privateintwidth=0,height=0;privatebooleanacceptKey=true;//程序所用到的图片privateImagepic[]=null;//定义一些常量,对应地图的元素finalbyteWALL=1,BOX=2,BOXONEND=3,END=4,MANDOWN=5,MANLEFT=6,MANRIGHT=7,MANUP=8,GRASS=9,MANDOWNONEND=10,MA
5、NLEFTONEND=11,MANRIGHTONEND=12,MANUPONEND=13;privatebyte[][]map=null;privateArrayListlist=newArrayList();Soundsound;publicvoidgetManPosition(){for(inti=0;i6、7、map[i][j]==MANDOWNONEND8、9、map[i][j]==MANUP10、11、map[i]12、[j]==MANUPONEND13、14、map[i][j]==MANLEFT15、16、map[i][j]==MANLEFTONEND17、18、map[i][j]==MANRIGHT19、20、map[i][j]==MANRIGHTONEND){row=i;column=j;break;}}/*显示提示信息对话框*/publicvoidDisplayToast(Stringstr){JOptionPane.showMessageDialog(null,str,"提示",JOptionPane.ERROR_MESSAGE);}//撤销移动publicvoidundo(){21、if(acceptKey){//撤销if(list.size()>0){//若要撤销必须走过MappriorMap=(Map)list.get(list.size()-1);map=priorMap.getMap();row=priorMap.getManX();column=priorMap.getManY();repaint();list.remove(list.size()-1);}elseDisplayToast("不能再撤销!");}else{DisplayToast("此关已完成,不能撤销!");}}publicvoidnextG22、rade(){//grade++;if(grade>=MapFactory.getCount()-1){DisplayToast("恭喜你完成所有关卡!");acc
6、
7、map[i][j]==MANDOWNONEND
8、
9、map[i][j]==MANUP
10、
11、map[i]
12、[j]==MANUPONEND
13、
14、map[i][j]==MANLEFT
15、
16、map[i][j]==MANLEFTONEND
17、
18、map[i][j]==MANRIGHT
19、
20、map[i][j]==MANRIGHTONEND){row=i;column=j;break;}}/*显示提示信息对话框*/publicvoidDisplayToast(Stringstr){JOptionPane.showMessageDialog(null,str,"提示",JOptionPane.ERROR_MESSAGE);}//撤销移动publicvoidundo(){
21、if(acceptKey){//撤销if(list.size()>0){//若要撤销必须走过MappriorMap=(Map)list.get(list.size()-1);map=priorMap.getMap();row=priorMap.getManX();column=priorMap.getManY();repaint();list.remove(list.size()-1);}elseDisplayToast("不能再撤销!");}else{DisplayToast("此关已完成,不能撤销!");}}publicvoidnextG
22、rade(){//grade++;if(grade>=MapFactory.getCount()-1){DisplayToast("恭喜你完成所有关卡!");acc
此文档下载收益归作者所有