で、無いものは作ってみます。
幸い、システム変数にMAINCNTLというフレーム数を示すものがあるので、60分の1秒の精度を持つタイマーとして使います。(用語集に1フレーム=1/60秒とあります)
星が点滅し、謎のBGM(雑音)が奏でられるサンプルです。
プログラムでは、次のことをしています。
- 10フレームに1回星を表示
- 20フレームに1回星を消去
- 10フレームに1回ランダムな音色でBEEP
プチコンは表示さえ抑えれば処理速度はめっさ速いので、こんなしくみで処理を詰め込んでもそれなりに動作するようです。
---TIMER INTERRUPT TEST CLEAR:CLS I1=10 I2=20 I3=10 T1=MAINCNTL T2=MAINCNTL T3=MAINCNTL ' @MAIN IF MAINCNTL-T1>I1 THEN GOSUB @INT1:T1=MAINCNTL IF MAINCNTL-T2>I2 THEN GOSUB @INT2:T2=MAINCNTL IF MAINCNTL-T3>I3 THEN GOSUB @INT3:T3=MAINCNTL GOTO @MAIN ' @INT1 LOCATE 10,10:?"★" RETURN @INT2 LOCATE 10,10:?" " RETURN @INT3 BEEP RND(64) RETURN ---I1〜3 ... 割り込みタイミング
T1〜3 ... タイマー保存用
配列変数に入れてループで回し、とび先はON〜GOSUBで管理してもよいかもしれません。
※code-prettify、プチコンBASICだといまいち。
No comments:
Post a Comment