作者热门文章
- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我正在为一项作业制作跳棋游戏。除了一件奇怪的事情外,整个事情都按照它应该的方式进行。这是我的董事会:
我通过给出源行和列,然后是目标行和列来移动。
move(int srcR, int srcC, int destR, int destC)
如果我尝试将一 block 移动到无效点(不是对角线),我应该打印出一个错误。因此,如果我尝试从 5 2 -> 4 2 移动一 block ,它会给我一条错误消息。
if(destR == srcR+1 || destR == srcR-1 &&
destC == srcC+1 || destC == srcC-1){
// code code code
}else
message = "Invalid Move! Can only move diagonally one space.";
对于大多数事情它都有效,但如果我尝试直接向下移动一个空间(例如,2 3 -> 3 3),它会移动棋子并且不会给我错误消息。
我卡住了!为什么会发生这种情况的任何想法?如果需要,我可以发布更多代码。
最佳答案
按照你的逻辑,如果
destC == srcC-1
为真,则整个表达式为真。你要注意Java对 boolean 运算的求值顺序~必要时加()~
关于java - 跳棋游戏 : Not Error Checking Correctly?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18061650/
我是一名优秀的程序员,十分优秀!