私は三目並べに似たボード ゲームをしたい (しかし、私のゲームでは 5*5 です)。最初は、プレイヤー対プレイヤーのバージョンを実装したいだけで、後で AI を追加します。私は三目並べのいくつかの例を見て、何人かの開発者がボタン (正方形用) とボード用のテーブル レイアウトを使用しているのを見ました。しかし、5*5 以上の次元の場合、これはまだ良い方法でしょうか? それとも、このような状況でテーブル レイアウトとボタンを使用するのは一般的に良い方法ですか? そうでない場合、何を使用すればよいですか? いくつかのチュートリアル/例/リンクを提供してください。感謝します。
2 に答える
ボタンで TableLayout を使用する必要があります。それはあなたの生活を楽にし、パフォーマンスの点でそれほど高価ではありません. ボードのカスタム ビューを作成することもできますが、その価値はありません。
より洗練されたものを探す前に、機能することがわかっているものから始めて、それが問題になった場合に最適化する必要があります。あなたのユースケースでは、三目並べがシステムの速度を低下させるのに十分なリソースを使い果たすと予想したことがありますか? 私はそうは思わないでしょう。RelativeLayout を使用してそれを行い、View 属性を使用してポジショニングを自分で定義することもできますが、繰り返しになりますが、それによって何かが得られるとは思えません。
パフォーマンスが心配な場合は、すべての Button オブジェクトをアクティビティのクラス メンバーにするなど、他のベスト プラクティスに従う必要があります。これにより、ビューごとに 1 回だけ findViewById() を呼び出すだけで、onClickListener が必要なビューを更新する必要がなくなります。調べる。初めてのアプリを作成する場合、風変わりなレイアウトを実装しようとするよりも、そのような方法の方がはるかに効果的です。
一般に、必要な行/列の数が事前にわかっている場合は、TableLayout で問題ありません。どちらがユースケースに適していますか。サイズを動的に変更しようとすると、ヒットする可能性があります。あなたが三目並べでやっていないことを心から願っています(チートと呼ぶ人もいるかもしれません)