1.16.5日本語化リソースパック配布

302個のMODの翻訳が完了したので YouTube にて配布いたします 。翻訳の内容など不備はありますが、無いよりはましだと思って使ってください。翻訳したMODの詳細については、まとめるのが面倒くさいので止めておきます。このリソースパックを導入することがマイクラMOD攻略の近道...

2022年10月21日金曜日

コンピュータークラフトでプログラム10 露天掘り編

パート10

1段を掘りぬくプログラムから考え直す


1列を掘り進むプログラムを基本としてプログラムを考える


列の移動をなくしてループYOKOでプログラムを組む
ループTATEをループYOKOで8回処理するプログラム
当然タートルを動かすと8x8で64ブロック前に掘り進む

このプログラムに列の移動を組み込む


ループYOKOの処理回数で列の移動を管理
ループYOKOには処理回数に応じて
1,2,3,4,5,6,7,8と数字が入る
これを利用して列の移動を管理する


右回りに列を移動するのは
ループYOKOの1,3,5,7回目の処理となる
複数個の選択プログラムの書き方
(YOKO==1)or(YOKO==3)or(YOKO==5)or(YOKO==7)
このようにカッコをorでつないでいく
これで1か3か5か7ならば、ということになる


それらに当てはまらない場合は左回りに列を移動する
else--そうでないなら
1,3,5,7に当てはまらない場合
ここでは2,4,6,8となり、その場合は左回りに列を移動する


このプログラムで動かしてみると
ループYOKO8回目の処理で左回りに列を移動して露天掘り範囲から1ブロックはみ出してしまう


最後のループYOKOの8回目の処理で分岐を作る
elseif
これでさらに分岐を作る
elseif YOKO~=8 then
もしもループYOKOが8でないなら左回りに列を移動
ループYOKOが2,4,6の時に左回りに列を移動して8の時には何もしない


他にもいろいろ書き方がある
ループYOKOが2,4,6なら左回りに列を移動し8の時には何もしない
初めはこの方がわかりやすいかもしれないが
~=
否定文も理解しておきたい


左回りに列を移動を先にするとこうなるが処理の順番に考えると右回りに列を移動の方がしっくりくる


回れ右をして1段下がり2段目を掘る準備をする
else
を付け加えて3分岐目を作る
これでループYOKOが8になった時に回れ右をして1段下がる
まわれ左でもOK


ループYOKOを16までとして2段目まで掘るプログラムにする
2段目は左回りに列を移動から始まるのでループYOKOの処理は10,12,14となる
そして2段目の最後の16回目の処理で回れ右をして1段下がる


このプログラムを読むと
  1. ループYOKOは1から16まで実行
  2. 下のブロックを破壊
  3. ループTATEで1列を掘り進む
  4. もしもループYOKOが1,3,5,7,10,12,14ならば
  5. 右回りに列を移動
  6. もしもループYOKOが8と16でなければ(2,4,6,9,11,13,15の時)
  7. 左回りに列を移動
  8. ループYOKOの終わり
これを16回繰り返すことで2段目まで掘って3段目を掘る準備をする

このように書けばわかりやすくなる
2番目の分岐、左回りに列を移動の判断を
==
で書くとこうなる


このページの動画です
応援してね

0 件のコメント:

コメントを投稿

関連コンテンツ