- 4
- 0
- 约1.24万字
- 约 17页
- 2019-03-27 发布于湖北
- 举报
推箱子游戏
一、功能描述:
可以通过面板上的按钮或是键盘上的pageup,pagedown键选择上下关
可以通过面板上按钮或是键盘上的Backspace键后退,一直后退自己想要的位置,知道游戏开始时的位置。
可以通过面板上的按钮或是键盘上的字母r重新开始当前关卡游戏。
可以在复选框内选择想要玩的关卡。
二、界面及运行截图
三、源代码(三部分)
1、地图类
package box;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;//读取字符文件类FileReader
import java.io.IOException;
public class map {
int[][] map=new int[20][20];
int manX,manY;
public map(int level){
String filepath=mapc/+level+.txt;
File file = new File(filepath);
FileReader fr = null;//利用FileReader流来读取一个文件中的数据
BufferedReader br = null;//字符读到缓存里
try {
fr = new FileReader(file);
br = new BufferedReader(fr);
for (int i = 0; i 15; i++){
String line = br.readLine();//以行为单位,一次读一行 利用BufferedReader的readLine,读取分行文本
byte[] point = line.getBytes();//将字符串转换为字节数组
for (int j = 0; j 15; j++) {
map[i][j] = point[j] - 48;// 根据ASCall码表要减掉30H(十进制的48)
if (map[i][j] == 5 || map[i][j] == 6 || map[i][j] == 7|| map[i][j] == 8){
manX = i;
manY = j;
}
}
}
}
catch (FileNotFoundException e){
e.printStackTrace();//深层次的输出异常调用的流程
}
catch (IOException e){
e.printStackTrace();//深层次的输出异常调用的流程
}
catch(NullPointerException e){
e.printStackTrace();//深层次的输出异常调用的流程
}
finally {
if (br == null){
try{
br.close();
}
catch (IOException e){
e.printStackTrace();
}
br = null;
}
if (fr == null){
try {
fr.close();
} catch (IOException e){
e.printStackTrace();
}
fr = null;
}
}
}
public int[][] getMap() {
return map;
}
public int getManX() {
return manX;
}
public int getManY() {
return manY;
}
}
2、游戏运行类
package box;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import java.util.*;
import javax.swing.*;
public
原创力文档

文档评论(0)