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 }; // 时空隧道 /**
 * 生成地图: 关卡代号为:1:幸运轮盘 2:地雷 3: 暂停 4:时空隧道 0:普通
 */
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;
}
}
开始那个数组声明,为什么map只声明100个空间,而底下数组具体数组都要声明出来?
这里数组map[***[i]]什么意思啊?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); // 显示地图第3行
}
我是新手不是太熟悉java。现在看到青鸟教材里一般上面那样的代码之写成showMap();而没有上面那代码里面showMap(int playerPos1)这样添加数据进去了,这又是为什么?还有下面的比如showLine1(0,30,playerPos1)这样的也不明白。
ps:现在java第一学期学完了,一到做这些项目时,就发现青鸟的教材讲的太少了。比如上面几个“map[***[i]]”和“showMap(数据,数据)”这样什么意思都不知道怎么来的。不知道为什么青鸟的教材要这么编,一到做项目或者某些实践题目时,发现题目有些要求书上根本没有作任何讲解或者介绍。
   不知道大家有没有什么书,可以找到类似这样的问题而解决的?   

解决方案 »

  1.   

    开始那个数组声明,为什么map只声明100个空间,而底下数组具体数组都要声明出来?
    这里数组map[***[i]]什么意思啊? 
    ----------------------------
    100代表了map的大小,也就是地图的大小,你也可以设别的,就代表的100个地点。
    注释说的很清楚啊。
    map[**[i]] = 1 在不同的地点设置不同的东西,也是我们玩游戏时候的比如障碍物了啥的。
    -----------------
    showLine1()应该是自己定义的方法吧,看源代码,看各个参数都代表什么就好了。大体应该是 (int x,int y,对象,对象),位置,和显示来两个玩家吧,猜的。。看源代码。
    ---------------------------
    “map[***[i]]”和“showMap(数据,数据)”
    ------------------
    这样的都是最基础的,应该不会在讲了。
    一个就是赋值,另一个就是方法的调用而已。。
    lz多看看书吧。
    学一学期了,有的东西举一反三才好。
      

  2.   

     showLine1(0, 30, playerPos1, playerPos2);
    ----------------------
    没看清,
    0,30代表map上的一个坐标,也就是一个位置,后俩应该是每个玩家的位置。
      

  3.   

    呵呵,刚刚翻了书。结果在字符串那一章才找到showLine1()参数相关的内容。以前当宅男的后遗症啊。
      

  4.   

    showLine1(0, 30, playerPos1, playerPos2); // 显示地图第一行
    0,30应该不是坐标名吧,是不是长度啊