文档详情

java推箱子的主要程序.docx

发布:2017-12-10约1.65万字共19页下载文档
文本预览下载声明
GameFrame.java主程序//6-18完成//推箱子带音乐版//右键单击--悔棋功能//用时1:40分钟import java.awt.Color;import java.awt.Container;import java.awt.Font;import java.awt.Graphics;import java.awt.Image;import java.awt.Toolkit;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.awt.event.ItemEvent;import java.awt.event.KeyEvent;import java.awt.event.KeyListener;import java.awt.event.MouseEvent;import java.awt.event.MouseListener;import java.io.File;import java.util.ArrayList;import javax.sound.midi.MidiSystem;import javax.sound.midi.Sequence;import javax.sound.midi.Sequencer;import javax.swing.JFrame;import javax.swing.JOptionPane;public class GameFrame extends JFrame implements ActionListener, MouseListener// 主面板类, KeyListener {private int grade = 0;// row,column记载人的行号 列号// leftX,leftY 记载左上角图片的位置 避免图片从(0,0)坐标开始private int row = 7, column = 7, leftX = 0, leftY = 0;// 记载地图的行列数private int mapRow = 0, mapColumn = 0;// width,height 记载屏幕的大小private int width = 0, height = 0;private boolean acceptKey = true;// 程序所用到的图片private Image pic[] = null;// 定义一些常量,对应地图的元素final byte WALL = 1, BOX = 2, BOXONEND = 3, END = 4, MANDOWN = 5,MANLEFT = 6, MANRIGHT = 7, MANUP = 8, GRASS = 9, MANDOWNONEND = 10,MANLEFTONEND = 11, MANRIGHTONEND = 12, MANUPONEND = 13;private byte[][] map = null;private ArrayList list = new ArrayList();Sound sound;public void getManPosition() {for (int i = 0; i map.length; i++)for (int j = 0; j map[0].length; j++)if (map[i][j] == MANDOWN || map[i][j] == MANDOWNONEND|| map[i][j] == MANUP || map[i][j] == MANUPONEND|| map[i][j] == MANLEFT || map[i][j] == MANLEFTONEND|| map[i][j] == MANRIGHT || map[i][j] == MANRIGHTONEND) {row = i;column = j;break;}}/* 显示提示信息对话框 */public void DisplayToast(String str) {JOptionPane.showMessageDialog(null, str, 提示,JOptionPane.ERROR_MESSAGE);}// 撤销移动public void undo() {if (acceptKey) {// 撤销if (list.size() 0) {// 若要撤销 必须走过Map priorMap = (Map) list.get(list.size() - 1);map = priorMap.getMap();row = priorMap.getManX();column = priorMap.g
显示全部
相似文档