そこで、木材、鉄、金などの資源を売買する場所に船を送ることができるゲームを作っています。
今、私はゲーム内でリソースをどのように作成すべきか疑問に思っていました。私は2つのオプションを思いつきました
リソースごとにクラスを作成します。
public class ResourceBase { private int value; // other base properties } public class Gold : ResourceBase { public Gold { this.value = 40 // or whatever } }
リソースクラスのインスタンスを作成する
public class Resource { string name; int value; public Resource(string name, int value) { this.name = name; this.value = value; } } // later on... Resource gold = new Resource("Gold",40);
2番目のオプションを使用すると、resources.jsonファイルからゲームリソースを埋めることができます。この構造が気に入っています。
新しいアイデア/デザインパターン/構造はいつでも歓迎です!
編集:アサシンクリードブラックフラッグのコンパニオンアプリのようなものです。下の画像のリソースバーをご覧ください
編集2:「JSONファイルからアイテム/リソースをロードする」についてさらに調査を行ったところ、このブログ「Game DevelopmentでのJSONの力-アイテム」が見つかりました。オプション1とオプション2のベストを示しています。各リソースに機能を追加することができます:)
enum
代わりに使用します。