はじめに
こんにちは。デジタルステーション習志野スタッフの荒井です。
今回の記事では、プロクラ中級の配列でよく出てくる、「最後の要素番号」という変数について解説したいと思います。
プロクラ中級では、配列を使うのを楽にするために、最後の要素番号という変数を作ることがあります。
しかし、ただでさえ配列は使い方が難しいので、最後の要素番号については理解に時間がかかる生徒さんが多いです。
そのため、この記事では、できるだけ丁寧に最後の要素番号について解説していきます。
変数「最後の要素番号」の中身
まず気を付けるべき点としては、最後の要素番号の変数の中身は、数字です。
配列について勉強した人は、配列の中身には番号が振られていることを知っていると思います。

上の画像の場合、草ブロックは0番目、木材ブロックは1番目...となっていき、最後の小麦ブロックは4番目になります。
(この、配列の中身を選ぶために使う番号のことを「要素番号」といいます)
そして、画像の下のほうにある部分で、配列の指定した番号の値(今回はブロック)を原点(エージェントの位置)に置いています。
配列の中身を出すときは、その中身(配列の要素)の番号で取り出します。
そして、配列の中身を番号は、0とか1とかの数字を入れて決めますよね。
なので、同じく配列の最後の中身を取り出すために使う変数「最後の要素番号」の中には数字が入っていることになります。
変数「最後の要素番号」の作り方

先ほどと同じ画像を載せました。
変数「最後の要素番号」の中身は、配列の長さ-1にします。なぜそのようにするのでしょうか?
今回の場合、ブロックが5個あるので、配列の長さ(配列の中身の個数)は5個ですよね。
一方、最後の小麦ブロックを使うための番号(要素番号)は、4番目になりますよね。
このように、要素番号は0から数える都合で、配列の長さよりも一つ少ない数字になります。
では、配列の長さから、1だけ引き算してみたらどうなるでしょうか。
今回の写真の場合、配列の長さが「5」で、そこから1引くと、4になります。
一番最後の中身である小麦ブロックの番号「4」と同じになりましたね。
そしたら、さっき計算した数字を、何回も使えるように、「最後の要素番号」という変数に入れます。
これで、最後の要素番号は作れました。
変数「最後の要素番号」を作る理由
変数「最後の要素番号」を作る理由は、主に2つあります。
一つ目は、何回も使うためです。
最後の要素番号は、特にランダムに数字を決める時などに、よく使います。
また、最初の要素番号はどんな配列でも0番目ですが、最後の要素番号はその配列の要素数によって変わります。
そのため、最後の要素番号をいつでも出せるようにしておくと、とても便利です。

配列の中身のブロックをどれかランダムに置く
二つ目は、数字を変える箇所を減らすためです。

上の画像では、配列の長さは5個です。このチャットコマンドを入力すると、

このように、小麦ブロックが出てきます。

上の画像では、変数「配列」にかぼちゃを追加しました。ほかの場所は全く変えていません。

かぼちゃを増やしただけですが、変数「最後の要素番号」のおかげで自動的に最後の要素番号が5に変わったので、かぼちゃが出てきました。
もし、変数「最後の要素番号」を使っているところに直接数字を入れていたら、配列の長さを変えるたびにいちいち書き直す必要が出てきます。
まとめ
いかがでしたでしょうか。
今回は最後の要素番号のみで極力理解しやすいように解説していきました。
配列の仕組みの理解の助けになれば幸いです。
最後までご覧いただきありがとうございました。
お疲れさまでした。
デジタルステーション習志野
〒274-0063 船橋市習志野台4-1-7 習志野駅前郵便局2F
- 駅から徒歩一分
- 入り口はこちら
- 駐輪場