前回、好きな高さを指定して簡単にピラミッドを建造するスクリプトを作成しました。
今回は前回のスクリプトに今まで実践してきた事を応用してピラミッドで遊んでみます。
ではその応用した結果をみてみましょう!!
高さはh=20に指定してみます。
じゃん!!
なんじゃこれ!!
溶岩と水であふれかえってます・・・すげーピラミッドだな。
しかも上から6段目は苗木か?隙間ができてる。
探検してみますか。もっと上空から眺めますかね。
これはこれでかっこいいな。
上から6段目にきました。やはりオークの苗木ですね。
ではもう1回同じスクリプトを走らせてみましょう。
えい!!
おお!!今度は水の神殿ですか!!
少しジャンプして空中でスクリプトを走らせると、流れ出るブロックの場合は上から下に流れて面白いですね。
ちょっとてっぺんのブロックに行きましょう。
もう2段目のBlockから水が流れ出てますね。なんか見ているだけで水は気持ちいいです。
向こうには今まで構築してきたピラミッドが見えます。
では下に降りてみましょう。
おお!水のカーテンですね。
では、水のカーテンの向こうには、何があるのか!!
探検ですね。ワクワクします。
さ、行きましょう!!カメラさんも一緒にどうぞ!!
カーテンの向こう側には・・・
おお!!ここはやばいです!!
クモ、クリーパー、スケルトン・・・様々なやつらがいます!!
どうやら水のカーテンで閉じ込められたようです。
ここは早くずらかりましょう!!
ということで、今回は前回のピラミッドを構築するスクリプトに、そのピラミッドを構成するブロックをランダムに選定するスクリプトを追加してみました。
なのでスクリプトを走らせる度にピラミッドの様子が変化します。
2度と同じピラミッドはできないでしょうね。
スクリプトは以下になります。
赤字が今回重要なスクリプトになります。
8行目のrandint関数が0〜434の範囲でBlock IDをランダムに指定します。
ランダムのID数は r の変数に入ります。
この関数を利用する際は3行目で指定しているとおり、randomモジュールをimportしておきます。
そして今回の目的はピラミッドの1段毎にBlockをランダムに指定しますので、7行目の for文の中にrの変数の式を入れておきます。
10行目のsetBlocksの r がBlock IDを設定する箇所です。
ここの r が変化することでBlockの種類が変化します。
これで1段毎にランダムに指定されたBlockのピラミッドが構築されます。
簡単な割になんかワクワクするスクリプトですね。
念の為Block IDをおさらいします。
以下のパスのmcpiの中にblock.pyというのがありますので、このスクリプトをのぞいてみてください。
/users/ユーザー名/library/application support/minecraft/versions/1.12.2-forge1.12.2-14.23.5.2768/mcpipy/mcpi/block.py
下の一覧は全てではないですが0〜26まで抜粋するとBlockの種類とIDの紐付けが出来ます。
ちなみに、Block ID =6(苗木) のみのピラミッドを作成してみましょう。
えい!!
うわ〜苗木が天から降ってきた!!!
あれ?時間が経つと苗木が育ってきた・・・
どんどん育つ!!
さらに育つ!!
森林が出来たー!!森の神殿だ〜!!
というようにBlockによってピラミッドとして構築しているのにいろいろな変化があり楽しいです。
このスクリプト楽しすぎる。
ということで今回はrandomモジュールを利用したピラミッドの構築でした。