この記事ではマインクラフトとコードコネクションを用いて、プログラミングによって虹をかける方法を紹介します。マインクラフトでプログラミングができるようになる環境構築については過去記事を参考にしてください。
コードコネクションを開き、新しいプロジェクトを作ります。適当に名前を付けましょう。私はrainbow
という名前にしました。
配列(リスト)
虹をかける前にリストの説明をします。高度なブロック
を開いて配列
を選び、からの配列ブロックを取り出しましょう。
配列のプラスボタンを押し、空の要素を7個作ります。
上から順に色のついたブロックを入れていきます。一般的な虹色である赤、オレンジ、黄色、緑、空色、青、紫を入れました。
変数blocks
を宣言し、この要素の配列を入れましょう。
配列の中から〇〇の値を変数〇〇に入れて繰り返す
を取り出し、blocks
の値を変数block
に入れて繰り返すとします。
ループの中にはこのブロックで円を作成
ブロックを入れます。これは高度なブロック
の中の図形
にあります。
中心を自分から東方向に20、高さ-5のところにします。半径には変数r
を宣言して入れておきましょう。r
の初期値はとりあえず15
を入れておきます。ループの中でrの値を減らしながら、赤から順番に紫まで円を書いていくことで虹のような見た目になります。
巻く方向
をx(東西)
にしておくと虹がいい感じに見えます。
穴をあけたいのでモードはアウトラインにしてみましょう。
完成したコードは以下のようになります。
コードを実行して作られる虹は以下のような見た目になります。実行完了まで結構時間がかかります。
穴が開いています。半径を1ずつ下げていくと、上下左右方向にはぴったり埋まりますが、斜め方向には誤差が出てこのように穴が開いてしまいます。
仕方ないので、モードを置き換えにして、紫の後ろに空気を入れます。
コードと実行結果は以下のようになります。
リストで作っていたことで、空気を最後に追加するコードの変更が楽でした。色の追加・削除や変更・順番変えも楽にできます。
虹のアレンジ
もう少し大きく、色一つ一つの幅が広い虹をかけてみましょう。
変数r
を大きく、例えば30とかにして、減らす量を-3ずつにすると実現できます。
コード例と実行結果は以下の画像のようになります。