• 無料体験 いつでもお問い合わせ下さい

プロクラ中級向け 関数の使い方

はじめに

こんにちは。デジタルステーション習志野スタッフの荒井です。

今回の記事では、プロクラでの、関数の使い方を解説していきたいと思います。

生徒さんに関数を教えていると、たまに「どんな時に使うんだろう」といった声を聞くことがあります。

 

確かに、教わったばかりの段階では、何に便利なのか分からないどころか、使うのが面倒だと感じることもあると思います。

 

そこで、プロクラでの関数の上手な使い方について、ピラミッドを作るプログラムを作りながら、書いていこうと思います。

(もっと効率的な書き方はあるかもしれません。参考程度にご覧ください。)

 

1.ピラミッドの4分の1を作る

 

マインクラフトでのピラミッドは、色々形があると思いますが、今回は斜めにブロックを置いて作ります。

まず最初に、下の画像のピラミッドを4等分したものを自動で作る関数を作っていきます。

左側のものを作る

 

 

 

 

 

 

そして、完成した関数「MakeQuarterPyramid」がこちらです。

引数のcreate_sizeには数字が入って、入力した数字の高さのピラミッドを作ってくれます。

 

もう一つの引数create_directionは、4分の1ピラミッドの傾斜ができる方向を数字で指定することができます。

キーボードについているテンキー(電卓の数字入れるボタンみたいなところ)で入力するとイメージしやすくなるように作ってみました。

 

途中で出てきた 呼び出しDiagonalLineというのは、斜めの線を描くために作った関数で、中身は下の画像のようになっています。

 

 

 

 

 

 

 

 

 

この関数は、「このブロックで線を作成」ブロックを使えば不要ですが、せっかくなので自分で作ってみました。

関数を使うことで、引数に入れる数字を変えることで、状況に応じてプログラムを使うことができるようになります。

 

このコードの意味を全て理解して読めたのであれば、もうプロクラ中級はクリアと言ってもいいくらいには難しくなってしまいましたが、もしよかったらそっくりそのまま真似をして書いてみてください。

 

 

 

 

 

最後に、チャットコマンドに入れると、このようになります。

 

チャットコマンドにも引数を作って、そのままさっきの「MakeQuarterPyramid」関数に入れています。

 

長いもし~の文章は、簡単に言うと「方向を指示するための引数に、決まった数字を入れたらピラミッドを作る。それ以外なら、入れてほしい数字をお知らせする」という意味になります。

 

これを、「qpyra 5 9」のように入力して実行すると、高さが5の4分の1ピラミッドが出てきます。

 

2:さっきの関数を使ってピラミッドを作る

ここからは、楽勝です。

 

先ほど作った「MakeQuarterPyramid」関数を、方向を変えて4回実行するだけです。

 

 

 

 

 

 

 

 

新しく、「pyra」というチャットコマンドを作り、もし引数が0ではない(=何かしら0以上の数字が入力されている)なら、関数を呼び出してピラミッドを作ります。

もし、入力された数字が0だったり、何も入力されていないときは、コマンドを入力した人に使い方のメッセージを送信します。

 

3:実行してみよう

さて、今回作った関数を実行してみましょう。

せっかく手間をかけて作ったので、人の手では作るのが大変な、120段のピラミッドを作ってみましょう。

 

 

 

 

 

 

 

 

 

 

ものすごく大きなピラミッドが徐々に組みあがっていきます。

 

 

 

 

 

 

 

 

 

 

完成しました。

おまけに80段ほどのピラミッドを上にのせてみました。

 

これを人の手で作るとなれば、相当な時間がかかりそうですが、1時間くらい考えてコードを書くだけで、これが量産できるようになるんです。

まとめ

いかがでしたでしょうか。

 

今回は、関数を使ってピラミッドを作ってみました。

 

関数は、コマンドを使う人が使い方を知っていれば、中身が分からなくても柔軟に作るものを変えたりすることができます。

 

また、ほかのプログラムに使いまわすこともでき、見た目がすっきりするだけでなく、同じことを何度も書く必要がなくなります。

コードを丸々コピーして何個も作らず、関数で一か所にまとめられれば、後からミスに気付いたり、いっぺんに改良したい時に、手間と変更忘れを予防することもできます。

 

コードを書く手間に関しても、今回のピラミッドのような大きなものであれば、むしろ短時間で済むということもあります。

 

今後、プロクラ以外でプログラミングなどをする場合は、特に重要なものとなるので、ぜひ上手に使えるようになってほしいです。

 

最後までご覧いただきありがとうございました。

お疲れさまでした。

 

デジタルステーション習志野

〒274-0063 船橋市習志野台4-1-7 習志野駅前郵便局2F