行動回数・行動力システムを再現する

この記事は、「基本編」の内容を前提に記述しています。
先に、「基本編」を読んでください。

基本編で作ったターン制システムを基にして、ティラノスクリプトで、「1ターンに、○回行動できる」という行動回数・行動力の仕組みを実装してみます。

基本行動回数を設定する

以下のコードを、育成画面のファイルの、エンディング処理より下、育成画面のラベルより上に記載します。

[eval exp="f.行動回数 = 5" ]

これで、基本の「行動回数」を「5」として設定します。もちろん、変数の名前や、数値は、任意で設定してください。

ちなみに、育成画面のラベルより上に記載するのは、ターン開始時に、基本の行動回数のリセットを簡単に行うためです。また、ラベルより下に記載すると、行動するごとに行動回数がリセットされてしまいます。

残り行動回数を表示する

今度は、育成画面のラベルより下、育成コマンドのボタンより上に、下記のようなコードを記載してください。ターン表示の上か下でいいです。

[eval exp="f.行動回数表示 = '行 動:' + f.行動回数 + '回'"]
[ptext layer="1" x="0" y="50" size="40" text="&f.行動回数表示"]

これで、「行 動:5回」みたいに表示されるはずです。とりあえず簡単な表示にしてみましたが、ご自由にカスタマイズしてみてください。

変数と任意の文字を組み合わせて前景レイヤーへ表示する方法については、下の記事で解説しています。

行動回数の消費

行動回数を消費させたいコマンドの下、育成画面のラベルに戻るコードより上に、下みたいな感じで、記載します。

[eval  exp="f.行動回数 = f.行動回数 - 1" ]
[jump  target="*育成画面"  ]

これは、「行動回数を1減らす」というものです。数字の数字の部分を書き換えれば、消費する行動回数を変えられます。

行動回数不足によるターン強制終了

育成コマンドのボタンの上に、下記のコードを記載してください。育成画面のラベルより下であれば問題ありませんが、「行動回数」などの表示よりも先に書くと、以下の文書表示中は、「行動回数」などが表示されなくなります。常に表示しておきたい文字やボタンは、これより上に記載してください

[if exp="f.行動回数 == 0"]

これ以上、行動できません![l][cm]
[jump target="*ターン終了"]

「行動回数が0になったら、行動できないことを伝えるメッセージを表示し、ターン終了処理を行う」というコード。

ターン終了処理は、基本編の「ターン制を再現する」で作りました。

行動回数不足でコマンド実行を不可能にする

1つの行動につき、行動回数を1づつ消費するシステムであれば問題ありません。

しかし、2以上の消費を行う場合、このままでは、行動回数がマイナスになってしまう事態が発生します。

そうならないようにする方法をいくつか紹介します。

基本的には、「残り行動回数が、そのコマンドが消費する行動回数を下回れば、そのコマンドを実行できないようにする」という形式で、「if」を利用して、対象のボタンなどを挟む形になります。

以下、「勝負」というコマンドが、行動回数を「2」必要とするものとします。

ボタンを非表示にする

残りの行動回数が、「2」を下回れば、それを実行するボタンを表示しないというものです。一番、手軽に行えます。

[if exp="f.行動回数 < 2" ]

[else]

[glink  x="auto"  y=""  width="350"  height=""  size="30"  text="勝負"  target="*勝負"  ]

[endif]

「2以上ならボタンを表示する」という形にもできますので、お好きなように。

参照:https://tyrano.jp/sample2/code/kiso/19#demo

回数不足を伝える

上の方法だと、急にボタンが消えてしまうため、ユーザーに対して、ちょっと不親切かもしれません。

ここでは、「ボタンを押すと、行動回数が不足していることを伝えるメッセージを表示する」という方法を紹介します。

まず、先ほどのコードに、少し追記します。

[if exp="f.行動回数 < 2" ]

[glink  x="auto"  y=""  width="350"  height=""  size="30"  color="gray"   text="勝負"  target="*行動回数不足"  ]

[else]

[glink  x="auto"  y=""  width="350"  height=""  size="30"  text="勝負"  target="*勝負"  ]

[endif]

育成コマンドのボタンより下に、以下のコードを記載してください。

*行動回数不足

行動回数が足りません![l][cm]
[jump  target="*育成画面"  ]

残りの行動回数が、「2」を下回れば、それを実行するボタンが灰色になり、クリックすると、行動回数不足を示すメッセージを表示する、というものです。

「このアイテムを使うと、行動回数が1回復する」、「この特性を持っていると、基本の行動回数が6になる」など、色々と応用も考えられます。ただ、ここで扱うと長くなってしまうため、それらについては別の機会で。

また、行動回数制ではなく、体力制(ターンをまたいで「体力」の数値が維持され、回復コマンドなどを使って数値を増やすタイプ)も、気が向いたら作ってみます。

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

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

コメントを残す

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

基本編

前の記事

4.ターン制を再現する
応用編

次の記事

ゲーム内イベントを作る