繁体   English   中英

分配数组值不起作用?

[英]Assigning array value not working?

对于国际象棋游戏,我在敌人的棋子上搜索可能的攻击者。 董事会代表通过多维数组来完成。 board[i][j] ,其中i = row,j是列(所以8x8),值是块本身。

当寻找可能的攻击者时,我想创建一个新的数组aPossibleAttackers[i][j]

var aPossibleAttackers = []; // create array
var ti,tj; // temp row/col

我在所有可能的方向(0-7)进行搜索,然后寻找我遇到的第一块。 这样便知道了方向和距离。 然后,我计算这是哪个字段,并要将对应的值从board[i][j]复制到aPossibleAttackers[i][j] 不过,它没有用。

码:

alert( veld(attackerRow,attackerCol) + " pos att op veld " + veld((attackerRow + (i * rowStep)), (attackerCol + (i * colStep))));

aPossibleAttackers[search_dir] = i; // searchdirection and distance, OK
ti = attackerRow + (i * rowStep); // OK
tj = attackerCol + (i * colStep); // OK
//aPossibleAttackers[ti][tj] = board[ti][tj]; // not possible????
alert("test2 ti= " + ti + " tj=" + tj + " ?? " + aPossibleAttackers);

我究竟做错了什么?? board[i][j]确实存在,否则我将找不到一块。

可能是字符串转换问题

尝试

alert( 
    veld(attackerRow,attackerCol)
    + " pos att op veld "
    + veld(((attackerRow*1) + (i * rowStep)), ((attackerCol*1) + (i * colStep))));

aPossibleAttackers[search_dir] = i; // searchdirection and distance, OK
ti = (attackerRow*1) + (i * rowStep); // OK
tj = (attackerCol*1) + (i * colStep); // OK
//aPossibleAttackers[ti][tj] = board[ti][tj]; // not possible????
alert("test2 ti= " + ti + " tj=" + tj + " ?? " + aPossibleAttackers);

只是一个猜测

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM