6

これはスタイルの問題であるため、技術的な問題ではありません。Android 向けのペグ ソリティアの一般化を行っています。さまざまなレベルでプレイできます。それらのそれぞれは、ボードのさまざまな開始構成、実行できる一連の動きなどを持っています。現在、私はそれを単一の基本レベルでプログラムしており、これらすべての変数は元々そのように初期化されています。

さまざまな種類のレベルをすべて含むテキスト ファイルを追加し、テキスト ファイルから読み取るようにプログラムする必要がありますか? 各レベルからのこのすべての情報を使用して Level クラスを追加し、初期化時に複数の Level オブジェクトを作成する必要がありますか? Level クラスを作成しますが、テキスト ファイルからレベルを読み取って初期化しますか?

すべての方法が機能すると確信していますが、それを行う標準的な方法はありますか? 私はこれまでにそのようなことをプログラムしたことはありません。

4

2 に答える 2

5

あなたが望むことを行うための標準的な方法は実際にはありません。それは、各レベルの初期化を行うために保存する必要があるデータの複雑さに大きく依存します。このデータは変更されますか、それとも静的ですか? それを適切に整理し、コード ロジックから分離することは理にかなっていますか? これらはあなた自身が答えなければならない質問であり、それはあなたのゲームであり、私たちはすべての詳細を知っているわけではありません.

それを考慮して、そのデータを XML ファイル、TXT ファイル、またはその他のファイルに格納するかどうかを決定します。本当に正解はありません。しかし、(IMO) 常にある種のLevelクラスを用意する必要があります。これは、OOP コンテキストで使用する正しい方法です。コンストラクターは、XML/TXT/その他のデータからレベルを構築するために必要なパラメーターを持つことができます。何らかの理由で必要な場合は、すべてのレベル パラメータをコードで初期化することもできます。そしてもちろん、これらすべてのレベル属性の getter/setter メソッドを忘れないでください。

やってはいけないことの 1 つは、「初期化時に複数の Level オブジェクトを作成する」ことです。ゲーム ロジックをデータから分離する必要があります。両方を混在させるべきではありません。

おそらくあなたが探していた答えではありませんが、ほとんどはあなた次第です。

于 2012-08-30T23:57:33.093 に答える
2

私の友人と私が行っている方法は、レベル属性をデータベースに保存し、ユーザーが選択したレベルに応じて、データベースを読み取り、それを Level クラスにロードして、ユーザーがプレイするレベルを作成することです!

編集

私たちも初心者ですが、最初のレベルを作成した後、新しいレベルを作成するのは非常に簡単でした. =]特に、データベースに行を追加して値を入力するだけなので。

于 2012-08-31T00:01:48.537 に答える