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]
# 【第43回】 パスワード付きドアを作ろう
:::success
## ◆ 今回の目標
- ### パスワード付きドアを作ろう!
- ### if文で使うandやorをマスターしよう!
- ### 複数のパスワードやアカウント名に対応したパスワード付きドアを作ろう!
:::
## ◆ パスワード付きドア
今回はパスワードを知っている人しか通れないような、パスワード付きドアを作ろう!
第41回の資料で作った、レッドストーン回路を使った自動ドアにパスワード機能を追加するよ!

:::success
## ◆ 課題1:パスワード付きドアを作ってみよう
:::
第41回の課題4で作った、5秒間鉄のドアが開くプログラムを改良するよ
io.read()命令で文字を入力して、入力した文字が「TechChance」のときだけ鉄のドアを5秒間開くプログラムを作ろう!

## ◆ if文の復習
条件によって命令を変えるにはif文(いふ文)を使っていたよね

if文は開始部(条件部)と命令部と終了部の3つでできている
if文は条件部の条件を満たしているときだけ命令部に書いた命令を実行していたよね!

## ◆ いろいろなif文
今回はif文の条件部を工夫していろいろなif文を考えてみるよ
if文の条件部に<span class="focus">or</span>や<span class="focus">and</span>をつけることで条件を増やすことができるよ!
<span class="focus">or</span>は「〜または…」という意味を持っていて、orの左側と右側の<span class="focus">どちらかが1つでも条件を満たしていれば</span>、if文の命令部の命令が実行されるよ!

このように<span class="focus">or</span>をいくつか使うと、たくさんの条件を増やすことができるよ!

<span class="focus">and</span>は「〜かつ…」という意味を持っていて、orの左側と右側の<span class="focus">両方が条件を満たしているときだけ</span>、if文の命令部の命令が実行されるよ!

同じように<span class="focus">and</span>をいくつか使うと、たくさんの条件を増やすことができるよ!

:::success
## ◆ 課題2:複数のパスワードを設定しよう
:::
orを使って、2つのパスワードでドアが開くようにしよう!
io.read()命令で文字を入力して、入力した文字が「TechChance」か「Maikura」のときだけ鉄のドアを5秒間開くプログラムを作ろう!

:::success
## ◆ 課題3:アカウント名とパスワードを設定しよう
:::
現実世界で実際に使用されているシステムではアカウント名とパスワードが必要になる場合が多いよ
andを使ってアカウント名とパスワードの両方があっていたらドアが開くようにしよう!
io.read()命令でアカウント名とパスワードを入力して、アカウント名が「Yamamoto」、パスワードが「TechChance」のときだけ鉄のドアを5秒間開くプログラムを作ろう!

:::success
## ◆ 課題4:アカウント名とパスワードを複数設定しよう
:::
課題3を改良して、アカウント名とパスワードの組み合わせを2個作ってみよう
- アカウント名「Yamamoto」パスワード「TechChance」
- アカウント名「Murao」 パスワード「Maikura」
このどちらかの場合だけ鉄のドアを5秒間開くプログラムを作ろう!

## ◆ and と or の順序
andとorには計算される順序があるよ
orよりもandの方が先に計算されていて、かっこを使えば計算の順序を変えることができるよ!
算数の+ - × ÷の順序と同じ感じだからイメージしやすいね!
