LEDでナナイロづくり 2

3.一括色設定
@STR_WS.LED(S,(I,C,L))

3000 @STR_WS.LED(S,(I,C,L))
3010 FOR I=0 TO LEN(S)-1
3020 C=ASC(S+I)-48
3030 GOSUB @SET_WS.LED(I,C,L)
3040 NEXT

3050 RETURN

・文字列を使用して、一度に複数個のLED色を設定します。
———————————————————————
変数 S 色パターン
文字列で0~7をLED数分を指定します 。
数字以外のエラーチェックはしません。
IchigoJamの場合、35文字以上指定すると配列エラーになります。
———————————————————————
変数 L 輝度
———————————————————————
※変数 I 位置
 変数 C 色
これらの変数は文字列の文字パターンを作るために、サブルーチン内で使います。
そのため、I,Cの値は、文字列最後の文字の設定値が入ります。

※このサブルーチンでは、@SET_WS.LEDサブルーチンを呼びだします。
ただし、つぎのようにGOSUB命令を直接置き換えれば不要です。
各変数の範囲チェックはしません。
3030 LET[I*3],C&1*L,(C&2&&1)*L,(C&4&&1)*L

サンプルプログラム3

10 CLV
20 S=”123456700000″
30 L=50
40 GSB @STR_WS.LED(S,(I,C,L))
50 WS.LED 12
60 END


※LEN(S)命令は文字列の長さを返します。
 これをWS.LED命令の引数に使用すると、文字列の長さに応じたLED数を取得できます。
10 CLV
20 S=”123456700000″
30 L=20+RND(40)
40 GSB @STR_WS.LED(S,(I,C,L))
50 WS.LED LEN(S)
60 ?STR$(S),LEN(S),L
70 END