【发布时间】:2016-04-24 16:51:48
【问题描述】:
我正在为练习制作国际象棋应用程序,但有些事情让我失望了。我的方格编号为 1-64,第一排是 1 到 8,下一个是 9 到 16,依此类推。每次玩家尝试移动棋子时,我的程序都会根据规则检查目标方格是否合法。
对于我的国王,我有这样一句话:
else if (startID >= 58 && startID <= 63){ // bottom row
if (endID == startID - 7 || endID == startID - 8 || endID == startID - 9 || endID == startID - 1 || endID == startID + 1) return true;
}
如果国王在最后一排(而不是角落方格),则检查目标方格是否是相邻方格。但是,除了这部分检查目标方块是否直接在右侧之外,它们都可以工作:
endID == startID + 1
在我在有问题的变量前面添加一个“parseInt()”之前,我让程序的其他部分难以使用比较语句。有没有办法确保变量始终是整数?
【问题讨论】:
-
是的,使用
parseInt(startID,10) -
不,JavaScript 不使用类型。但是,为什么不使用嵌套数组来维护位置呢?
-
您最初从哪里/如何获得
startID和endID的这些值?来自 HTML 属性? -
是的,它们都是每个方格的 ID
-
HTML 属性的值总是字符串,阅读的时候要转成数字。
标签: javascript parsing integer chess