星空つづり

星空・天体写真などの記録を綴るブログ

<< May 2017 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 >>

<< ichigoJam | TOP | 岡山アストロクラブ天体写真展・・見に来てね〜 >>

2016.07.15 Friday

BOUNDS - IchigoJam BASIC 作例-1

IchigoJam BASIC による作例 01 「BOUNDS」 です。

 

 

細かな説明はしませんが、このプログラムの概要は次のとおり。

 

1)枠の描画(VIDEO出力のON-OFFにて高速化)

2)二つの玉がランダムな位置に出現

3)枠内をバウンドしながら動く

4)当たり判定して、二つの玉がぶつかったら 2)へ

※最上部にCORとして、ぶつかったカウントを表示

 

▼ソース

10 'BOUNDS
20 CLS : LOCATE 0,0
30 PRINT "<< BOUNDS >>"
40 GORUB 210 : C=0
50 X=RND(20)+4 : Y=RND(14)+4
60 A=RND(20)+4 : B=RND(14)+4
70 M=1 : N=1
80 0=-1 : P=-1
90 LOCATE X,Y : PRINT "*"
100 LOCATE A,B : PRINT "*"
110 IF X=1 OR X=30 M=-M : BEEP 10,2
120 IF A=1 OR A=30 O=-O : BEEP 10,2
130 IF Y=2 OR Y=20 N=-N : BEEP 5,2
140 IF B=2 OR B=20 P=-P : BEEP 5,2
150 IF ((X-A)*(X-A))<2 AND ((Y-B)*(Y-B))<2 GOTO 360
160 LOCATE X,Y : PRINT " "
170 LOCATE A,B : PRINT " "
180 X=X+M : Y=Y+N
190 A=A+O : B=B+P
200 GOTO 90
210 REM ---- SUB WINDOW
220 VIDEO 0
230 FOR X=0 TO 31
240 FOR Y=1 TO 21
250 LOCATE X,Y : PRINT "*"
260 NEXT : NEXT
270 FOR X=1 TO 30
280 FOR Y=2 TO 20
290 LOCATE X,Y : PRINT " "
300 NEXT : NEXT
310 VIDEO 1 : WAIT 60
320 RETURN
330 LOCATE X,Y : ?"X"
340 LOCATE A,B : ?"X"
350 C=C+1
360 LOCATE 18,0 : ?"COR:";C
370 BEEP 100,100 : WAIT 120
380 LOCATE X,Y : ?" "
390 LOCATE A,B : ?" "
400 GOTO 50


▲top