こんにちは。
JavaScriptさわってみる企画4回目。この企画は参考にしているJavaScriptの入門書の全6章の内、3章からスタートしたのですが(1章・2章はhtmlとかcssだったので流し読みしただけ)、まだ3章の途中です。なげー(゚Д゚;)
参考にしている本↓
※以下、初心者による記事ですので正確な情報が必要な方は他サイトを調べることをオススメします。
今回は配列とループということでおそらくどんなプログラミング言語にもある考え方(機能?)ですね。
配列は複数の変数を用途でグループに纏めたようなもので、ループは名前の通り繰り返し処理を行うこと。このへんの考え方なんかは調べたらすぐに分かり易い解説とかが見つかると思います。
RPGツクールMZで作ろうとしているゲームのシステム面の作成にとりかかる前にここまでは勉強しておきたいと思っていたところです。
なぜならシステム構築の試行をしているときに変数の管理画面がこうなってしまったからです↓
同じような名前の変数がずらっと並んでいます。敵の座標を格納する変数を作っていたのですが6体分でこれ。他にもHPを格納するための変数もあったりします。
このままでは変数の数がたいへんなことになってしまいます。まぁこれでもなんとかなるといえばなるのですが、知っている人ならこんなときは配列を使おうとするのが普通だと思います。
私がそうしなかったのはJavaScriptでの使い方を調べるのが面倒だったからですが勉強を始めてしまったのでこれからは活用したいと思います。
本によれば配列の宣言の仕方はこう↓
var 配列名 = [値①,値②,値③…];
var は古いのでconstを使うことになると思います。宣言と同時に初期値が代入されてまして、例えば値①を取り出したいときは
配列名[0]
として、値②を取り出したいときは
配列名[1]
です。[]内の数字が増えていくわけですね。さっきの事例のために使うとしたら配列名をenemyxとでもして宣言することで全ての敵のx座標をこの配列に格納できるわけです(たぶん最初に初期値を入れる必要がある)。
本には出てきてませんがRPGツクールMZのプラグインで配列を使っているものに"Array"っていうのをよく見た気がしたのでネットで調べてみました。
const 配列名 = new Array[〇];
”new”っていうやつを掘り下げることは現段階ではやめておきます。こう宣言すると〇個の値が格納できる配列ができるようです(初期値は無し)。このときの〇を"要素の数”というそうです。初期値として例えば1をそれぞれに代入しておくならこうなりますが…
配列名[0] = 1;
配列名[1] = 1;
配列名[2] = 1;
︙
面倒だ。ここでループの出番です。配列を使った処理を行うにはループが良く使われます(と思う)。上記と同じ処理をするならこう↓
for (var i = 0 ; 〇 ; i++) {
配列名[i] = 1;
}
{}内にある処理を繰り返すのですがどれだけ繰り返すかっていうのは()内に書かれた条件に従います。i ってやつが0から始まって(var = 0 の部分)、1度処理を行うごとに i は1ずつ増えていき(i++の部分)、iが〇(要素数)に達するまで。つまり配列の要素すべてに1を代入したら終了。取り出すときもこんな感じでループを使って処理することが多いと思います。
上記のやつをfor文といって、while文っていうループもありまして
while(条件式){
命令文
}
こう書くそうです。条件式がtrueである限り繰り返すってやつですね。それからループの流れを変えるにはcontinueとbreakってやつがあって、continueは以降の処理を行わずに次のループ処理へとんでbreakは以降の処理を行わず、さらにループを完全に抜けるものだそうです。(このcontinueに相当するものを私は使ったことが無いのであくまで現時点の私の理解がこうであるというものです。違ったらスミマセン。)
今回はここまでです。これで制作ゲームの中身を少しは整理できると良いですが実際に使うとなるとまた難しくなるんですよね(´Д`;)
本の内容も次あたりから難しくなってきそうです。やべー(´-ω-`)
そしてまだ3章だ。やべー(´-ω-`)
次回↓
らくがき。
見ての通り途中ですがゲームに使おうと描きはじめたわけでもないので仕上げるかはわかりません。たぶんブログに貼るために塗ります(´-ω-`)
ランキング参加中です。下のバナーをクリックして頂けるとやる気値が増幅します!!