我正在爲一個任務做一個跳棋遊戲。整個事情正在按照它應該的方式運行,除了一件奇怪的事情。這裏是我的板:跳棋遊戲:錯誤檢查是否正確?
我謹通過給源行和列,則目標行和列。
move(int srcR, int srcC, int destR, int destC)
我認爲,如果我嘗試了一塊移動到一個無效的點(未對角線)打印出一個錯誤。所以如果我嘗試從5 2 - > 4 2移動一塊,它會給我一個錯誤信息。
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)它的移動的一塊,而不是讓我的錯誤消息。
我被卡住了!任何想法,爲什麼這可能會發生?如果需要,我可以發佈更多代碼。
難道有效的動作取決於哪種顏色在移動? – arshajii
@ErikPragt永遠不會驗證,因爲destR不能同時等於srcR +/- 1。 – Deactivator2
desrR不能是== srcR + 1 && srcR-1 –