表示する3Dモデリングとアニメーションジオラマ作り自動車を作る最近のコメントアーカイブ2018年11月2018年3月2017年9月2017年8月2017年7月2017年6月2017年5月2017年4月2017年3月2017年2月2017年1月2016年12月2016年11月2016年10月2016年9月2016年8月2016年7月2016年6月2016年5月クリエイティブまさ工学系の大学を中退し、全く別の職種に就いている日曜プログラマー。三児の父として子どものプログラミング教育に興味を持ち、多くの人が楽しくプログラミングの世界に触れる方法を模索している。プログラミング2壁を作る壁を作る今回は、幅10メートル×高さ10メートルの巨大な壁を作るプログラミングを考えていきます。実際に手を動かし、試行錯誤しながら進めると、プログラミングの基礎が身につきます。幅2メートル×高さ1メートルの壁を作ってみるまずは、前回作ったプログラミングを確認します。1)を設定するスクリプトでした。このプログラミングを改造(modify)していきます。v]を送るを追加します。(0.1)秒待つは初めて出てきましたが、スクリプトが円滑に実行されるように、一旦停止してタイミングを取る機能があります。v]を送るが実行され、目的通りの働きをしてくれないのです。(0.1)秒待つを設置するのを忘れないようにしましょう。秒でなくてもかまいません。秒にして高速に建築を進めることも可能です)スクリプトエリアのブロックセットをクリックして実行すると、2つブロックが並んで設置できました。v]を送るを実行して、設置したブロックを消してください。)幅10メートル×高さ1メートルの壁を作ってみる先ほどと同じように、末尾にブロックを追加していきます。(setBlock)を送るを切り離して、「複製」してください。操作を9回繰り返します。と一つずつ変えていきます。すると、以下のブロックセットができるはずです。v]を送るブロックをどんどんつなげていくと、スクリプトが長くなってきます。スクリプトエリアのブロックセットをクリックして実行すると、目的通り、10個のブロックが並びました。これで完成でもよいのですが、ちょっとカッコ悪いです。長いスクリプトになってくると、ブロックを並べるのも大変ですし、間違いも増えてくるでしょう。(10)回繰り返すが入っています。このブロックを使うと、長いコードを短くすることができます。スクリプトが読みやすくなって(可読性が向上)、バグ(スクリプトの誤り)を見つけやすくなります。end(10)回繰り返すを使って、スクリプトを書き換えました。末尾の部分が随分、短く読みやすくなりました。v]を(1)ずつ変えるが初めて登場しました。繰り返すたびに変数の値を増やしていくブロックです。このブロックがないと、同じ場所に「石ブロック」を10回設定してしまい、目的の働きをさせることができません。()回繰り返すと()を()ずつ変えるはセットで使うと覚えておいてください。実行すれば、10個のブロックが並び、目的が達成されました。繰り返し処理は便利なので覚えておきましょう。今後は高さを10個にするスクリプトに挑戦します。幅10メートル×高さ10メートルの壁を作ってみる高さを10段にするには、繰り返しブロックを使うと良さそうです。v]を(1)ずつ変えるを追加します。endこれで「X方向にもY方向にも10回繰り返す」スクリプトができそうです。スクリプトを実行してみましょう。横にずれて、階段のようになってしまいました。v]を[0]にするを追加してやることでした。end1段目から2段目に移る時に、X方向のズレを修正してやることで目的の動作を実現できました。箱を作ってみる追加のミッションをやってみましょう。同じように、Z方向に10回繰り返すスクリプトを書いてみてください。答えを見る前に自分で考えて、実際手を動かしてやってみることが大事です。答えは、上のスクリーンショットのブロックセットになります。v]を(1)ずつ変えるZ方向に繰り返すさいに、「mcpiX,」「mcpiY」の値をリセットすることを忘れないようにしましょう。このプロジェクトは、「ファイル」→「名前を付けて保存」から保存しておきましょう。新しい名前は「mcpi_box」としました。このプロジェクト(mcpi_box.sb)はダウンロードして、自分で確かめることがきます。サンプルプログラムのページへ(サンプルプログラムのページに移動します。ダウンロードしたいファイルのリンクをマウスで右クリックして、「対象をファイルに保存」などのメニューを実行してください。)次回のお題は「チェック模様の床を作ろう」です。「条件分岐」について考えていきます。【付録】座標系の簡単な説明コンピューターに仕事をさせるには、正確に位置を指定してやらなくてはなりません。正確に位置を指定するには、「座標系」を使うと便利です。上の図は、「3次元直交座標系」と言います。マインクラフトでも採用されている、最もポピュラーな座標系です。3つの値を使って表します。主人公(steave)が初めに立っている位置を原点(0)として、前方向をZ、左手方向をX、上方向をYとして、座標系が決定されています。Z=0の地点に登場しますが、Y方向は初登場した場所(平地または丘、山)によって数値が違います。v]を[0]にする上のスクリーンショットのスクリプトを実行すると、マインクラフトの世界に座標系を描くことができます。(本来、座標系は細い線で表しますが、マインクラフトなので、1メートルのぶっとい線になってしまいますが。+30)、実行してみてください。指定した場所に黒い点が設置されます。何度も繰り返すうちに、黒い点がどの辺りに現れるか予想がつくようになってくるでしょう。座標系の感覚が身についてくるまで、やってみよう。位置に点を置いてあります)このプロジェクト(mcpi_coordinate_system.sb)はダウンロードして、自分で確かめることがきます。サンプルプログラムのページへ(サンプルプログラムのページに移動します。ダウンロードしたいファイルのリンクをマウスで右クリックして、「対象をファイルに保存」などのメニューを実行してください。)座標系は3次元の話になるので、少し難しく感じる人もいることでしょう。マインクラフトで自動建築をするためには必要な知識です。繰り返し学習して身につけてください。次回は、模様のついた床作りに挑戦します。