📄 map.java
字号:
package com.hlfly.entity;
public class Map {
/**
* @map 地图
* @luck 幸运轮盘 ¤1
* @time 时空隧道 〓2
* @landmine 地雷 ★3
* @pause 暂停 ■4
*/
public int[] map=new int[100];
int[] luck={6,9,21,27,56,66,78,96};
int time[]={22,52,61,86,90};
int landmine[]={5,14,23,32,53,71,91};
int pause[]={4,15,19,42,67,81};
/**
* 构造函数(初始化地图)
*
*/
public Map(){
//定义幸运轮盘的位置
for(int i=0;i<luck.length;i++){
map[luck[i]]=1;
}
//定义时间隧道的位置
for(int i=0;i<time.length;i++){
map[time[i]]=2;
}
//定义地雷的位置
for(int i=0;i<landmine.length;i++){
map[landmine[i]]=3;
}
//定义暂停的位置
for(int i=0;i<pause.length;i++){
map[pause[i]]=4;
}
}
/**
* 显示地图关卡位置对应的图形
* @param index 地图上当前位置的编号
* @param type 地图上对应位置的关卡类型
* @param playpost1 玩家1的位置
* @param playpost2 玩家2的位置
* @return
*/
public String getGraph(int index,int type,int playpost1,int playpost2){
String temp="";
if(playpost1==index&&playpost1==playpost2){
temp="@@";
}else if(playpost1==index){
temp=" A";
}else if(playpost2==index){
temp=" B";
}else{
switch(type){
case 1:
temp="¤";
break;
case 2:
temp="〓";
break;
case 3:
temp="★";
break;
case 4:
temp="■";
break;
default:
temp="∷";
}
}
return temp;
}
/**
* 输出奇数行(第一,三行)
* @param start 输出的起始点在地图上的位置
* @param end 输出的终点在地图上的位置
* @param playpost1 玩家1在地图上的位置
* @param playpost2 玩家2在地图上的位置
*/
public void showLine13(int start,int end,int playpost1,int playpost2){
for(int i=start-1;i<end;i++){
System.out.print(getGraph(i,map[i],playpost1,playpost2));
}
}
/**
* 输出偶数行(第二行)
* @param start 输出的起始点在地图上的位置
* @param end 输出的终点在地图上的位置
* @param playpost1 玩家1在地图上的位置
* @param playpost2 玩家2在地图上的位置
*/
public void showLine2(int start,int end,int playpost1,int playpost2){
for(int i=end-1;i>=start-1;i--){
System.out.print(getGraph(i,map[i],playpost1,playpost2));
}
}
/**
* 输出右竖列
* @param start 输出的起始点在地图上的位置
* @param end 输出的终点在地图上的位置
* @param playpost1 玩家1在地图上的位置
* @param playpost2 玩家2在地图上的位置
*/
public void showLineRight(int start,int end,int playpost1,int playpost2){
for(int i=start-1;i<end;i++){
for(int j=0;j<27;j++){
System.out.print(" ");
}
System.out.println(getGraph(i,map[i],playpost1,playpost2));
}
}
/**
* 输出左竖列
* @param start 输出的起始点在地图上的位置
* @param end 输出的终点在地图上的位置
* @param playpost1 玩家1在地图上的位置
* @param playpost2 玩家2在地图上的位置
*/
public void showLineLeft(int start,int end,int playpost1,int playpost2){
for(int i=start-1;i<end;i++){
System.out.println(getGraph(i,map[i],playpost1,playpost2));
}
}
/**
* 得到对战地图的方法
* @param playpost1 玩家1在地图上的位置
* @param playpost2 玩家2在地图上的位置
*/
public void getMap(int playpost1,int playpost2){
showLine13(1,30,playpost1,playpost2);
System.out.print("\n");
showLineRight(31,35,playpost1,playpost2);
showLine2(36,65,playpost1,playpost2);
System.out.print("\n");
showLineLeft(66,70,playpost1,playpost2);
showLine13(71,100,playpost1,playpost2);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -