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>
# 【第22回】復習 + さいくつプログラムフィルタータイプを作ろう!
## ◆ 復習しよう!
### ここまで習ったことを復習しよう!
:::info
### 習ったこと
- ### for文
- ### if文
- ### Table型
- ### nil
- ### while文
:::
## ◆ for文
### for文を使えば決まった回数だけ命令を繰り返すことができたね!

## ◆ if文
### if文を使えば条件によって実行する命令を変えることができたね!

## ◆ Table型
### Table型は特別な変数で、中にいくつかの数字や文字などをまとめて入れることができたね!

## ◆ nil
### nillは「何もない」という意味だったね
### エラーの原因として出てきたね

## ◆ while文
### while文は条件を満たしているときにずっと命令を繰り返すことができたね!

:::success
## 【目標】
- ### 特定のアイテムだけを捨てよう
- ### さいくつプログラムフィルタータイプを作ろう
:::
## ◆ さいくつプログラムの問題点
### すこし前にfor文を使ってさいくつプログラムを作ったね!
### だけど、じっさいに使ってみるといくつか問題が出てくる...
:::danger
### 【問題点】
- **ねん料が切れたらもどってこれない**
- **土も砂も砂利も全部取ってきてしまう**
- **アイテムインベントリが少ないから、すぐいっぱいになる**
:::
## ◆ 改良しよう!
#### 今回はこの2つを解決できるように、さいくつプログラムを改良してみよう!
:::danger
- **土も砂も砂利も全部取ってきてしまう**
- **アイテムインベントリが少ないから、すぐいっぱいになる**
:::
## ◆ どうすればいいか?
- ### ~~土や石などのいらないブロックは掘らない~~
- ### いらないブロックを捨てながら掘る
### この2つのどちらかで解決できそうだけど、今回は<span class="focus">下の方法を使って</span>解決しよう!
:::success
## 【課題1】土だけを捨てよう!
:::
### タートルの持っているアイテムのうち、土だけを捨てるようなプログラムを書いてみよう

:::info
【ヒント】
### この課題に必要な命令だよ!
- ### turtle.getItemDetail(スロット番号)
- ### turtle.drop()
- ### for文
- ### if文
### 土のアイテムの名前は<span class="focus">minecraft:dirt</span>だよ!
:::
:::success
## 【課題2】さいくつプログラムに組みこもう!
:::
### 課題1のプログラムを、さいくつプログラムに組み込んで改良しよう!
### さいくつプログラムがない人は、まず、さいくつプログラムを作ろう!
:::info
【ヒント】
さいくつプログラムのどこかに課題1のプログラムを書き加えよう!
課題1のプログラムをさいくつプログラムの中のどこのタイミングで動かしたらいいかな?
:::
:::success
## 【課題3】土と砂利を捨てよう!
:::
### 土以外にも不要なものは地下にたくさん!
### 今度は土と同時に砂利も捨ててみよう!

:::info
【ヒント】
### この課題に必要な命令だよ!
- ### turtle.getItemDetail(スロット番号)
- ### turtle.drop()
- ### for文
- ### if文
### 土のアイテムの名前は<span class="focus">minecraft:dirt</span>だよ!
### 砂利のアイテムの名前は<span class="focus">minecraft:gravel</span>だよ!
:::
---
:::success
## 【課題4】またまた組みこもう!
:::
### 課題3を、さいくつプログラムに組みこもう!
### ちゃんと動くかな?
