我正在制作一个象棋应用程序来练习,但有些东西让我困扰。我的棋盘方格从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)
。 - mplungjanstartID
和endID
的值的?是从 HTML 属性中获取的吗? - Teemu