先生をプログラミングして

お菓子をゲットしよう

2017.11.26 @ななめな学校2

寺田直和

じこしょうかい

てらだ なおかず

(職業:プログラマー)

しょくぎょう

プログラム

機械への命令

=

きかい

めいれい

プログラムをみてみよう

  • プログラムの「正解」は一つじゃない
    あるのは「目的」だけ
  • ロボットはかしこくない
  • たくさん考えること
  • プログラミングっぽい考え方

だいじなこと

やってみよう!

プログラミングゲーム

  1. ステージの横のわくにカードを使って
    みんなでプログラミング
  2. できたプログラムをよみあげて、先生をうごかす
    (先生はプログラムどおりにうごきます)
  3. ステージ上のアイテムをぜんぶとれたらクリア
  4. チャレンジステージでゲットしたお菓子は後で本物のお菓子と交換できます

ゲームのながれ

  • すすむ

  • たべる

カード

お菓子

アイテム

例題

スタート位置

  1. プログラムはカードを使ってつくります
  2. カードには色んな種類があります
  3. 先生は、上から順にひとつずつカードにかかれた
    動きをします

プログラムのつくりかた

すすむ
すすむ
すすむ
食べる
プログラム

例題:きほん

すすむ
すすむ
食べる
すすむ
すすむ
すすむ
すすむ
すすむ
食べる

できるだけ少ないカードで

クリアしよう

ジュース

アイテム

お菓子

カード
  • すすむ

  • たべる

  • 右向け右

  • のむ

例題(ジュースをのむ)

すすむ
すすむ
たべる
右むけ右
すすむ
すすむ
のむ
プログラム

例題(ジュースをのむ)

カード
  • すすむ

  • 右向け右

  • たべる

  • のむ

練習問題1

すすむ
すすむ
右むけ右
すすむ
すすむ
たべる
右むけ右
すすむ
右むけ右
すすむ
のむ
プログラム

練習問題1(こたえ)

くりかえし

テクニック1

カード
  • すすむ

  • 右むけ右

  • たべる

  • のむ

  • くりかえし

例題(くりかえし)

すすむ
たべる
すすむ
たべる
すすむ
たべる
すすむ
たべる
プログラム
(4)回、くりかえし{
  すすむ
  たべる
}

例題(くりかえし)

カード
  • すすむ

  • 右むけ右

  • たべる

  • のむ

  • くりかえし

練習問題2

(4)回、くりかえし{
    すすむ
    たべる
    すすむ
    のむ
    すすむ
    すすむ
    右むけ右
}
プログラム

練習問題2

カスタムカードで

命令をつくる

テクニック2

カード
  • すすむ

  • 右むけ右

  • たべる

  • のむ

  • くりかえし

例題(カスタムカード)

  • カスタム

右むけ右
右むけ右
右むけ右
すすむ
食べる
プログラム

例題(カスタムカードをつくる)

左向け左 {
 

}
カスタムカード
左むけ左 {
    右むけ右
    右むけ右
    右むけ右
}
左むけ左 {
    右むけ右
    右むけ右
    右むけ右
}
左向け左
すすむ
たべる
プログラム
カスタムカード
左むけ左 {
    右むけ右
    右むけ右
    右むけ右
}
左向け左
すすむ
食べる
プログラム
カスタムカード

例題(カスタムカードをつくる)

チャレンジステージ1

カード
  • すすむ

  • 右むけ右

  • たべる

  • のむ

  • くりかえし

  • カスタム

左向け左{
    右むけ右
    右むけ右
    右むけ右
}
すすむ
左向け左
すすむ
すすむ
左向け左
すすむ
のむ
すすむ
すすむ
左向け左
すすむ
たべる
すすむ
のむ
すすむ
すすむ
左向け左
すすむ
すすむ
たべる
プログラム
カスタムカード

チャレンジステージ1

じょうけんぶんき

テクニック4

じょうけん +  ぶんき

「もし◯◯なら…」

わかれ道

  • もしテストで100点とったら…
  • もし宿題が早くおわったら…
  • もしおこづかいがふえたら…
  • もし雨がふったら…
カード
  • すすむ

  • 右むけ右

  • たべる

  • のむ

  • くりかえし

  • カスタム

  • もし…なら…

例題(じょうけんぶんき)

もし(       )なら {
    // ①
}

「じょうけんぶんき」のつかいかた

おかしがある
おかしがない
ジュースがある
ジュースがない
使えるじょうけん
もし(       )なら {
    // ①
}
それ以外なら {
    // ②
}
もし(       )なら {
    // ①
}
それ以外でもし(        )なら {
    // ③
}
それ以外なら {
    // ②
}
もし(       )なら {
    // ①
}
それ以外でもし(        )なら {
    // ③
}
それ以外でもし(        )なら {
    // ④
}
それ以外なら {
    // ②
}

①

③

④

②

例題(じょうけんぶんき)

カード
  • すすむ

  • 右むけ右

  • たべる

  • のむ

  • くりかえし

  • カスタム

  • もし…なら

じょうけん
  • おかしがある

  • おかしがない

  • ジュースがある

  • ジュースがない

プログラム

例題(じょうけんぶんき)

すすむ
すすむ
もし(おかしがある)なら {
    たべる
}
もし(ジュースがある)なら {
    のむ
}

練習問題3

カード
  • すすむ

  • 右むけ右

  • たべる

  • のむ

  • くりかえし

  • カスタム

  • もし…なら

じょうけん
  • お菓子がある
  • お菓子がない
  • ジュースがある
  • ジュースがない

テクニックのおさらい

  1. くりかえし
  2. カスタムカードをつくる
  3. じょうけんぶんき
左むけ左 {
    右むけ右
    右むけ右
    右むけ右
}
くりかえし(4){
    左むけ左
    すすむ
    右むけ右
    すすむ
    もし(おかしがある)なら {
        たべる
    }
    もし(のみものがある)なら {
        のむ
    }
}
プログラム
カスタムカード

練習問題3

カード
  • すすむ

  • 左むけ左

  • たべる

  • のむ

  • くりかえし

  • カスタム

  • もし…なら…

じょうけん
  • お菓子がある
  • お菓子がない
  • ジュースがある
  • ジュースがない
  • すすめる

  • すすめない

チャレンジステージ2

チャレンジステージ2

くりかえし(1000){
    もし(すすめない)なら {
        右むけ右
    }
    それ以外なら {
        すすむ
        もし(おかしがある)なら {
            たべる
        }
        もし(のみものがある)なら {
            のむ
        }
    }
}
プログラム

ファイナルステージ

カード
  • すすむ

  • 右むけ右

  • たべる

  • のむ

  • くりかえし

  • カスタム

  • もし…なら…

じょうけん
  • お菓子がある
  • お菓子がない
  • ジュースがある
  • ジュースがない
アイテム

まとめ

  • プログラムの「正解」は一つじゃない
    あるのは「目的」だけ
  • ロボットはかしこくない
  • たくさん考えること
  • プログラミングっぽい考え方
  • スクラッチ

 

おうちであそべるプログラミングゲーム

  • Swift Playground
Made with Slides.com