宇宙船A

ゲームを作ってプログラミングを学ぶ

IchigoJamBASICでゲームを作ってみよう。

完成目標

10 'SHIP-A
20 CLS
30 X=16
40 @LP
50 LOCATE RND(32),0
60 PRINT "*"
70 SCROLL 2
80 X=X+BTN(29)-BTN(28)
90 IF SCR(X,20)>0 GOTO @ED
100 LOCATE X,20
110 PRINT "A"
120 WAIT 3
130 GOTO @LP
140 @ED
150 LOCATE 10,10
160 PRINT "GAME OVER"
170 LOCATE X,20
180 PRINT "X"
190 LOCATE 0,0
200 END

行番号 コマンド エンター で入力。
CLS か F1キー で画面クリア
LIST で表示
SAVE 0 で保存
NEW で消去
LOAD 0 で読込
RUN で実行
ESCキーで停止
などの操作方法を習っているものとしてすすめていきます。

区切りのよいところでSAVE・RUNして動作を確認していきましょう。

作り始め

10 'SHIP-A

最初にコメントを入力します。
RUN しても特になにも起きません。
SAVEして FILESを見たときに この行が表示されます。

画面をクリア

20 CLS

クリアスクリーン CLearScreen 画面を消します。

星* を表示しよう

60 PRINT "*"

PRINTコマンドで、画面に * を表示します。

星* の場所を変えよう。

50 LOCATE RND(32),0

LOCATEはPRINTで表示する位置を 横0〜31 縦0〜23 で指定します。
RND(32)は0〜31の値を返すコマンドです。
RUNするごとに * の位置が変わるようになりました。

星*をたくさん出そう

40 @LP
130 GOTO @LP

GOTO @LPに来ると、@LPにもどってくりかえします
画面の上に*がどんどん表示されます。
ESCで止めましょう。

星*を流そう

70 SCROLL 2

SCROLLコマンドは、画面をスクロールさせる・上下左右に動かします。
SCROLL 2 で下向きに動きます。
星が流れるようになりました。

ゆっくりにしよう

120 WAIT 3

WAITコマンド 待つ 3/60秒待ちます。
数字を変えると速さが変わります。

宇宙船A登場

30 X=16
100 LOCATE X,20
110 PRINT "A"

変数Xに宇宙船Aの位置を入れる。
(X,20)に位置を決める。
A を表示する。

宇宙船Aを操縦しよう

80 X=X+BTN(29)-BTN(28)

BTN(29) →キーを押すと1になります。
BTN(28) ←キーを押すと1になります。
→キーを押すと、Xが1増える
←キーを押すと、Xが1減る
Aを左右に動かしてみよう

星*にあたったら終了ですよ

90 IF SCR(X,20)>0 GOTO @ED
140 @ED
200 END

SCR(X,20)の場所の文字コードを返します。
なにもないところは0
IF GOTO もし0でなかったら、@ED へ行く。

ゲームオーバー

150 LOCATE 10,10
160 PRINT "GAME OVER"
170 LOCATE X,20
180 PRINT "X"
190 LOCATE 0,0

ゲームオーバーの画面を作る
ぶつかったので X を表示
GAME OVER と表示して
(0,0)の位置に表示するようにして
END でプログラムを終わります

SAVE

保存しておきましょう。
電源を切っても、LOADでもどすことができます。
タブを閉じる