我正在为实践做一个国际象棋申请,有些东西让我失望。我的方块编号为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()'。有没有办法确保变量始终是整数?
答案 0 :(得分:0)
您可以尝试以下
var myStringNum = "1";
if (myStringNum === parseInt(myStringNum, 10) && myStringNum !== NaN){
console.log('ok'); // does not print anything
}
var myNormalNum = 1;
if (myNormalNum === parseInt(myNormalNum, 10) && myNormalNum !== NaN){
console.log('ok'); // prints ok
}
诀窍是使用&#39; ===&#39;操作