IchigoJam コマンド「IF文」

IchigoJam_IF_アイキャッチ IchigoJam

プログラミングで欠かすことのできない「IF文」ですが

IchigoJam にもちゃんと用意されています。

IF文が使えるようになるとプログラムで表現できることの幅がグッと広がりますので、是非とも覚えておきたいところです。

この記事では、「IchigoJam」の IFコマンド について解説したいと思います。

この記事を読むと
  • 「IchigoJam」の IFコマンド使い方が分かる。

IchigoJam」って何?という方は、下記の記事をご覧ください

IF文って何?

question(pink)

if文とは、「もし○○の時は□□をする」というような

条件によってやることを変えるような処理のことを言います。

例えば
  • もし数値が10以上の時はプログラムを終了する
  • もし”スペースキー” が押された時はキャラクターがジャンプする
  • もし変数Aと変数Bの値が等しい時は”正解!”と表示する

”IF文” については下記の記事で説明しています、詳しく知りたい方はご覧ください。

IchigoJam の IF文 の書き方

では、IchigoJamでの IF文 の書き方を説明していきます。

IF THEN(もし○○の時は□□をする)

IF文の一番基本的な書き方は下記になります

IF  THEN コマンド
上記コマンドの意味

0以外の時は コマンド を実行し
0の時は 何もしない

実際には のところに直接数字を入れることはせずに、後ほど説明する「条件式」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
上記コマンドの意味

0以外の時は コマンド1 を実行し
0の時は コマンド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)

ANDOR を使うことで複数条件を組み合わせることが可能です

記号書き方意味        
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 は非常に良く使うコマンドであり、使用できるとプログラムでの表現の幅が広がります

是非とも覚えて使っていきましょう!

まとめ
  • IF THEN コマンド
    ⇒ もし0以外ならコマンドを実行
  • IF THEN コマンド1 ELSE コマンド2
    ⇒ もし0以外ならコマンド1を実行し、0の時はコマンド2を実行
  • のところには「条件式」や「BTNコマンド」を使う

コメント

タイトルとURLをコピーしました