0

私がやっているゲームについて助けが必要です:

ゲームは次のとおりです。'B' と 'N' の 2 人のプレーヤーがいます。文字のグリッドがあります。両方のプレイヤーが順番に、グリッドに char (誰であるかに応じて B または N) を配置します。彼らがイワナを配置するたびに、対称性が発生しているかどうかを確認する必要があります。例えば。さまざまな種類の対称性があります。ここに配置されたばかりの文字を含む 2*2、3*3、および 4*4 の正方形ごとに水平および垂直。3×3対称の場合、真ん中の行や列は対称にならない。

対称性を除いて、今まですべてを行ってきました。私はそれらを行うのに苦労しています。それらを個別に行う方法についてのアイデアがあります。1つの方法だけで対称性を実現する方法を知っている人はいますか?

4

1 に答える 1

0

n x n サイズのグリッドについて説明したものと同様の Java コードは、次のようになります。

boolean isHorizontallySymmetrical(char[][] grid, int n){
    int across = n / 2;

    for(int i = 0; i < n; i++){
        int right = 0
        for(int left = 0; left < across; left++){
            right = n - left - 1;

            if(grid[i][left] != grid[i][right]){
                return false;
            }
        }
    }

    return true;
}

垂直対称関数にも同様のものが必要です。

于 2014-10-17T18:49:27.453 に答える