Java の頭の上で、short の 1-D 64 要素配列を反転する必要があります (簡単な場合は int に切り替えることができますが、どちらでも同じプロセスが機能すると思います)。実際の問題はチェス盤上にあるため、ここでは理解しやすいように正方形のテーブルとして表します。
例えば:
short[] example = new short[]
{
1, 2, 3,
4, 5, 6,
7, 8, 9
};
次のようになります。
7 8 9
4 5 6
1 2 3
これは、配列を逆にすることと同じではないことに注意してください(私が見つけた同様の質問に対するすべての回答者がこの間違いを犯したため、質問する必要があります!)。配列を反転すると、次のようになります。
9 8 7
6 5 4
3 2 1
重要な情報を見逃していたら申し訳ありませんが、助けていただければ幸いです。
編集: 配列は 1D で、64 個の要素が含まれているため、短い [64] であり、逆の配列は元の配列とは別のものです。私が試した限りでは、頭を包み込むのに苦労しています。配列を逆にする方法は知っていますが、それは私が求めているものではありません。最初は次を使用してインデックスを逆にしようとしました:
byte index = (byte)(((byte)(position + 56)) - (byte)((byte)(position / 8) * 16));
これはChessbinで見つけたコード スニペットですが、これは正しくない値を返し、IndexOutOfBounds エラーが発生します。後から考えると、そのコードがインデックスを反転することを意図しているのか、逆にすることを意図しているのかは明確ではありません。数学は私の得意分野ではないので、別の配列で回避しようとしました。