行動回数・行動力システムを再現する
この記事は、「基本編」の内容を前提に記述しています。
先に、「基本編」を読んでください。
基本編で作ったターン制システムを基にして、ティラノスクリプトで、「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などのアカウントも添付していただけるとありがたいです。