【问题标题】:Assigning array value not working?分配数组值不起作用?
【发布时间】:2013-01-20 16:27:01
【问题描述】:

对于国际象棋游戏,我会在敌方棋子上搜索可能的攻击者。 板表示是通过多维数组完成的。 board[i][j],其中 i = 行,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] 确实存在,否则我不会找到一块。

【问题讨论】:

  • aPossibleAttackers[ti][tj] = board[ti][tj] 有什么问题?
  • 在错误控制台中我得到:Tijdstempel: 20-1-2013 17:45:54 Fout: TypeError: can't convert undefined to object Bronbestand: xxxxxxxxxxxx/javascript.js Regel: 2021
  • 这表明aPossibleAttackers[ti]board[ti] 未初始化。
  • aPossibleAttackers = [] != aPossibleAttackers = [][]
  • board 数组是 boardpresentation,它存在,否则我的代码会在开始时被破坏。我像这样实例化了数组 aPossibleAttackers:var aPossibleAttackers = [],所以我似乎无法通过说:aPossibleAttackers[ti][tj] = board[ti][tj] 来创建一个多数组; ???谢谢 Andreas,但我如何将 board[i][j] 添加到 aPossibelAttackers 中??

标签: javascript multidimensional-array


【解决方案1】:

可能是字符串转换问题

试试

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);

只是猜测

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-04-26
    • 2017-02-23
    • 1970-01-01
    • 2016-06-13
    • 1970-01-01
    相关资源
    最近更新 更多