0

こんにちは、スタック オーバーフローの善良な人々。

ステート マシンや Android 開発について少し知っている人の助けが必要です。

だから、私は自分のアプリのカードゲームのデザイン全体をほとんど手に入れました.State Machine Design Patternでそれを解決しました.GameStateクラスが通過できるさまざまな状態をそれ自体で管理するCardGameクラスを持っています.それらの間の遷移。

さて、私の問題は、このデザイン パターンを Android アプリにマージする方法がわからないことです。主な問題は、特定のプレイヤーに、ゲームの特定の状態で実行できるアクションのみを表示する方法がわからないことです。たとえば、ゲームが始まったばかりの場合、最初の Player は、CardGame クラスで許可されている 15 のアクション (メソッド) のうち 3 つしか選択できません。

単純なコマンド駆動型プログラムの場合、プレーヤーが特定の時間に実行できなかったアクションを選択すると、プログラム自体が「現在、このアクションを実行できません。別のアクションを選択してください」というメッセージを単純に出力します。またはそのようなものですが、ボタンとその OnClickListeners を管理する Android アプリであるため、非常に簡単だとは思いませんでした。もちろん、この不便さを解決する方法があれば、誰かが実行可能な解決策について教えてくれればありがたいです。

特定の状態のメソッドの可用性に応じて、どのボタンを印刷する必要があるかを管理する方法はありますか? ある種のフラグを使用して、利用できないメソッドが何であるかを通知できますか?

前もって感謝します、アグスティン。

4

1 に答える 1

1

セットを使用して現在有効なアクションを保存し、関連する状態が変更されたときにセット (および再描画ボタン) を更新するだけです。

于 2013-09-26T13:06:43.260 に答える