SHIROのIchigoJam日記

IchigoJamの電子工作とプログラミングをメインに

イチゴさんぽ

2/14に学習指導要領の改定案が発表され、現在パブリックコメントが募集されています。
http://search.e-gov.go.jp/servlet/Public?CLASSNAME=PCMMSTDETAIL&id=185000878&Mode=0
何と言っても小学校でのプログラミング教育必修化(総則に入りました)が注目です。
プログラミング教育の一例として、小学校5年生算数の「図形」が挙げられています。
「正多角形の作図で、(プログラミングで)繰り返し作図を行い、さらに(作図の)一部を変えていろいろな正多角形を考える」と記されています。
どうやらタートルグラフィックスをイメージしているようです。
そんな訳で、簡単なタートルグラフィックスのプログラム「イチゴさんぽ」を作ってみました。


起動すると、画面中央にイチゴくんが表示されます。
上に付いている縦棒は、イチゴくんの向きを表します。
矢印キーを押すと、イチゴくんを上下左右に移動できます。
スペースキーを押すと、イチゴくんの向きを時計回りに45度ずつ変えられます。


1〜9の数字キーを押すと、イチゴくんが向いている方向に、指定した歩数だけ足跡を残して歩きます。
イチゴくんの位置や向きを操作して、足跡で図形を描いてください。


多角形が描けました。


ちょっと遊んでみました(笑)

算数の多角形の授業でこのプログラムを使うとすると、こんな問題はどうでしょうか。

【問題1】
(1)3歩進む(3を押す)
(2)向きを45度変える(スペースキーを押す)
この2つの操作をくり返すと、どんな図形が描けるでしょうか?
【問題2】
直角三角形を描くには、どのキーをどんな順番で押せばいいでしょうか?
プログラムを実行する前に考えてみましょう。
ちなみに問題1はこんな感じです。

プログラムリストはこちら。
CHR$(255)がイチゴくん、CHR$(165)が足跡「・」です。
文字コードを変えると、キャラクターが変わります。

10 '*Ichigo Sanpo
20 CLV:CLS:CLK
30 LET [0],0,-1,1,-1,1,0,1,1,0,1,-1,1,-1,0,-1,-1
40 LET [20],146,25,145,26,146,25,145,26
50 X=15:Y=11:D=0
60 '@LOOP
70 L=INKEY()-48
80 IF 01 U=X-1
110 IF BTN(RIGHT) AND X<29 U=X+1
120 IF BTN(UP) AND Y>1 V=Y-1
130 IF BTN(DOWN) AND Y<21 V=Y+1
140 IF BTN(SPACE) D=D+1:IF D>7 D=0
150 LC X,Y:?CHR$(C);
160 LC E,F:?CHR$(G);
170 X=U:Y=V
180 E=X+[D*2]:F=Y+[D*2+1]
190 C=SCR(X,Y):G=SCR(E,F)
200 LC X,Y:?CHR$(255);
210 LC E,F:?CHR$([20+D]);
220 WAIT 5
230 GOTO 60
240 '@DRAW
250 BEEP
260 LC E,F:?CHR$(G);
270 U=X:V=Y
280 FOR I=1 TO L
290 LC U,V:?CHR$(165);
300 U=U+[D*2]:IF U<1 U=1
310 IF U>29 U=29
320 V=V+[D*2+1]:IF V<1 V=1
330 IF V>21 V=21
340 NEXT
350 X=U:Y=V
360 E=X+[D*2]:F=Y+[D*2+1]
370 C=SCR(X,Y):G=SCR(E,F)
380 CLK:RTN
MixJuiceでもダウンロードできます。
?"MJ GET comich.net/ichigojam/ichigosanpo.txt"