ターンごとに表示される年月日(日付)を作る

ティラノスクリプトで、年月日や日付の表示を作ってみます。

※現在の(リアルな)時間を取得して…というものではなく、ゲーム内の年月日です。

ターンが変わるごとに、年月や日付を進めたい(つまり、ターン1とか2とかの代わりに、何月何日とかにしたい)というものです。めちゃめちゃ力作です。

1ターン=1か月の年月を表示する

1ターンで、1か月進み、12月になると、年が変わります。

育成画面のラベルより上(ターン開始時のイベントなど、他のファイルへジャンプするコードがあれば、それよりも上)に、下記のコードを記載してください。

[eval exp="f.ターン表示 = f.ターン"]
[eval exp="f.開始年 = 1"]

*年月計算

[if exp="f.ターン表示 > 12"]

[eval exp="f.ターン表示 = f.ターン表示 - 12"]
[eval exp="f.開始年 = f.開始年 + 1"]
[jump target="*年月計算"]

[else]

[endif]

[eval exp="f.月表示 = f.ターン表示 + '月' ]
[eval exp="f.年表示 = f.開始年 + '年目'"]

次に、育成画面のラベルより下、ターン表示や、行動回数表示のコードなどと一緒に、下のコードを記載してください。

[ptext layer="1" x="1080" y="90" size="40" text="&f.月表示"]
[ptext layer="1" x="1080" y="50" size="40" text="&f.年表示"]

2つのコード、どちらも育成画面のラベル下に書いてもいいんですが、そうすると(1ターンに複数回行動できるタイプだと)、行動するときにいちいち計算挟んで重くなりそうなんで、1ターンに1回計算し、表示だけ常に更新するようにしました。

簡単に解説します。

「ターン」の変数をそのまま使ってしまうと、現在のターン数自体が書き換わってしまうので、別の変数(ターン表示)を用意しました。

そして、これが自慢のポイント。ターンが12を超えたときに、「ターン表示」から「-12」し、年を「+1」。それでもまだ12より大きければ、繰り返し同じ処理をします。このことによって、自動で年を進めることができるのです。

開始年は、とりあえず1としましたが、西暦表示にもできます。例えば、「2000」とかにすれば、2000年からゲームが進んでいきます。

開始月を変えたい場合は、そもそも開始するターン自体を、開始したい月の数字に変えるとよいでしょう。

1ターン=1か月の年月を学年度で表示する

今度は、4月から1年が始まる年度表示にし、学年が進むようにします。

先ほどと同じ場所に、以下の2つのコードを記述してください。

[eval exp="f.ターン表示 = f.ターン + 3"]
[eval exp="f.ターン表示2 = f.ターン]
[eval exp="f.学年 = 1"]

*年月計算

[if exp="f.ターン表示 > 12"]

[eval exp="f.ターン表示 = f.ターン表示 - 12"]
[jump target="*年月計算"]

[else]

[endif]

*学年計算

[if exp="f.ターン表示2 > 12"]

[eval exp="f.ターン表示2 = f.ターン表示2 - 12"]
[eval exp="f.学年 = f.学年 + 1"]
[jump target="*学年計算"]

[else]

[endif]

[eval exp="f.月表示 = f.ターン表示 + '月' ]
[eval exp="f.学年表示 = f.学年 + '年生'"]
[ptext layer="1" x="1080" y="90" size="40" text="&f.月表示"]
[ptext layer="1" x="1080" y="50" size="40" text="&f.学年表示"]

年度表示は、12月で年が変わる通常の暦進行と、学年の更新が並行するので、それぞれが別々に計算されるよう工夫してみました。これによって、12月の次は1月になり、4月になると学年が変わるようになります。

進学…?ご自身で頑張ってください…。

そういえば日にちも作ってないな。30日で1月なら単純な応用で作れそうですが、31日やら閏年やらを考慮すると結構面倒そう。いいアイデアあれば教えてください。

一緒にゲームを作りませんか?

一緒にゲームを作りませんか?
オリジナルのゲームを作る仲間が欲しい。自作のストーリーやキャラクターをゲームにしてみたい。
などなどお考えの方は、お気軽にお問い合わせください。
どのような方かがわかるSNSなどのアカウントも添付していただけるとありがたいです。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

補足

次の記事

よくあるミス