第6回/第7回/第8回

第7回「変数の基本その4」

膨大な量の変数を管理できる

1.変数の取り込み

敵キャラクターのステータスを読み込むときに、いちいち「なまえは "敵攻撃 10 なまえは "敵防御 5…」とやっていては、きりがありません。敵の数が増えると、この敵キャラクターの設定のための手順が膨大な量になってしまいます。ここでは、それをどうやって管理するかを学びます。

2.設定ステータスに共通していること

敵キャラクターの場合、スライム「なまえは "敵攻撃 10 なまえは "敵防御 5…」、ガーゴイル「なまえは "敵攻撃 125 なまえは "敵防御 80…」と、実際変化しているのは数値だけで、変数の名前は共通しています。これをうまく利用すると、面倒なステータス設定が簡単になります。

3.テキストボックスボックスを利用する

そこで、テキストボックスを利用します。まず、変数の名前だけを羅列したテキストボックスを作ります。「テキストボックス名:敵データ 中身:敵攻撃 敵防御 敵HP 敵MP 敵素早さ…」そして、次に敵の名前のテキストボックスを作っていきます。テキストボックスの中に書くのは、数値だけです。敵データのテキストボックスと同じ順番に数値を入れていきます。「テキストボックス名:スライム 中身:10 5 3 0 2…」、「テキストボックス名:ガーゴイル 中身:125 80 150 25 40…」そして、それぞれの敵のテキストボックスから、敵データというテキストボックスを作って変数を作り出すことが可能になります。 テキストボックスから変数を作成

「いくつめ」という用語を使います。

テキストボックス…敵データ 「敵攻撃 敵防御 敵HP 敵MP 敵素早さ」
テキストボックス…スライム 「10 5 3 0 2」
テキストボックス…ガーゴイル 「125 80 150 25 40」

手順は 敵データ取り込み
なまえは "整理番号 1
くりかえす 5 「なまえは (いくつめ :整理番号 リストにしたもの 敵データ) (いくつめ :整理番号 リストにしたもの スライム) なまえは "整理番号 :整理番号 + 1」
おわり

リストにしたもの

リストについてはのちの回で説明しますが、「リストにしたもの」は、一つの文字の集まりを、スペースによって単語に分ける働きをしています。

汎用性を持たせる

今のままだと、「スライム」というテキストボックスからしかデータを取り込めず、汎用性がありません。どのテキストボックスにも対応させるためには、以下のようにします。

手順は 敵データ取り込み :テキストボックス名
なまえは "整理番号 1
くりかえす 5 「なまえは (いくつめ :整理番号 リストにしたもの 敵データ) (いくつめ :整理番号 リストにしたもの :テキストボックス名) なまえは "整理番号 :整理番号 + 1」
おわり

このように引数(ひきすう)をとって、そこにテキストボックスの名前を入れて実行します。

テキストボックスからデータを読み込む

敵データ取り込み スライム
したへかく :敵攻撃
敵データ取り込み ガーゴイル
したへかく :敵攻撃

変数の作成を簡単に

テキストボックスを使わないでたくさんの変数を作る方法もあります。こちらを使うほうが一般的ですが、考え方はテキストボックスを使うやり方と同じです。

手順は 敵データ取り込み2
名前を皆なくす
名前は "敵データ 「攻撃 敵防御 敵HP 敵MP 敵素早さ」
名前は "スライム 「10 5 3 0 2」
名前は "ガーゴイル 「125 80 150 25 40」
なまえは "整理番号 1
くりかえす 5 「
なまえは (いくつめ :整理番号 リストにしたもの 敵データ) 
( いくつめ :整理番号 リストにしたもの スライム) 
なまえは "整理番号 :整理番号 + 1

おわり

4.変数を保存する

変数は、マイクロワールドを終了してしまうとなくなってしまうため、マイクロワールド起動時に設定しなおさなければなりません。しかしながら、ゲームの途中の変数を設定しなおすことは普通出来ません。そこで、テキストボックスには字が残ることを利用して、変数を保存するわけです。

データ保存・読み込み

あらかじめ「保存データ」というテキストボックスを作っておきます。

手順は 保存
保存データ、
かく :敵攻撃 つづける かく "| | つづける かく :敵防御 つづける かく "| | つづける かく :敵HP つづける かく "| | つづける かく :敵MP つづける かく "| | つづける かく :敵素早さ
おわり

読み込みは敵データ読み込みと同じです。

第8回へ進む