0

ターン制ストラテジー「ゲームエンジン」をPythonで構築しようと考えています。データベースを使用してゲーム オブジェクトに関する情報を保持し、ORM を使用してゲーム ロジックをサポートしたいと考えています。ORM の経験はほとんどありませんが、SQL の経験はあります。

データベースはおそらく次のようになります。

  • データは多いが構造は単純 - 関係と外部キーが少ないだけで、複雑なことは何もない
  • データベースへの更新はターンごとに「バッチ」で行われますが、各ターンのデータベース状態の履歴を保持する必要があるため、過去のゲーム ターンの状態を確認できます。

私はしたいと思います:

  • できる限り書き込みを少なくする - できれば暗黙のコンストラクターと便利な暗黙の出力を使用できるようにする
  • できればクラスを更新するだけで、すべてがバラバラになることなく、列を追加または削除したり、関係を変更したりして、ターン間でデータベース構造をシームレスに更新します

どの ORM が私のニーズを満たすでしょうか? それは理にかなっていますか?

説明:

歴史- ターン #5 のプレイヤーは、自分が正しくないと思う何かを見つけました。おそらく数ターン前の出来事だろう。ターン 2 とターン 3 でゲームの状態を確認して再確認できるようにしたいと考えています。ターンごとにデータベースのバックアップを作成できると思いますが、もっとエレガントなソリューションがあるかどうかを考えていました。

データベース構造の更新- 2 つの属性を持つクラス Unit があるattackとしdefenseます。Unit 型のオブジェクトをたくさん作成し、データベースに保存します。ターン #25 あたりで、アトリビュート も必要であることに気付きましたmorale。最小限の作業で追加し、データベースにテーブルを更新させたいと思います。どうすればいいですか?

4

1 に答える 1

0

SQLAlchemyは、これを除いて、ほとんどの要件を満たします。

「しかし、各ターンのデータベース状態の履歴を保持する必要があります。これにより、過去のゲーム ターンの状態を確認できます。」

ここで何を意図しているのかわかりません。

于 2013-07-17T08:35:14.257 に答える