owned this note
owned this note
Published
Linked with GitHub
###### tags: `minecraft`
<style>
* {font-family: 'Terminal','ヒラギノ丸ゴ ProN','Hiragino Maru Gothic ProN',YuGothic,'Yu Gothic','Hiragino Kaku Gothic ProN','ヒラギノ角ゴ ProN W3','Verdana','Arial',sans-serif;}
.markdown-body {font-family: 'Terminal','ヒラギノ丸ゴ ProN','Hiragino Maru Gothic ProN',YuGothic,'Yu Gothic','Hiragino Kaku Gothic ProN','ヒラギノ角ゴ ProN W3','Verdana','Arial',sans-serif;}
h2 {padding-top: 50px;}
img {margin: 20px auto;}
.alert-success {margin-top: 50px;}
.alert h2 {padding-top: 0px;}
.part {letter-spacing: .1rem;}
.markdown-body h3 {margin-top: 12px;margin-bottom: 12px;}
.markdown-body p {font-size: 1.25em;margin-top: 12px; margin-bottom: 16px;}
.markdown-body li {font-size: 1.25em;}
.markdown-body pre {font-size: 20px;}
.focus {color: red;font-weight: bold;}
.link-box {display: flex;justify-content: space-between; margin-top: 50px;margin-bottom: 50px;}
a.link {display: block; width: 50%; padding: 10px 15px; text-align: center; color: #fff; font-weight: bold; font-size: 20px; letter-spacing: .1em; text-decoration: none;}
a.link:hover {opacity: 0.85;}
a.prev {background: linear-gradient(to bottom, #1A7BBD 0%, #1A7BBD 50%, #125684 51%, #125684 100%); border-radius: 10px 0 0 10px;}
a.next {background: linear-gradient(to bottom, #D76820 0%, #D76820 50%, #964816 51%, #964816 100%); border-radius: 0 10px 10px 0;}
</style>
> [name=wataru yamamoto]
# 【第41回】 タートルで自動ドアを操作しよう
:::success
## ◆ 今回の目標
- ### タートルでレッドストーン回路を操作してみよう!
- ### 自動でドアを開けたり閉めたりできるようにしよう!
:::
## ◆ レッドストーン回路とは?
レッドストーンというアイテムを地面に置くことで地面に赤い線(レッドストーン回路)を書くことができるよ

このレッドストーン回路は<span class="focus">現実世界の電気</span>みたいな役割をもっているよ
現実世界と同じようにスイッチにつながっている<span class="focus">照明をつけたり、自動でドアを開けたり</span>できるんだ!
## ◆ レッドストーン回路の準備
レッドストーン回路を使うために、レバーと鉄のドアを作ろう

鉄のドアは自分で開けたり閉めたりできないから、<span class="focus">レッドストーン回路で開けたり閉めたりする必要があるよ!</span>
:::success
## ◆ 課題1:レッドストーン回路を使ってみよう
:::
鉄のドアとレバーをレッドストーンでつないでみよう!

レバーを右クリックするとレッドストーン回路のONとOFFが入れ替わって、鉄のドアが開いたり閉まったりするよ!
## ◆ タートルでレッドストーン回路を操作する
レバーの代わりにタートルを置くと、プログラムでレッドストーン回路のONとOFFを操作できるようになるよ
タートルからレッドストーン回路のONとOFFを切り替える命令は、<span class="focus">rs.setOutput( 方向 , ONかOFF )命令</span>だよ!

rs.setOutput()命令の1つ目の引数は<span class="focus">方向</span>を表すよ!
"front"の部分を変えると、タートルから見てどの方向のレッドストーン回路を操作するかを選べるよ
必ずレッドストーン回路がつながっている方向を選ぶようにしよう!

rs.setOutput()命令の2つ目の引数は<span class="focus">レッドストーン回路のONかOFFをか</span>を表すよ!
レッドストーン回路をONにしたいときは「true」に、OFFにしたいときは「false」を選ぼう
:::success
## ◆ 課題2:タートルで鉄のドアを開けてみよう
:::
課題1のレバーの代わりにタートルをおいて、プログラムで鉄のドアを開けてみよう!

鉄のドアを開けるためには、ドアにつながったレッドストーン回路を「ON」にすればOKだよ!
:::success
## ◆ 課題3:タートルで鉄のドアを閉めてみよう
:::

鉄のドアを開けるためには、ドアにつながったレッドストーン回路を「OFF」にすればOKだよ!
## ◆ 鉄のドアを開けた後、自動で閉まるようにしよう
鉄のドアを開けて自動で閉まるようにするためには、レッドストーン回路をONにした後OFFにするプログラムを書けばいいね

でもこのままでは、プログラムの動きが早すぎてドアを開けた後すぐに閉まってしまうんだ
開いたドアを人間が通れるようにするには、レッドストーン回路をONにした後しばらくしてからOFFにすることが大事だね
<span class="focus">sleep( 秒数 )</span>命令を使うと、タートルはプログラムの途中で好きな秒数だけ待ってから次の行のプログラムを実行してくれるよ

:::success
## ◆ 課題4:自動で閉まる鉄のドアを作ろう
:::
鉄のドアを開けた後、5秒待ってから自動でドアを閉めるようにしよう!
:::success
## ◆ 課題5:ドアの開け閉めをくり返そう
:::
while文を使って課題4のプログラムをループさせてみよう!
レッドストーン回路をOFFにした後にもsleep()命令を入れるのをわすれないようにね!
sleep()命令は1秒ぐらいでOKだよ!
## タイマー回路
課題5で作ったONとOFFを繰り返す回路のことをタイマー回路というよ
このタイマー回路はディスペンサーやピストンなどいろいろなものにも使うことができるよ!
もしレッドストーン回路が得意な人がいたら、いろいろ作って遊んでみよう!