IchigoJamで導入定番の「かわくだりゲーム」の資料をまとめる 

この記事は、[obnizを中心にプログラミング教育の教材を作ったりする（1人アドベントカレンダー）](https://gw-advent.9wick.com/calendars/5)のために作成されました。

#概要
「IchigoJam」は、小学生でも扱えるBASICマイコンボードです。予約語となる命令・コマンドが大文字で記述されていてキーボードの字面通り打ち込めるため、小学生１・２年でもテキストによるコーディングに取り組めるのが特徴です[^1]。
はじめてIchigoJamを触る子どもたちに導入として「かわくだり」ゲームのプログラムを作成するワークショップを行うのが適しています。そこで「かわくだり」ゲームのワークショップ資料をまとめてみました。

[^1]: 余談ですが、小学校１・２年ではマウスで画面上のアイコンやブロックなどをドラッグすることが難しい子どもが多々います（マウスを小さいものに変えてもなかなかできない）。その点、IchigoJamではキーボード上の大文字を絵合わせのように押すだけですのでコーディング操作自体は誰もが間違いなくできます。

#「かわくだり」ゲームとは
以下の様なゲームです。プログラムを `RUN` （実行）させ、ねこキャラクタをカーソルキーで左右（← →）に移動しながら敵キャラクタを避け、川を下っていくゲームです。
![kawakudari01.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/4092/046a255d-02d0-25a9-b688-c6245c20741d.gif)
実際に[IchigoJam Web](https://fukuno.jig.jp/app/IchigoJam/#10%20CLS%3AX%3D16%0A20%20LC%20X%2C5%3A%3F%22%C3%AC%22%0A30%20LC%20RND(32)%2C23%3A%3F%22*%22%0A35%20WAIT%203%0A36%20X%3DX-BTN(28)%2BBTN(29)%0A37%20IF%20SCR(X%2C5)%20END%0A40%20GOTO%2020%0A%0A)でもやってみることができます。表示されたら、 `RUN[Enter]` もしくは `[F5]` キーで実行します。


#「かわくだり」ゲームの教材資料

##かわくだり最新（2019年GW時点）
「かわくだり」ゲームは、IchigoJamのパッケージを購入すると同梱されているプリント「[はじめのいっぽ＆ミニゲームズ](https://ichigojam.net/book/IchigoJam-firstgame.pdf)」に記載されています。単にコードを打つだけでしたらこれで十分ですが、子どもたちが楽しむためにはそうはいきません。そのためスライド資料は少しずつ改善されています。
2019年GW時点で最新のものは以下のものでしょう。

* 福野泰介の一日一創 / Create every day by Taisuke Fukuno
 * 記事 [総合2コマから始める鯖江の小学校プログラミング！ 総合的な学習の時間、IT遊具、クラブ活動、地域ICTクラブ、高度IT人材へのベストプラクティス](https://fukuno.jig.jp/?q=20190315-IchigoJam-1-basic-game.pd)
 * スライドPDF「[はじめてのプログラミング with IchigoJam (PDF)](https://fukuno.jig.jp/pdf/20190315-IchigoJam-1-basic-game.pdf)」(自由に活用、改変できるオープンデータ)

[![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/4092/cbe3e60c-b629-250c-d734-852b10a35660.png)](https://fukuno.jig.jp/pdf/20190315-IchigoJam-1-basic-game.pdf)
このPDFスライドは非常に情報量が多く、キーボードを扱いなれていない子でもうまく進めることができるように手厚く情報があります。特にBASIC言語で必要な記号をどうやってキーボード上で打つのかといった方法をしっかり説明しています。

##かわくだりオンラインチュートリアル

IchigoJamの導入の際には、IchigoJam自体をはんだづけして組み立て、そこから「かわくだり」ゲームを行うという流れが一般的ですが、IchigoJamが無くてもブラウザ上で、IchigoJam BASICが利用できます。
[IchigoJam Web](https://fukuno.jig.jp/app/IchigoJam/)というサイトですが、このサイトで「かわくだり」ゲームのチュートリアルを右画面にレイアウトしたバージョンもあります。

* IchigoJam web by WebAssembly
 * [チュートリアル付き IchigoJam web](https://fukuno.jig.jp/app/IchigoJam/firstgame.html)

[![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/4092/2887692e-eedd-d251-f4f0-cd4a96dc3b4c.png)](https://fukuno.jig.jp/app/IchigoJam/firstgame.html)
手元にIchigoJamがなく、ワークショップの予行演習をしたいときにぴったりです。また、インターネットにつながるパソコンだけで実習をしたい場合にも使えます。

##PCNオフィシャル講師認定　クラブ見学（IchigoJam入門）ビデオ
IchigoJamを中心にプログラミングの面白さを伝える活動をしているPCNの、オフィシャル講師認定のビデオでもIchigoJam入門のためのクラブ見学ビデオで「かわくだり」ゲームのワークショップの様子が収録されています。スライド資料だけでは時間進行が分かりにくいため、こちらを観られることをおススメします。

* PCNオフィシャル講師認定制度 動画学習コース | PCN プログラミング クラブ ネットワーク
 * 記事 [動画学習コース](https://pcn.club/certificate/video.html) 
 * Youtubeビデオ [PCNオフィシャル講師認定　クラブ見学（IchigoJam入門）](https://youtu.be/PNfgvDQpBnw)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/4092/1946178b-034b-443d-59f7-1bf43b789b17.png)
このビデオのワークショップの進行役はナチュラルスタイルの松田（まった）さんです。ちなみに、上記画像は、「かわくだり」ゲームの改造のときに障害物の発生エリアを半分にして、そこに飛び込んでいく[「漢（おとこ）のゲーム:smile:」に改造している様子](https://youtu.be/PNfgvDQpBnw?t=2700)です。
松田さんのこの盛り上げ方を参考にしてください:grin:
##イチゴジャムおじさんの「かわくだり」
みんなのプログラム投稿サイト「[Kidspod;](http://kidspod.club/)」に、イチゴジャムおじさん[^2]が「かわくだり」ゲームのソースコードと指導用の台本があります。台本は申し訳ないのですがあまり役に立たない（指導者がBASICに習熟していない場合特に）のですが、自分なりに進め方を考えて書かれており、参考にはなります（上から目線でスミマセン:sweat:）。あまり多くの子どもたちに「かわくだり」を教えていないな…と感じさせる内容です。ソースも自分なりの考え方（ラベルをつかったり、マルチステートメントや省略形を避ける等）で書かれています。
通常IchigoJamというとJig.jpさん・ナチュラルスタイルさんのやり方を踏襲してしまうのですが、そうではない一個人の考え方と進め方があるのだ、というのが見れるのが素晴らしいところです。

[^2]: Facebookでは、「IchigoJamファン」や「プログラミング教育」で活躍:thumbsup:されています。

* 川下り　その入力と指導用の台本/Kidspod; 
 * http://kidspod.club/program/default.html?id=697

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/4092/eec90e54-8ddc-b909-31ee-3b0ac6444e85.png)

#「かわくだり」ゲーム作成中に使える資料
##IchigoJam キャラクターコード一覧
キャラクタ（文字）ベースのゲームが基本のIchigoJamでは、キャラクタの一覧があると、自分の好きなキャラクタに変えたりして自分だけのゲームを作る楽しみが増えます。また、文字コードの値を`INKEY()`や`BTN()`で読み取ってキー入力を変更したりできます。

* IchigoJam キャラクターコード一覧 - イチゴジャム レシピ
 * [IchigoJam BASIC 1.2～1.3 版](https://15jamrecipe.jimdo.com/%E3%83%84%E3%83%BC%E3%83%AB/%E3%82%AD%E3%83%A3%E3%83%A9%E3%82%AF%E3%82%BF%E3%83%BC%E3%82%B3%E3%83%BC%E3%83%89%E4%B8%80%E8%A6%A7/)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/4092/025d1180-46ac-af02-7f78-a5fac5ff4533.png)