プログラミングで欠かすことのできない「IF文」ですが
IchigoJam にもちゃんと用意されています。
IF文が使えるようになるとプログラムで表現できることの幅がグッと広がりますので、是非とも覚えておきたいところです。
この記事では、「IchigoJam」の IFコマンド について解説したいと思います。
- 「IchigoJam」の IFコマンド の使い方が分かる。
「IchigoJam」って何?という方は、下記の記事をご覧ください
IF文って何?
if文とは、「もし○○の時は□□をする」というような
条件によってやることを変えるような処理のことを言います。
- もし数値が10以上の時は、プログラムを終了する
- もし”スペースキー” が押された時は、キャラクターがジャンプする
- もし変数Aと変数Bの値が等しい時は、”正解!”と表示する
”IF文” については下記の記事で説明しています、詳しく知りたい方はご覧ください。
IchigoJam の IF文 の書き方
では、IchigoJamでの IF文 の書き方を説明していきます。
IF THEN(もし○○の時は□□をする)
IF文の一番基本的な書き方は下記になります
IF 数 THEN コマンド
実際には 数 のところに直接数字を入れることはせずに、後ほど説明する「条件式」やBTNコマンドを使用します。
【例】
- IF A>10 THEN PRINT A
➡ もしAの値が10より大きい時はAを表示する - IF BTN() THEN GOTO 50
➡ もしボタンが押されていたら50行へ飛ぶ
THEN は省略することができます。
つまり「IF 数 コマンド」 と書いてもOK。
IF THEN ELSE(もし○○の時は□□をし、違ったら△△をする)
下記のように書くことで、条件によってコマンド1かコマンド2に分岐するような処理ができます。
IF 数 THEN コマンド1 ELSE コマンド2
数 のところは、上で説明したとおり「条件式」やBTNコマンドを使用します。
【例】
- IF A>10 THEN END ELSE GOTO 20
➡ もしAの値が10より大きい時はプログラムを終了し、違った時は20行へ飛ぶ - IF BTN() THEN LED1 ELSE LED0
➡ もしボタンが押されていたらLEDを点灯し、押されていなかったらLEDを消灯する
IF文で使う「条件式」
「条件式」は、IFの後ろの ”数” のところに使います。
条件式は、指定した条件を満たす時は 1 を、満たさない時は 0 を返します。
基本の条件式
指定できる基本の条件には下記のようなものがあります。
記号 | 書き方 | 意味 |
---|---|---|
== | 数A == 数B | 数Aと数Bが等しい時 → 1を返す それ以外 → 0を返す |
!= | 数A != 数B | 数Aと数Bが等しくない時 → 1を返す それ以外 → 0を返す |
<= | 数A <= 数B | 数Aが数B以下の時 → 1を返す それ以外 → 0を返す |
< | 数A < 数B | 数Aが数B未満の時 → 1を返す それ以外 → 0を返す |
>= | 数A >= 数B | 数Aが数B以上の時 → 1を返す それ以外 → 0を返す |
> | 数A > 数B | 数Aが数Bより大きい時 → 1を返す それ以外 → 0を返す |
複数条件の組み合わせ(AND/OR)
AND や OR を使うことで複数条件を組み合わせることが可能です
記号 | 書き方 | 意味 |
---|---|---|
AND(又は&&) | 条件式1 AND 条件式2 条件式1 && 条件式2 | どちらの条件も満たされる時 → 1を返す それ以外 → 0を返す |
OR(又は||) | 条件式1 OR 条件式2 条件式1 || 条件式2 | どちらかの条件が満たされる時 → 1を返す それ以外 → 0を返す |
条件式をひっくり返す(NOT)
NOT を使うことで否定の条件式を作ることができます
どういうことかというと
通常は、条件が満たされる時に1を返しますが
条件が満たされない時に1を返す、ということです。
記号 | 書き方 | 意味 |
---|---|---|
NOT(又は!) | NOT 条件式 ! 条件式 | 条件式が満たされない時 → 1を返す それ以外 → 0を返す |
BTN コマンド
IFの後ろの ”数” のところに使えるのは条件式だけではなく
BTNコマンドもよく使います。
BTNコマンドの使い方
BTNコマンドは下記のように書きます。
BTN(数)
( )内の数に該当するボタン(キー)が押されていたら1を、押されていなければ0を返します。
ボタン(キー)の番号
良く使うボタン(キー)とその番号を書いておきます。
番号 | 該当キー |
---|---|
28 | 左 矢印キー |
29 | 右 矢印キー |
30 | 上 矢印キー |
31 | 下 矢印キー |
32 | スペースキー |
※ ()内の数字を省略、または0を入力した場合は、IchigoJam本体のボタン(下記写真の赤丸)が対象になります。
IFコマンドとBTNコマンドを組み合わせる
IFコマンドとBTNコマンドを組み合わせると下記のように書けます
IF BTN(数) コマンド
上記のように書いただけではプログラムは一瞬で終わってしまうため、実際に使う時はループ処理の中に組み込みます。
以下は、スペースキーが押されたらLEDを点灯させるプログラムの例です。
10 LED0 'LED消灯
20 IF BTN(32) LED1 'もしスペースキーが押されていたらLED点灯
30 GOTO 20 '20行へ飛ぶ
まとめ
今回はIchigoJamのIFコマンドについて解説しました。
IF は非常に良く使うコマンドであり、使用できるとプログラムでの表現の幅が広がります
是非とも覚えて使っていきましょう!
コメント