Squeakでプログラミングの基礎を学ぶ授業の2時間目
まず、前回の復習を兼ねて、本校の校章を描く。生徒証より、説明を引用する。
【校章の由来】
総合学科高校である本校の理念の基に集う人々が、現在から未来へ、この場所から世界へと「時空」を広げながらスパイラル(らせん)的に夢を実現して行く姿を表しています
【校章図形の作り方 】
(1) 10(単位の長さ)進む。
(2) 進行方向から左に60°回転して、20(単位の長さの2倍)進む。
(3) 進行方向から左に60°回転して、30(単位の長さの3倍)進む。
(4) 進行方向から左に60°回転して、40(単位の長さの4倍)進む。
(5) 進行方向から左に60°回転して、50(単位の長さの5倍)進む。
(6) 進行方向から左に60°回転する。
(1)~(6)を6回繰り返す。
このアルゴリズムに従って素直にタイルをはめ、数値を変更していく。
今の段階では、変数やループの概念は教えない方が良いと考えている。

枠の左上の「!」アイコンで、スクリプトが1回実行される。
0/1/2/3/5ステップ目の描画の様子を示す。虫の向きにも注意。

このように図形を描画する過程で、「順次」と「繰り返しの基本」を理解する。
次は、「判定(条件分岐)」を理解するために、車に道路を往復させる。
車の先頭にはセンサー役の○を描き、このパーツ(モーフ)が道路や動路外の色と接するか否かを条件とする。
色の選択は、カラーピッカーのスポイトでダイレクトに摂取することができる。

単純に道路を往復させるにも、判定は2通りあり、向きが変わるタイミングが異なる。
まずは、道路の色を判定に使った場合の臨界状態。

次は、道路外の色を判定に使った場合の臨界状態。

どちらにせよ、「!」アイコンで1ステップずつ行なうのは手間がかかる。ストップウォッチアイコンで連続実行するが、それでも車が進む速度が遅い。
ここが狙い!
車の進むドット数を5から増やすと早くなるとアドバイス。極端に大きな数値を入れると、道路外で向きを変え続けることになる。理由は各自で考えさせる。
さらに大きな数値だと、画面外に出て見えなくなってしまう。他の方法もあるが、今は座標の概念を理解させるために、車のy座標の数値を変更することで戻させる。
■次のように、二車線道路を左側通行で往復させよと、課題を与えて終了。

次回は中間試験前の最終回。
曲線コースをライントレースする課題を用意している。
最近のコメント