如何檢查四個變量之間的相等性?這是一個3D井字遊戲。四路等效
if (b[0][0] == b[1][0] == b[2][0] == p) { line += 1; }
這不起作用,因爲等價物是從左到右。我不想做的以下兩種:
if (b[0][0] == p && b[1][0] == p && b[2][0] == p) { line += 1; }
if ((b[0][0] == b[1][0]) && (b[1][0] == b[2][0]) && (b[2][0] == p)) { line += 1; }
所有變量都是整數,因爲我知道跟我的bool可以只使用& &。有沒有更好的辦法?我考慮:
if ((b[0][0] + b[1][0] + b[2][0]) == (3 * p)) { line += 1; }
由於p
將三個值中的一個值(0代表沒有X或O,1爲X,2 O),這將只需要改變的O值至4或東西不可能用三個1,0或其組合來實現。但它缺乏技巧。
我只是學生,所以我不確定我的推薦是否是好的。但是你有沒有想過一個'switch()'語句?你可以嵌套案例來彌補ifs。 – Callat
你爲什麼不想要它? –
@KazRodgers我可以,但是有幾十行具有相似的結構(它是3D Tic-Tac-Toe)。 – gator