「はかいく。」富山弁で仕事や勉強がはかどることを「はかいく」とか「はかいった」という。「あー,はかいった,はかいった。」と言う富山の人がいても,頻繁にお墓参りに行く信心深い人とは限らない。

 さて,夏休みの宿題は「なーん,はかいかん」かずであるが,借り物のRIS2.0でせっせとロボットを作っている。



 こっちの方は,はかいったようである。プロチャレンジのセキュリティボットである。ロボットといってもあちこち動きまわるのではなく,バーコードのようなカードを読み取り金庫を開閉するロボットである。



 かずが厚紙にマジックで黒く線を引いた。



 このカードをスライドさせ,ロボットに取り付けたライトセンサーに読ませる。



 正しいカードだと,ふたが開いて中からトレイが出てくる。ライトセンサーで読み取った黒い線の本数を変数にカウントアップし,プログラムに記憶した数と一致するときに,モーターを回し,ふたを開きトレイをスライドさせるのである。そして,もう一度カードを読ませるとトレイが収納され,ふたが閉まる。



 セキュリティボットにはもう1つ仕掛けがあり,別のパターンのカードを読ませると,後部の秘密のトレイが出てくる。

 淡々と書くと,これだけのことなのだが,プログラムはかなり難しかった。難しいといっても自分で作ったわけではなく,表示されたサンプルプログラムをそのままダウンロードしただけなのだが,このプログラムを理解するのに時間が掛かった。ライトセンサーとタイマーセンサーで処理を起動していくのであるが,RIS2.0から使えるようになった変数を多く使っている。

 センサー値との比較にも,トレイが開いているかどうかの状態を示すためにも変数を使用し,もし変数の値がXXXなら○○○を行う,そうでなければ□□□を行うという条件分岐,つまりif文で処理を分岐し,リピートで処理を繰り返していく。

 変数が使えるようになったことでプログラムロジックが作りやすくなったのであるが,人の作った複雑なロジックのプログラムを読んで理解することは難しく,かずはサッーと眺めて理解するのをあきらめた。こうしろうはねばって,だいたいを理解した。

 RIS1.0の標準プログラム開発環境は,いかにもMindStormsの本体RCX用という感じだったが,RIS2.0のそれは,一般的なプログラム言語の言語仕様に近づいたようだ。