「#農場経営ゲーム」タグアーカイブ

【農場経営ゲーム】種ウィンドウの作成とデータの作成

https://github.com/takishita2nd/FarmGame/tree/develop

種ウィンドウに種ボタンを配置。

そして、種データも作成。

        var plant = new Plant() { id = 0, name = "小麦", cost = 10, money = 10 };
        Plants.Add(plant);

小麦データを作成して、

        Seed[0] = 3;

その種を3個持っていると設定。

種データは外部データで将来的に与える物になります。

そして、種自体は市場で購入することになります。

ここでの設定はあくまでも仮。

あ、そろそろクラス設定の構想も練らないと。

【農場経営ゲーム】種ウィンドウを配置してみる。

https://github.com/takishita2nd/FarmGame/tree/develop

空いている畑をクリックすると表示される種ウィンドウのイメージを配置してみました。

フリー素材の透過ウィンドウを良い感じに切り抜いて、良い感じに大きさを調整しています。

この上に種ボタンを並べて配置して種を植えるのを想定しています。

よし、このイメージでクラス設計を始めます。

【農場経営ゲーム】ボタン処理とページネーション処理

https://github.com/takishita2nd/FarmGame/tree/develop

本格的にボタン処理を作成。

まずは、ボタンの上にマウスカーソルを移動させたときのボタンテクスチャの書き換え、

そして、畑が画面に収まらない場合のページネーション処理。

一回部品を削除してから追加する、と言う処理を最初やってみたのですが、

それだと上手くいかないみたい。

必要に応じて、必要な物を追加し、不要な物を消す、という処理に落ち着きました。

次は種を植える処理かな。

【農場経営ゲーム】農場画面が完成しました。

https://github.com/takishita2nd/FarmGame/tree/develop

残りのボタンを配置しました。

画面についてはこんな感じで問題ないでしょう。

ここから実際にこの画面の処理を作成していきます。

具体的には、ユーザーデータの内容をこの画面に反映させる、

ボタン押下時の処理、

ページネーション処理、

等々。

実際に種を植える所も作成していかないといけませんね。

【農場経営ゲーム】畑の配列

https://github.com/takishita2nd/FarmGame/tree/develop

前回作成したパーツを一つのクラスにまとめ、

それをListで管理するクラスを作成し、

縦に並べました。

まぁ、配置はこれでいいでしょう。

ページ処理とかは後で考える。

6行ぐらいなら画面に収まるかな。

次回はそれ以外のパーツも配置していきます。

【農場経営ゲーム】お手入れボタンの配置

https://github.com/takishita2nd/FarmGame/tree/develop

ボタンの画像を作成して配置しました。

あと、前回までのサイズ感だと、少し寂しい雰囲気に感じたので、少し表示を大きくしています。

さて、今度はこれらのパーツをまとめたクラスを作成して、縦に並べていこうと思います。

【農場経営ゲーム】畑の描画

https://github.com/takishita2nd/FarmGame/tree/develop

画像から必要な部分を切り抜いて表示。

それをクラス化して描画させました。

大きな進展はないですが、画面作成ってパーツを一つ一つ作っていく地味な作業なので、まぁ、今日はこんなもんです。

引き続き画面作っていきます。

【農場経営ゲーム】農場画面設計

https://github.com/takishita2nd/FarmGame/tree/develop

iPadとペンシルでサクッと画面案を書きました。

こういうラフ書きは手書きの方がやりやすい。

アイコンはこちらのサイトのフリー素材の畑画像が良い感じなので、使用させて貰うことにします。

https://noir-et-blanc-patisserie.amebaownd.com

成長度に合わせてアイコンの絵を変えていきます。

お手入れ、水やりはボタン、一回だけ押せます。

ただ、一個ずつ押すのはめんどくさいので、上に一括お手入れ、一括水やりボタンを用意します。

下の三角矢印はページの切り替え。

これを何行配置するかは、実際に画面に配置してみてから決めます。

【農場経営ゲーム】農場の設計

https://github.com/takishita2nd/FarmGame/tree/develop

まずは農場に必要な「種」情報クラス。

class Plant
{
    public int id { get; set;}
    class Plant
    {
        //種ID
        public int id { get; set;}

        //名前
        public string name { get; set; }
        //育成コスト
        public int cost { get; set; }
        //種の代金
        public int money { get; set; }
    }
}

ポイントは育成コスト。

ターンが進むと成長度が加算され、それが育成コストに達すると収穫が出来る、ということを考えていますが、

そうなると「お手入れ」が出来る回数も増えて、その分「品質」も増えていくのですが、

育成コストの大きさに応じて、1回の「お手入れ」で上昇する「品質」の値も変化するという形にしたいと思ってます。

class Farm
{
    List<FarmField> farmFields;
}

class FarmField
{
    //植えているかどうか
    public bool valid { get; set; }
    //種ID
    public int id { get; set; }
    //水
    public bool water { get; set; }
    //成長度
    public int growth { get; set; }
    //品質
    public int quality { get; set; }
}

農場のデータクラスです。

上に出てきた「成長度」や「品質」がここで出てきます。

「成長度」が「成長コスト」に達したら収穫できるようにします。

その時の「品質」の値によって、品質ランクSS、S、A、B、C、D、Eの7段階に分類される、という感じにしたいと思います。

よし、大分農場に関しては固まってきました。

これをゲームに反映させていきたいと思います。