私が今持っ問題は、私は私のコードは、私はリバーシ有効な移動アルゴリズム
dirが列挙方向から列挙型で助けと意見を求め、論理的に正しいかどうかを確認していないということです。基本的に8つの方向のEXPがあります:NORTH、NORTHWEST、東北など
があるのであれば、それぞれの方向は、私がスキャンしますトークンのいずれかのプレイヤーの、相手のか、それが空白の場合は
yはy座標でありますxはx座標です。このコードでは、私はプレーヤーの座標の北を見ています。
for(dir = NORTH; dir <= SOUTH_WEST; dir++){
if(dir == NORTH){
for(int i = 1; i <= BOARD_HEIGHT - y; i++){
//If there is no token, it would return false
if(board[y+1][x] == BLANK){
return FALSE;
}
//if there is the player's token, it would return false
if else(board[y+1][x] == player_token){
return FALSE;
}
//if there is the opponents token, it would continue up till it finds the player's token, if not then it would return false.
if else(board[y+i][x] != player_token){
if(board[y+i][x] == player_token){
captured_pieces++;
}
else{
return FALSE;
}
}
}
}
}
改善するための任意の余地がある場合は、最初の2つのif
文が内部for
ループの外に移動することができ、私に
あなたはすべての方向にループしていますが、あなたは単に「NORTH」で何かをします。すべての方向に対して分岐を追加しても、その構造は条件なしですべての分岐と同じことを順番に実行します。 – Quentin
ここには本当の技術的な質問はありません。 –