私はAndroidアプリを書きました。これは、古いボードゲームのコネクト4のシンプルなバージョンです。現在、私の「ボード」オブジェクトは、ボード上に配置されたカウンターを保持しています。このゲームには2人のプレイヤーがいます。
Boardクラスは7つのArrayListオブジェクトで構成され、各オブジェクトはボード上の列を表します(ボードは7 x 6以上)。たとえば、赤いプレーヤーが画面の3番目の列をクリックすると、
boardObj.addCounter("red", column);
addCounter()関数のボードオブジェクト内では、次のような動作をします。
column3.add(playerColor);
したがって、ArrayList column3は、別の項目を追加します。
私の質問は、7つのArrayListを使用するのではなく、使用できるより良いデータ構造はありますか?ボードにカウンターを追加した後に呼び出される勝ちかどうかをチェックする機能が、CPUの面でかなり高価な機能になっていることに気づきました。データを取得および設定し、checkwin()アルゴリズムを最高のパフォーマンスで実行できるようにする構造はどれですか?