IchigoJamで始めるプログラミング、第一回の光をあやつろう、第二回のシューティングゲームと入門編をやってきましたが、今回はIchigoJamで使えるBASIC言語の命令をひと通り紹介するリファレンス編です。
IchigoJamでつくろう、リファレンス編
命令 | 解説 | 例 | 対応 |
---|---|---|---|
LED 式 | 式が1なら光り、0なら消える | LED 1 | |
BTN() | ボタンが押されていれば1 | A=BTN() | ver0.6 |
OUT 式 | 外部出力OUT1-4への出力を0-15で指定する(出力は3.3V) | OUT A | ver0.6 |
IN() | 外部入力IN1-4の状態を0-15の数値で返す(入力ポートはプルダウン、繋がない時は0) | A=IN() | ver0.6 |
PRINT 式や文字列 | 文字を表示する ";" で連結できる(文字列は"で囲む) | PRINT "*" | |
INPUT (文字列,)変数 | キーボードからの入力で数値を変数にいれる | INPUT "ANS?",A | ver0.6 |
CLS | 画面を全部消す | CLS | |
LOCATE 式,式 | 次に文字を書く位置を横、縦の順に指定する | LOCATE 3,3 | |
VPEEK(式,式) | 書かれた文字コードを位置を横、縦の順に指定し取得する | A=VPEEK(3,3) | ver0.7.2 |
WAIT 式 | 式の数値フレーム分待つ 60で約1秒 | WAIT 60 | |
INKEY() | キーボードから1文字入力する(入力がないときは0) | K=INKEY() | |
RND(式) | 0から式の数未満の数をランダムに返す | PRINT RND(6) | ver0.3 |
CHR$(式) | 文字コードに対応する文字列を返す | PRINT CHR$(65) | ver0.7.4 |
式 + 式 | 足し算する | PRINT 1+1 | |
式 - 式 | 引き算する | PRINT 2-1 | |
式 * 式 | 掛け算する | PRINT 7*8 | |
式 / 式 | 割り算する(小数には対応していないので注意) | PRINT 10/3 | |
式 % 式 | 割り算した余りを返す | PRINT 10%3 | |
式 & 式 | ビットマスクする | PRINT 3&1 | ver0.7.2 |
式 ^ 式 | ビット反転する | PRINT A^1 | ver0.7.2 |
式 >> 式 | 右シフトする | PRINT A>>1 | ver0.7.2 |
式 << 式 | 左シフトする | PRINT A<<1 | ver0.7.2 |
(式) | カッコ内は優先して計算する | PRINT 1+(1*2) | |
変数 = 式 ※式外 | アルファベット1文字を変数として式の値を入れる | A=1 | |
IF 式 (THEN) 次 | 式が0でなければ次を実行する(THENは省略可) | IF A=B LED 1 | |
式 = 式 ※式内 | 比較して等しい時に1を返す(==でも可) | IF A=B LED 1 | |
式 <> 式 | 比較して等しくない時に1を返す(!=でも可) | IF A<>B LED 1 | |
式 <= 式 | 比較して以下の時に1を返す | IF A<=B LED 1 | |
式 < 式 | 比較して未満の時に1を返す | IF A | |
式 >= 式 | 比較して以上の時に1を返す | IF A>=B LED 1 | |
式 > 式 | 比較してより大きい時に1を返す | IF A>B LED 1 | |
GOTO 行番号 | 次に実行する行を決める | GOTO 10 | |
GOSUB 行番号 / RETURN | 次に実行する行を決め、RETURNで戻ってくる | GOSUB 100 | |
END | プログラムを終了する | END | |
SLEEP | プログラムを休止する(BTNで復帰し最初から実行) | SLEEP | ver0.7 |
RUN | プログラムを実行する | RUN | |
NEW | プログラムを全部消す | NEW | |
LIST (行番号1(,行番号2)) | プログラムを表示する、行番号指定可能 | LIST | |
RENUM | プログラムの行数を10から10刻みにする(GOTO/GOSUBの飛び先は手で変更する必要あり) | RENUM | ver0.6 |
LOAD | プログラムを読み出す | LOAD | |
SAVE | プログラムを保存する(ひとつのみ) | SAVE |
今回は大きめの基板に回路のわかりやすさ重視で実装してみました。配線を書いた紙を貼っておくと更に分かりやすいかもしれません。右側のキーボードから入力し、コンピューターに処理させ、左側からビデオやLEDで出力するイメージです。どっちかというと、左から右がいいのですが、自然なパーツ配置を優先するため、右から左へとしています。