私は Java の初心者で、作成中のゲームの配列に問題があります。これは Bejeweled に似ています。
このゲームでは、タイルと呼ばれる 1 つのクラスを使用します。これは、ボード上の 1 つの色付きタイルと、ボード上の列と行 (整数) を表します。Board と呼ばれるボード用の別のクラスがあります。これは、これらのタイルを列と行で編成された整数の 2D 配列で管理します。
画面上の 2 つのタイルを交換すると問題が発生します。これが発生すると、列と行が交換されますが、保存されている配列はこの変更を認識しません。画面上では、すべてが正常に見えます。2 つのタイルの位置が切り替わります。
たとえば、切り替えたい 2 つの隣接するタイルがある場合、(column0, row0)
と(column1, row0)
. 私のタイルの配列では、これらはタイルarray[0][0]
とarray[1][0]
. それらを切り替えると、最初のタイルは 2 番目のタイルの古い位置になり、2 番目のタイルは最初のタイルの古い位置になります。ただし、最初のタイルは と認識されるarray[0][0]
はずですが、まだ と認識されていますarray[1][0]
。
これの重要な点は、私のプログラムは同じ色の 3 つの連続したタイルを認識しないため、ボードからそれらを消去しないことです。これを修正するためにできることはありますか?
何か提案があれば、それは素晴らしいことです。ありがとうございました。