「技術」カテゴリーアーカイブ

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

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

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

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

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

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

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

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

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

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

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

【北海道大戦2021】数値入力ダイアログ画面の設計

https://github.com/takishita2nd/HokkaidoWar/tree/2021_develop

戦力増強時のダイアログですが、

こんな画面を考えてみました。

これにプラスして、現在の持ち金も表示させると良いかもしれません。

これで画面を作っていこうと思います。

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

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

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

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

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

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

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

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

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

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

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

【北海道大戦2021】面積データの反映

https://github.com/takishita2nd/HokkaidoWar/tree/2021_develop

前回作成した面積データをゲームに反映させました。

面積=毎ターンの収入(お金)、戦力=人口(+補正)とする予定です。

プレイヤーの都市のみ詳細が表示され、他の都市は基本情報しか見せないようにしています。

ここは後で変えるかもしれません。

【北海道大戦2021】面積データの入力

https://github.com/takishita2nd/HokkaidoWar/tree/2021_develop

「お金」になるようなデータはないかな、と少し考えていました。

単純に財政規模を使用すると、結局都市部が財政規模が大きいので、地方との差が大きくなってしまうので、これは無しだな、と思いまして。

じゃあ何がいいのかと考えて、面積だったら地方でも勝算があるのでは?と思った次第。

ということで、

https://ieben.net/data/area/japan-ctv/01hokkaido.html

こちらのページから各市町村の面積データを入力。

プログラムに反映させました。

とはいっても、数字を表示させただけですが。

この値をゲームに組み込んでいきます。

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

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段階に分類される、という感じにしたいと思います。

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

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