番外編.「文字の表示速度を変えるには?」


 多くの市販ゲームでは文字の表示速度を変えることができます。

 でも、初心者には少し難しいため、後回しにしていました。

 市販ゲームと同等の設定にするのは大変なので、とりあえず文字の表示速度を変える基本を学びましょう!

 全ての文字を一気に表示する場合と違って、一文字ずつ表示する場合には、全部で何文字あるかをプチコンに指示しなければなりません!

 そのために、LAST(T$) で文字数を示します。

 変数 T$別の変数でも構いませんが、他の変数と重複しないように注意してください!

 LOCATEX座標も一文字ずつ表示する場合には、表示位置が変化していくので、文字数によって座標が変化します。

 そのために、( I MOD TN ) という式で X座標を指定します。

 ( I MOD TN ) + 1 としているのは、最初の文字を一段ずらすためです。

 

 文字の大きさが異なれば、表示できる文字数も変化しますし、変数 TN に代入する数値が変化します。



 LOCATE の Y座標も一文字ずつ表示する場合には、表示位置が変化していくので、文字数によって座標が変化します。

 そのために、( I DIV TN ) という式で Y座標を指定します。

 ( I DIV TN ) + 10 としているのは、最初の文字を表示する行を指定するためです。

 

 文字の大きさが異なれば、表示できる行数も変化しますし、最初の文字を表示する行の指定も数値が変化します。

 上の画像のようにプログラムを入力すれば、一文字ずつ表示されるようになります。

 緑色の部分は入力しなくても構いませんが、それ以外の部分は全て正しく入力してください!

 入力し終わったら、プログラムを実行してみてください。

 

 ウェイト時間を変えたい場合は、変数 WT に代入する数値を変えてください。



応用編.「早送り機能を追加しよう!」


 設定したウェイト時間だと、全文を表示し終えるまでに時間がかかってしまいます。

 すでに読んだことがある文を早送りしたいと思うこともあるでしょう。

 そういう場合に、早送り機能があると便利です♪

 少し難しくなりますが、数行の追加で実装できるので、挑戦してみましょう!

 Bボタンが押されたら一括表示するようにしたい場合、どのタイミングでボタンが押されても良いように、MID$ を使います。

 これでBボタンが押された時点で、残りの文字を一括で表示します。



 上の画像のようにプログラムを入力すれば、早送りが可能になります。

 緑色の部分は入力しなくても構いませんが、それ以外の部分は全て正しく入力してください!

 入力し終わったら、プログラムを実行してみてください。

 この画像を見ても、早送りが可能かどうか確認できませんが、

Aボタンを押している間だけ早送りします。

 また、Bボタンを押した瞬間に残りの文字を一括表示します。

 

 これで文字の表示速度を変えることができるようになりましたね♪(*´ω`*)