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

【農場経営ゲーム】各画面の作成

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

本当はトランジション処理を入れたかったんだけど、

なんかエラーで動かない・・・

解決方法がわからないので、とりあえず放置。

(GitHubを覗いてみたけど、ドキュメント・サンプル作成中らしい)

https://github.com/altseed/Altseed2/issues/653

今はトランジションを使わない処理にしておきます。

【デザインパターン】Commandパターン

Commandパターンのサンプルコードです。

package org.example.command;

public interface Command {
public void execute() throws Exception;
}
package org.example.command;

public class Receiver {
public void action()
{

}
}
package org.example.command;

public class ConcreteCommand implements Command{
@Override
public void execute() throws Exception {
Receiver receiver = new Receiver();
receiver.action();
}
}
package org.example.command;

public class Main {
public static void main(String[] args)
{
Command command = new ConcreteCommand();
try {
command.execute();
} catch (Exception e) {
e.printStackTrace();
}
}
}

CommandパターンはReceiverに対する命令(Command)をオブジェクト化して使用します。

こうすることによって、命令のバッチ処理、履歴保存ができます。

undo/redo処理を実装する場合もこのパターンを適用する場合が多いです。

【農場経営ゲーム】ボタンを作り始めた。

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

ボタンの画像を作成。

ボタンをクラス化して、ボタンの上にマウスを置いたときと、マウスをクリックしたとき、画像を切り替えるようにしました。

次は、下のボタン達は共通している処理なので、ここをまとめて一つのクラスに処理をまとめたいと思います。

それを各シーンで使用して、共通の動作になるようにしたい。

たぶん、シーンの切り替えのみの処理だから。

【北海道大戦2021】リンク情報のチェック

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

そういえば、まだデータのチェックやっていなかったな、と思って、

こんなコードを書きました。

    protected override void OnUpdated()
    {
        asd.Vector2DF pos = asd.Engine.Mouse.Position;

        var maps = Singleton.FieldMap.GetAllMaps();
        foreach(var map in maps)
        {
            if(map == null)
            {
                continue;
            }

            if(map.IsOnMouse(pos))
            {
                map.GetCity().PaintAttackColor();
                foreach(var linkedMap in map.GetLinkdMap())
                {
                    linkedMap.GetCity().PaintDeffenceColor();
                }
                break;
            }
            else
            {
                map.GetCity().ClearPaint();
            }
        }

都市間のリンクデータを確認するプログラムです。

こんな感じで確認しました。

まぁ、手ででーたを入力していたわけで、

データミスが一箇所見つかりました。

めんどくさいことだけど、放置するともっとめんどくさいことになるから、めんどくさくてもやらなくちゃ行けないのです。

【農場経営ゲーム】画面を作り始めた。

https://github.com/takishita2nd/FarmGame

とりあえず、ボタンを配置してみた。

ボタンは下記リンク先のフリー素材を使用しています。

https://kopacurve.blog.fc2.com

ボタン+テキスト配置で作成したけど、たぶん、文字の入ったボタンを作った方が良いような気がする。

位置合わせがめんどくさい。

あ、そうそう、今回はAltseed2を使用しています。

.NEt Coreで動作するゲーム用ライブラリです。