4

私は、2つの主要なコンポーネントで構成されるシステムをDjangoで設計(そして最終的には作成)しています。

  1. ゲームマネージャー:これは本質的にデータ入力部分です。信頼できる(非公開の)ユーザーは、プレーヤーが持つ可能性のあるオプションなど、ゲームシステムに関する情報を入力します。このためのインターフェースはDjango管理コンソールのみであり、情報を保持する以外は何も「実行」しません。
  2. キャラクターマネージャー:これは上記のデータの利用者です。パブリックユーザーは、信頼できるユーザーが入力したオプションを利用して、上記で定義したロールプレイングシステムでキャラクターを作成します。これは、Djangoの観点からはプロジェクト内の別のアプリです。

ただし、どこに配置すればよいかわからない部分が1つあります。それは、各ゲームに関連付けられている「ルール」です。基本的に、最初のアプリに配置されるゲームごとに、そのゲームに固有の一連の前提条件、制限、およびその他のビジネスロジックがあります。(すべてのゲームに共通する同様の構造のロジックもあります。)ロジックは、ユーザーが入力するのではなく、Pythonでコーディングされます。

そのロジックは特定のキャラクターを検証するプロセスで使用されますが、特定のゲームに関連付けられており、動的にスワップアウトする必要があります。それは別のアプリですか、それともキャラクターマネージャーのフォームに関連付けられた検証である必要がありますか?それとも両方でしょうか?

これは私が(他の誰かのコードを噛むのではなく)ゼロから構築した最初のDjangoアプリであり、Pythonの哲学に慣れていないので、私はこれに耳を傾けています。

前もって感謝します。

4

2 に答える 2

1

ゲームロジックを使用してアプリにrulesという名前のサブディレクトリを作成し、各ゲームにちなんで名前を付けたモジュールを作成します。次に、これらのモジュールに共通のインターフェイスを作成します。これは、ゲームで使用され、適切なルールモジュールを名前でインポートします(ゲームがadomと呼ばれる場合は__import__('rules.adom')、メインのゲームエンジン内で、ゲーム固有のメソッドを呼び出します。

ゲームが独自のモデルとビューを作成しない場合は、それぞれに特定のアプリを作成する理由はないようです。使用されるコードはデータベースに保存されているデータに基づいているため、これは微妙な問題です。追加のゲームスクリプトをデータベース内に保存してからそれらに保存することを考えていませんexecか?これはもっと自然なことのようです。ゲームは、そのゲームに関連付けられたデータと追加のスクリプトのセットです。

于 2010-08-17T16:27:36.113 に答える
1

各ゲームに関連付けられている「ルール」。

最初のアプリに配置されるゲームごとに、そのゲームに固有の一連の前提条件、制限、およびその他のビジネスロジックがあります。

それはゲームアプリの一部です。

すべてのゲームに共通する同様の構造のロジックもあります。

それはゲームアプリの一部です。

そのロジックは、特定のキャラクターを検証するプロセスで使用されますが、特定のゲームに関連付けられています。

正しい。それはゲームアプリの一部です。キャラクターは1つ以上のゲームに関連付けられています。

キャラクターマネージャーのフォームに関連付けられた検証である必要がありますか?

キャラクターフォームには、ゲームに依存するデータクレンジングルールを含めることができます。

于 2010-08-17T17:00:03.533 に答える