📄 map.java
字号:
package s1java.xmal1;
public class Map {
int[] map=new int[100];
int[] luckyTurn={6,23,40,55,69,83};
int[] landMine={5,13,17,33,38,50,64,80,94};
int[] pause={9,27,60,93};
int[] timeTunnel={20,25,45,63,72,88,90};
public void createMap(){
int i=0;
//在对战地图上设置幸运轮盘
for(i=0;i<luckyTurn.length;i++){
map[luckyTurn[i]]=1;
}
//在对战地图上设置地雷
for(i=0;i<landMine.length;i++){
map[landMine[i]]=2;
}
//在对战地图上设置暂停
for(i=0;i<pause.length;i++){
map[pause[i]]=3;
}
//在对战地图上设置时空隧道
for(i=0;i<timeTunnel.length;i++){
map[timeTunnel[i]]=4;
}
}
/**
* 显示地图关卡对应的图形
* @param i 地图当前位置的关卡代号
* @param index 当前地图位置编号
* @param playerPos1 玩家1的当前位置
* @param playerPos2 玩家2的当前位置
* @return 地图当前位置的对应图片
*/
public String getGraph(int i,int index,int playerPos1,int playerPos2){
String graph="";
if(index==playerPos1&&index==playerPos2){
graph="@@";
}else if(index==playerPos1){
graph="A";
}else if(index==playerPos2){
graph="B";
}else{
switch(i){
case 1:
graph="¤"; //幸运轮盘
break;
case 2:
graph="★"; //地雷
break;
case 3:
graph="■"; //暂停
break;
case 4:
graph="〓"; //时空隧道
break;
default:
graph="∷";
break;
}
}
return graph;
}
/**
* 输出地图的奇数行(第1、3行)
* @param start 输出的起始点在地图上的位置
* @param end 输出的结束点在地图上的位置
* @param playerPos1 玩家1的当前位置
* @param playerPos2 玩家2的当前位置
*/
public void showLine1(int start,int end,int playerPos1,int playerPos2){
for(int i=start;i<=end;i++){
System.out.print(getGraph(map[i],i,playerPos1,playerPos2));
}
}
/**
* 输出地图的偶数行(第2行)
* @param start 输出的起始点在地图上的位置
* @param end 输出的结束点在地图上的位置
* @param playerPos1 玩家1的当前位置
* @param playerPos2 玩家2的当前位置
*/
public void showLine2(int start,int end,int playerPos1,int playerPos2){
for(int i=end;i>=start;i--){
System.out.print(getGraph(map[i],i,playerPos1,playerPos2));
}
}
/**
* 输出地图的右竖列
* @param start 输出的起始点在地图上的位置
* @param end 输出的结束点在地图上的位置
* @param playerPos1 玩家1的当前位置
* @param playerPos2 玩家2的当前位置
*/
public void showRLine(int start,int end,int playerPos1,int playerPos2){
for(int i=start;i<=end;i++){
for(int j=28;j>0;j--){
System.out.print(" "); //输出29个空格
}
System.out.print(getGraph(map[i],i,playerPos1,playerPos2));
System.out.println();
}
}
/**
* 输出地图的左竖列
* @param start 输出的起始点在地图上的位置
* @param end 输出的结束点在地图上的位置
* @param playerPos1 玩家1的当前位置
* @param playerPos2 玩家2的当前位置
*/
public void showLLine(int start,int end,int playerPos1,int playerPos2){
for(int i=start;i<=end;i++){
System.out.print(getGraph(map[i],i,playerPos1,playerPos2));
System.out.println();
}
}
/**
* 显示对战地图
* @param playerPos1 玩家1的当前位置
* @param playerPos2 玩家2的当前位置
*/
public void showMap(int playerPos1,int playerPos2){
showLine1(0,30,playerPos1,playerPos2);
System.out.println();
showRLine(31,34,playerPos1,playerPos2);
showLine2(35,65,playerPos1,playerPos2);
System.out.println();
showLLine(66,68,playerPos1,playerPos2);
showLine1(69,99,playerPos1,playerPos2);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -