說法是有辦法縮短的
如果縮短與相同條件if
聲明是這樣的:
if(x == 1 && y == 1 && z == 1) -> if((x && y && z) == 1) or if((x,y,z) == 1)
編輯:很抱歉給您帶來不便。我的手機上速度快嗎?這裏是一個完整的例子:
這是我的連連看遊戲的一部分。
bool checkwin(string player) {
for (int i = 0; i<10; i++) {
for (int j = 0; j<10; j++) {
if (grid[i][j] == player && grid[i + 1][j] == player && grid[i + 2][j] == player && grid[i + 3][j] == player) {
return 1;
}
if (grid[i][j] == player && grid[i][j + 1] == player && grid[i][j + 2] == player && grid[i][j + 3] == player) {
return 1;
}
if (grid[i][j] == player && grid[i + 1][j + 1] == player && grid[i + 2][j + 2] == player && grid[i + 3][j + 3] == player) {
return 1;
}
if (grid[i][j] == player && grid[i - 1][j + 1] == player && grid[i - 2][j + 2] == player && grid[i - 3][j + 3] == player) {
return 1;
}
}
}
}
關注使你的代碼可讀。讓編譯器優化代碼。 –
@ThomasMatthews說什麼,讓您的代碼易於閱讀。當你使用像'x','y'和'z'這樣的變量名時,這已經是個問題了。 –
下一次甚至不要試圖彌補自己的語義。你寫了(假設它們是整數)'x!= 0 && y!= 0 && z!= 0'和'z == 1',這有點不同...... – LogicStuff