package 大富翁;
public class Map {
//定义一个数组,表示棋盘的总格子数
int[] mapPointNumber = new int[56];
//定义一个数组,表示棋盘中的街道1
int[] streetOne = {0,1,2,3,4};
//定义一个数组,表示棋盘中的街道2
int[] streetTwo = {6,7,8,9,10};
//定义一个数组,表示棋盘中的街道3
int[] streetThree = {12,13,14,15,16};
//定义一个数组,表示棋盘中的街道4
int[] streetFour = {20,21,22,23,24};
//定义一个数组,表示棋盘中的街道5
int[] streetFive = {28,29,30,31,32};
//定义一个数组,表示棋盘中的街道6
int[] streetSix = {34,35,36,37,38};
//定义一个数组,表示棋盘中的街道7
int[] streetSeven = {40,41,42,43,44};
//定义一个数组,表示棋盘中的街道8
int[] streetEight = {50,51,52,53,54};
//定义一个数组,表示棋盘中的新闻事件点
int[] newsPoint = {11,39};
//定义一个数组,表示棋盘中的银行事件点
int[] bankPoint = {17,46};
//定义一个数组,表示棋盘中的道具屋所在点
int[] itemPoint = {5,33};
//定义一个数组,表示棋盘中的点券赠送点
int[] giveTicketPoint = {18,19,45,47};
//定义一个数组,表示棋盘中的道具卡赠送点
int[] giveItemCardPoint = {27,48};
//定义一个数组,表示棋盘中的彩票点
int[] lotteryPoint = {25,55};
//定义一个数组,表示棋盘中的空事件点
int[] nothingPoint = {26,49};
//定义两个玩家的初始位置
int state1 = 0 , state2 = 0;
//给每个棋盘格子一个符合自身属性的初始状态的数字,以便之后返回图标给格子
public void initial(){
for(int i = 0;i<streetOne.length;i++){
mapPointNumber[streetOne[i]] = 1;
}
for(int i = 0;i<streetTwo.length;i++){
mapPointNumber[streetTwo[i]] = 2;
}
for(int i = 0;i<streetThree.length;i++){
mapPointNumber[streetThree[i]] = 3;
}
for(int i = 0;i<streetFour.length;i++){
mapPointNumber[streetFour[i]] = 4;
}
for(int i = 0;i<streetFive.length;i++){
mapPointNumber[streetFive[i]] = 5;
}
for(int i = 0;i<streetSix.length;i++){
mapPointNumber[streetSix[i]] = 6;
}
for(int i = 0;i<streetSeven.length;i++){
mapPointNumber[streetSeven[i]] = 7;
}
for(int i = 0;i<streetEight.length;i++){
mapPointNumber[streetEight[i]] = 8;
}
for(int i = 0;i<newsPoint.length;i++){
mapPointNumber[newsPoint[i]] = 15;
}
for(int i = 0;i<bankPoint.length;i++){
mapPointNumber[bankPoint[i]] = 9;
}
for(int i = 0;i<itemPoint.length;i++){
mapPointNumber[itemPoint[i]] = 10;
}
for(int i = 0;i<giveTicketPoint.length;i++){
mapPointNumber[giveTicketPoint[i]] = 11;
}
for(int i = 0;i<giveItemCardPoint.length;i++){
mapPointNumber[giveItemCardPoint[i]] = 12;
}
for(int i = 0;i<lotteryPoint.length;i++){
mapPointNumber[lotteryPoint[i]] = 13;
}
for(int i = 0;i<nothingPoint.length;i++){
mapPointNumber[nothingPoint[i]] = 14;
}
}
//定义一个函数,用来返回当前状态每个棋盘点的图标
public String getIcon1(int num,int player1,int player2){
if(num == player1 && player1 == player2){
return "*";
}
else if(num == player1){
return "*";
}
else if(num == player2){
return "*";
}
else{
switch(mapPointNumber[num]){
case 1:
case 2:
case 3:
case 4:
case 5:
case 6:
case 7:
case 8: return "*";
case 15: return "新";
case 9: return "银";
case 10: return "道";
case 11: return "券";
case 12: return "卡";
case 13: return "彩";
case 14: return "空";
default: return null;
}
}
}
//定义一个函数,用来返回原始状态每个棋盘点的图标
public String getIcon0(int num){
switch(mapPointNumber[num]){
case 1:
case 2:
case 3:
case 4:
case 5:
case 6:
case 7:
case 8: return "*";
case 15: return "新";
case 9: return "银";
case 10: return "道";
case 11: return "券";
case 12: return "卡";
case 13: return "彩";
case 14: return "空";
default: return null;
}
}
//定义一个函数,用于画出当前状态的棋盘
public void printMap1(){
printLine1(0,19);
printOtherLines(21);
printLine2(29,48);
}
//定义一个函数,用于画出棋盘第一行(从左向右)
public void printLine1(int start, int end){
for(int i = start; i<=end; i++){
System.out.print(getIcon1(i, state1, state2)+ " ");
}
System.out.println();//第一行打印完换行
}
//定义一个函数,用于画出棋盘的最后一行(从右向左)
public void printLine2(int start, int end){
for(int i = end; i<=start; i--){
System.out.print(getIcon1(i, state1, state2)+ " ");
}
System.out.println();//打印完换行
}
//定义一个函数,用于画出棋盘的其余行
public void printOtherLines(int start){
int i = start-1;
for(int j = 55; j>=48;j--){
System.out.print(getIcon1(j, state1, state2));
for(int k = 0; k < 8;k++){
System.out.print(" ");
}
System.out.print(getIcon1(i++, state1, state2) + "\n");
}
}
}
上面这是我的Map类的代码
除了不能编译这个问题以外,我的棋盘的最后一行也画不出来
请各位大大,帮忙看一下是为什么,谢谢了