見出し画像

[初心者向け]初めての変数。ツクールとかウディタとか

こんにちは!
今日はツイッターで変数がよくわからない、
というつぶやきを頂いたので、
自分なりに変数について書いてみることにしました。

1 変数ってなんだろう?

突然ですが、
みなさん中学生のときにならった方程式を覚えていますか?

X+Y=5

とかいう、感じのやつです。
数学だとこんな感じですが、
このXとYが、まさしく変数と言われるものです。

なので、これが
A = 3 + Bでも、

HP = MAXHP - DAMAGE

でも、名前は何でもいいです。
ツクールなどのツールだと、
設定で日本語名もつけれますよね。
変数というのは、
自由に計算をしていくためのものだと言えます。

2 何に使うのでしょうか

変数って必要なの?
と言われると、たぶん無くても、凄く頑張れば何とかなりそうです。
しかし、あれば便利だったりします。

例えば、簡単な計算ですが、

主人公の残りHP = (敵の攻撃力) - (主人公の防御力)

こういったものを自前で計算するとき、
すでに三つの変数が必要になります。

変数主人公の残りHP = データ上の主人公の残りHP
変数敵の攻撃力 = データ上の敵の攻撃力
変数主人公の防御力 = データ上の主人公の防御力

このように、データ上にある、それぞれの数値を、
用意した変数に設定します。
そして、変数を使い、計算をします。
計算を終えたら、

データ上の主人公の残りHP = 変数主人公の残りHP

このように、変数の値をデータ上に設定しなおします。
すると、例えば戦闘が終了したあとも、
ステータスをみると、
ちゃんと設定された値が表示されます。

3 代入して計算する

さきほどの例をとりあげます。

変数主人公の残りHP = データ上の主人公の残りHP

このように書くと、
右側のデータ上の主人公の残りHPが
変数主人公の残りHPへと設定されます。
この設定することを、代入(だいにゅう)といいます。


変数主人公の残りHP = データ上の主人公の残りHP

仮に右側が50だと左も50になりますし、
右側が60だと左も60になります。

なので、
左側が60で、右側が50だと、
代入されて、左側が60から50になります。

では、例を変更します。

変数現在地X = データ上の主人公の現在地X
変数現在地Y = データ上の主人公の現在地Y

こうすると、主人公の現在いる座標のXとYが、
それぞれ代入されます。

主人公は、普通は移動します。
仮にXが120、Yが160の場所から、
Xが200でYが280の場所に移動したとします。

まずは、代入します。

変数現在地X = 120(データ上の主人公の現在地X)
変数現在地Y = 160(データ上の主人公の現在地Y)

移動すると勝手に、

データ上の主人公の現在地X = 200
データ上の主人公の現在地Y = 280

と、なります。
ここで、元の場所に一気に戻りたい、
という、処理を行うとき、変数が役に立ちます。

データ上の主人公の現在地X = 変数現在地X
データ上の主人公の現在地Y = 変数現在地Y

こうすると、
変数にはあらかじめ120と160が設定されているため、
この変数を使えば、元の場所に一気に戻る処理を行うことができます。

ちなみに、文字も代入することができます。

変数主人公の名前 = プレイヤーが入力した名前

例えば、自由にプレイヤーが名前をつけることができるゲームの場合、
変数に名前を代入し、その変数をメッセージの表示などで使用すれば、
どんな名前でも、対応することができます。
何かしらの文字を保存したいときは、利用するのが吉です。

4 まとめ・様々なものを代入して慣れよう

ツクールやウディタでは、
変数をデータベース上に設定し、
その変数をイベントで使用することができます。
アイテム名、主人公の名前、
そして、ゴールド、敵や仲間のステータスなど、
代入可能なものは、全て代入できます。

ゲームを制作するとき、
自分が実現したいイベントに、
どんなデータが必要かを考え、
そして、変数に値を代入し、
計算すればその計算の結果を使用する。

それが、変数を使用して、
ゲーム制作をすることのポイントとなるでしょう。

それでは、短くて急ピッチな説明でしたが、
ここでお開きにしたいと思います。
今後も、何かしらあれば、
書けるものは、書ければと思います。


この記事が気に入ったらサポートをしてみませんか?