SHIROのIchigoJam日記

マイコン「IchigoJam」(イチゴジャム)の電子工作とプログラミングをメインに

雪が降るプログラム

*この記事はIchigoJam Advent Calendar 2022に参加しています。

画面に雪が降る、クリスマスっぽい簡単なプログラムです。

雪が降るプログラム


実行すると、上からしんしんと雪が降ってきます。ただそれだけです。

10 '*SNOW FALL
20 CLV:CLS:M=18
30 FOR N=0 TO M STEP 2
40 X=RND(32)
50 Y=RND(22)
60 LC X,Y:?"*"
70 [N]=X
80 [N+1]=Y
90 NEXT
100 @LOOP
110 FOR N=0 TO M STEP 2
120 X=[N]
130 Y=[N+1]
140 LC X,Y:?CHR$(0);
150 X=X+RND(3)-1
160 X=X&31
170 Y=Y+1
180 IF Y>22 Y=0
190 LC X,Y:?"*";
200 [N]=X
210 [N+1]=Y
220 WAIT 2
230 NEXT
240 GOTO @LOOP

IchigoJam webではこちら。
動物シェア「イタチ、モモンガ、スナメリ」

  • 220行のWAITを変えると、雪が降るスピードが変わります。IchigoJam webで動かす場合は「WAIT 0」にしてください(それでも遅いですが)
  • 雪は60行と190行で表示しています。文字を変えると雪の形が変わります。
  • 20行の「M=18」を変えると、雪の個数が変わります。現在は10個ですが、Mを2増やすと11個、4増やすと12個…と増えます。が、増やした分だけ降るスピードが遅くなるので、動きを見ながら調整してください。

雪が降るプログラム(BGM付き)

曲は「もろびとこぞりて」(Joy to the world)。
IchigoJam実機で動かした動画はこちら。

www.youtube.com

10 '*SNOW FALL BGM
20 CLV:CLS:M=18
25 PLAY "T150 <C2>B.A8G2RF E2D2C2RG A2RAB2RB <C2C1RC C>BAGG.F8E8R8<C C>BAGG.F8E8R8E EEEE8F8G2RF8E8 DDDD8E8F2RE8D8 C<C2>AG.F8E8R8F E2D2C2R2"
30 FOR N=0 TO M STEP 2
40 X=RND(32)
50 Y=RND(22)
60 LC X,Y:?"*"
70 [N]=X
80 [N+1]=Y
90 NEXT
100 @LOOP
110 FOR N=0 TO M STEP 2
120 X=[N]
130 Y=[N+1]
140 LC X,Y:?CHR$(0);
150 X=X+RND(3)-1
160 X=X&31
170 Y=Y+1
180 IF Y>22 Y=0
190 LC X,Y:?"*";
200 [N]=X
210 [N+1]=Y
220 WAIT 2
230 NEXT
240 IF SOUND() GOTO @LOOP ELSE RUN