📄 maze.java
字号:
import java.io.*;
class Maze
{
// Maze : 0,0 - 15,20
final static int HEIGHT=11; //16
final static int WIDTH=11; //21
int horizontalWalls[][]=new int[11][11];
int verticalWalls[][]=new int[11][11];
// int horizontalWalls[][]=new int[HEIGHT-1][WIDTH];
// int verticalWalls[][]=new int[HEIGHT][WIDTH-1];
int maps[][][][]={ // map x hori/vert x row|col x byte
{ // map1
{ // hori
{0xff,200,255},{25,87,109},{47,70,81},{52,30,69},{88,92,42},
{47,78,81},{52,34,32},{88,92,43},{100,145,22},{32,145,10},
{52,34,66},{47,78,89},{5,18,89},{47,7,89},{255,200,255},
},
{ // vert
{55,20,25},{52,34,66},{88,92,43},{11,110,11},{232,145,100},
{202,56,131},{100,145,232},{52,34,66},{47,7,89},{2,134,61},
{47,78,89},{111,32,78},{22,20,43},{205,200,255},
}
}
};
int bitHorizontalWalls[][]=new int[11][2];
int bitVerticalWalls[][]=new int[11][2];
// int bitHorizontalWalls[][]=maps[0][0];
// int bitVerticalWalls[][]=maps[0][1];
public void loadMaze(int id)
{
int i, j, data;
try {
String fname="/sep"+id+".map";
InputStream inputstream=getClass().getResourceAsStream(fname);
DataInputStream datainputstream=new DataInputStream(inputstream);
for( i=0;i<11;i++ ) {
for( j=0;j<2;j++ ) {
data=datainputstream.readByte();
// System.err.println(data);
bitHorizontalWalls[i][j]=data;
}
}
for( i=0;i<11;i++ ) {
for( j=0;j<2;j++ ) {
data=datainputstream.readByte();
// System.err.println(data);
bitVerticalWalls[i][j]=data;
}
}
}
catch(Exception e) {
System.err.println(e);
}
for( i=0;i<horizontalWalls.length-1;i++ ) {
for( j=0;j<horizontalWalls[i].length;j++ ) {
horizontalWalls[i][j]=( bitHorizontalWalls[i+1][j/8] >> (7-j%8) ) & 1;
}
}
for( i=0;i<verticalWalls.length-1;i++ )
for( j=0;j<verticalWalls[i].length;j++ ) {
verticalWalls[i][j]=( bitVerticalWalls[i][(j+1)/8] >> (7-(j+1)%8) ) & 1;
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -