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=shinya kunisada]
# 【第6回】 復習+残り燃料やスロットをしゃべらせよう
:::success
## ◆ 今回の目標
- ### 残り燃料をしゃべらせよう!
- ### 目の前にブロックがあるかどうか調べよう!
:::
## ◆ 復習をしよう
今日はまず、今まで習ったことの復習をしていこう!
## ◆ 何をならった?
- 対話画面とエディタ画面の違い
- プログラムを動かす方法
- 数字や文字の入る箱「変数(へんすう)」
- いろんな命令
## ◆ 対話画面

ここでタートルとお話しするよ!
<span class="focus">プログラムを実行する</span>のも対話画面だよ!

※ただし、対話画面では<span class="focus">プログラムを書くこと</span>はできないよ!
## ◆ プログラムを編集するコマンド
対話画面で
```shell
edit プログラム名
```
とすると、<span class="focus">エディタ画面</span>に移動するよ!
## ◆ エディタ画面

ここでは、<span class="focus">プログラムを新しく作ったり、編集(へんしゅう)</span>したりすることができるよ!
※作ったプログラムは<span class="focus">必ず保存</span>しようね!
## ◆ プログラムを動かす方法

作ったプログラムを動かすには、対話画面で<span class="focus">プログラム名</span>を打って、<span class="focus">Enterキー</span>を押せば実行されるよ!
## ◆ 数字の入る箱
そこで、<span class="focus">数字が入る名前がついた箱</span>をイメージしてみよう。
例えば<span class="focus">kazu</span>っていう名前の箱

## ◆ 箱の中の数は変えられる
入っている数は<span class="focus">自由に変えることができる</span>としよう

## ◆ プログラムで書くと...
数字を箱に入れるイメージをプログラムで書くと、次のようになるよ!
```lua=
kazu = 10
```

## ◆ 変数
この<span class="focus">kazu</span>のような箱のことを<span class="focus">変数</span>というんだよ!
変数には自由に数を入れることができるんだ!
<span class="focus">=(イコール)</span>を使うと、変数に値を<span class="focus">代入する(入れるっていうこと)</span>という意味を表すんだ!
算数や数学で使う=(イコール)とは意味が違うから注意してね!

## ◆ 変数の名前
変数の名前は、君が自由につけていいんだ。
ただし、<span class="focus">頭文字は数字じゃダメ</span>だからね!

## ◆ 変数を使う
変数は、例えば<span class="focus">スロットの番号</span>や<span class="focus">燃料の数</span>を入れておくことができるよ。
```lua=
# 変数を使わない場合
turtle.select(11)
# 変数を使う場合
slot = 11
turtle.select(slot)
```
## ◆ いろんな命令
これまでにいろんな命令を習ったね!
下の命令リストを見て思い出してみよう!
```lua=
-- 命令リスト
turtle.forward() -- 前に進む
turtle.back() -- 後ろに進む
turtle.up() -- 真上に上がる
turtle.down() -- 真下に下がる
turtle.turnLeft() -- 左を向く
turtle.turnRight() -- 右を向く
turtle.select(スロット番号) -- スロット番号を選ぶ
turtle.refuel(個数) -- 個数だけ燃料を入れる
```
## ◆ さっそく
復習はこれで終わり!
これから、今回の目標
- <span class="focus">残りの燃料を調べよう!</span>
- <span class="focus">目の前にブロックがあるかどうか調べよう!</span>
をやっていこう!
## ◆ タートルにしゃべってもらう
タートルにしゃべらせたいときに使う命令は<span class="focus">print()命令</span>だよ!
print()のかっこの中に、しゃべらせたい内容を書くことで、タートルをしゃべらせることができるんだ
例えば、「<span class="focus">techchance</span>」としゃべらせてみよう!
次のようにプログラムすることになるよ!
```lua=
print("techchance")
```
プログラムがかけたら保存してね!実行してみよう!
「<span class="focus">techchance</span>」と表示されたかな?
## ◆ なんでも喋ってくれる

<span class="focus">文字</span>を喋らせたいときは「<span class="focus">” (ダブルクォーテーション)</span>」を文字の最初と最後につけないといけないんだ!
<span class="focus">数字や変数</span>のときには「”」をつけなくてOKだよ!
## ◆ 変数の中身も喋ってくれる

命令のかっこの中に<span class="focus">変数</span>を入れれば、 変数の中身をしゃべってくれるよ!
## ◆ 課題1

print命令を使って <span class="focus">konnichiwa</span> としゃべらせよう!
## ◆ 課題2

変数に好きな言葉を入れて、中身をしゃべらせてみよう!
## ◆ タートルに話かける

<span class="focus">io.read()命令</span>で、タートルが話を聞いてくれるよ!

## ◆ 聞いた内容を変数に入れる
<span class="focus">変数 = io.read()命令</span>で、話しかけた内容を変数に入れることができるよ!
```lua=
kaiwa = io.read()
# kaiwaという変数に、話しかけた内容や文字が入る
```
## ◆ キーボードで話かける
<span class="focus">キーボードで文字や数字を打ち込んで</span>話しかけるよ!
<!-- {%youtube 7fFn2MsxSto %} -->
## ◆ 課題3
<span class="focus">io.read()命令</span>を使って、タートルに話しかけた内容をそのまま<span class="focus">print()命令</span>でしゃべらせよう!
## ◆ 残り燃料をしゃべらせる

タートルの残り燃料をしゃべらせてみよう!
## ◆ 残り燃料を教えてくれる命令

<span class="focus">turtle.getFuelLevel()命令</span>と「= (イコール)」で、残り燃料を変数に入れることができるよ!
## ◆ 課題4

<span class="focus">turtle.getFuelLevel()命令</span>と<span class="focus">print()命令</span>を使って、タートルに残り燃料をしゃべらせてみよう!
## ◆ 目の前にブロックがあるかを調べる

<span class="focus">turtle.detect()命令</span>でタートルの目の前に ブロックがあるかを調べることができるよ!
## ◆ trueとfalse

目の前にブロックがあると<span class="focus">true(トゥルー)</span>、ブロックがないと<span class="focus">false(フォルス)</span>と教えてくれる
## ◆ 課題5

<span class="focus">turtle.detect()命令</span>と<span class="focus">print()命令</span>を使って、目の前にブロックがあるかしゃべらせよう!
## ◆ trueとfalse
「<span class="focus">true</span>」は<span class="focus">yes</span>や<span class="focus">はい</span>という意味
「<span class="focus">false</span>」は<span class="focus">no</span>や<span class="focus">いいえ</span>という意味なんだよ!
## ◆ trueとfalseも変数に入る

trueとfalseも<span class="focus">変数に入れることができる</span>よ!
今はあまり使わないけど覚えておこう!
## ◆ どう使う?

例えば、<span class="focus">turtle.detect()命令</span>で目の前にブロックがあるか判別して ブロックをよけて進むときに使える!
## ◆ もっと丁寧にしゃべらせる

最後に、もう少していねいにしゃべらせてみよう!
## ◆ 文字と変数を組み合わせる
「<span class="focus"> ..(ドット2つ)</span>」で<span class="focus">文字</span>と<span class="focus">変数</span>をつなぐと、文字と変数を組み合わせてしゃべらせることができるんだ!
<small>print命令でしゃべるときに,変数に合わせて文字も一緒にしゃべらせたいときがあります。</small>
<small>そんなとき,ドット2つで変数と文字をつなぐことができます。</small>
<small>文字と変数でも文字と数字でもできます。</small>
<small>変数と文字,数字と変数など逆の組み合わせでも大丈夫です。</small>

## ◆ 課題6

変数Aを作って、<span class="focus">A wa 変数Aの数 desu</span> としゃべらせよう!
## ◆ 課題7

課題3を改良して、
<span class="focus">nokori nenryou wa (残り燃料の数) desu</span>
と、ていねいにしゃべらせるようにしよう!
<!-- <div class="link-box">
<a href="#" class="link prev">◀︎ 前の内容に戻る</a>
<a href="#" class="link next">次の内容に進む ▶︎</a>
</div> -->