【まずは基本から!】FuzeBasicでループ、変数、IF文、配列のプログラムを書いてみよう
もうすぐ Fuze4 Nintendo Switch が発売される予定です。
まずは、Windows PC 上で FuzeBasic プログラムを学んで、Fuze4 Nintendo Switch が発売されたらすぐ遊べるように準備しておきましょう。
今回は、Fuze のサイトからダウンロードできる次の Worksheets に取り組んでいきたいと思います。
FUZE Coding Projects Book 1 - The Basics [For Windows, FUZE & Raspberry Pi]
FuzeBasicプログラミングを始めよう
"Hello World"を表示する
FUZE BASIC を起動します。
まだインストールしていない方は、こちらの記事を参考にしてください。
[F2]キーを押すと、エディターが開きます。
エディターで下記のように入力します。
PRINT "Hello World"
[F3]キーで実行します。
ファイルを保存するように聞かれたら、適当なフォルダに保存しましょう。
"Hello World"と表示されました。
[F2]キーを押すと、エディターに戻ります。
基本的に、この流れでプログラミングしていきます。
LOOPを使う
プログラムを下記のように変えてみましょう。
[F3]キーを押して実行すると、"Hello World"が出続けます。
LOOP PRINT "Hello World" REPEAT
[ESC]キーを押すと、プログラムが中断します。
"Hello World"の後ろに「;」(セミコロン)をつけると出力が変わります。
試してみよう!
LOOP PRINT "Hello World"; REPEAT
WAIT(1)を追加すると、1秒待ってから次の処理が実行されます。
LOOP PRINT "Hello World"; WAIT(1) REPEAT
色を変える
下記のようにプログラムを変えてみましょう。
LOOP INK = BLACK PAPER = RASPBERRY PRINT "Hello World"; REPEAT
文字と背景の色が変わりました。
INK で文字色が、PAPERで背景色が変わります。
次は文字を大きくしてみます。
CLS LOOP FONTSIZE(5) INK = 19 PAPER = 27 PRINT "Hello World"; WAIT(1) REPEAT
CLSは、画面をいったんきれいにします。
FONTSIZEで、文字の大きさを指定します。
INKとPAPERは、数字で指定することもできます。
変数を使う
girls、boys、classがそれぞれ変数になります。
変数の名前は自由に付けられますが、分かりやすい名前にしましょう。
girls = 15 boys = 15 class = girls + boys PRINT class
リンゴ(apple)がなくなるまで、ループを続けるプログラムを書いてみましょう。
REPEAT UNTIL でリンゴがなくなるまでループし続けます。
CLS apples = 10 LOOP CLS INK = GREEN PAPER = BLACK PRINT "I have ";apples;" Apples." WAIT(0.5) PRINT "If we eat one... then..." apples = apples - 1 WAIT(1) REPEAT UNTIL apples = 0 CLS PRINT "I have no Apples... And a tummy ache..." END
IF文を使う
INPUT を使うと、実行したときに「?」が表示されて入力を促してきます。
数値を入力すると、その値がageに入ります。
下記のIF文ではageが25より大きければ、次のPRINT文が実行されます。
ENDIFを忘れないようにしましょう。
PRINT "Hello, how old are you?" INPUT age IF age > 25 THEN PRINT "Wow...";age;"! a living fossil!" ENDIF
IF文を使うと、こんなクイズも作れます。
score = 0 CLS PRINT "Hello and welcome to the quiz." WAIT(2) PRINT "Please answer in lower case." WAIT(2) INK = YELLOW PRINT "Q1. Which elemental type is Pikachu?" INPUT answer$ IF answer$ = "electric" THEN PRINT "Correct! Pikachu is an electric type!" score = score + 1 WAIT(2) ELSE PRINT "Incorrect!" WAIT(2) ENDIF
配列を使う
DIMで配列を作ることができます。
配列は0から始まり、最大値(下記の例では4)まで使えます。
DIM answer$(4) answer$(0) = "You're in luck!" answer$(1) = "It's not looking good..." answer$(2) = "Almost certainly." answer$(3) = "Not today..." answer$(4) = "Maybe!" FONTSIZE(3) LOOP CLS PRINT "Spin the ball... Ask me any question!" INPUT question num = RND(5) PRINT answer$(num) PRINT "Let's play again!" WAIT(3) REPEAT
まとめ
FuzeBasicのプログラムをいくつか書いてみました。
まだコマンドをいくつか試しただけですが、プログラミングの流れが一通り理解できました。
今回作成したソースファイルをGitHubにアップしました。
参考にしてください。
GitHub - coderdojo-mizonokuchi/fuze-basic-lesson-01: FuzeBasic のプログラミングを学んでいきます。