バッティングゲーム プログラムリスト

; バッティングゲーム
/CLS
; キャラクターセット(ボール・ベース)
/SETCHR,"○","000000000000001100010110011010001100000000000000"
/SETCHR,"△","000000111100100010100001100001100010111100000000"
/LET,@B,0
; タイトル画面
*GAMETITLE
/BTNOFF
/CLS,0
/LOCATE,3,0
/PRINT,"△○ BATTING GAME ○△"
/LOCATE,2,1
/PRINT,"TODAY'S BEST:"&@B&"km/h"
/LOCATE,3,2
/PRINT,"PRESS [6] TO START"
/LOCATE,2,3
/PRINT,"PRESENTED BY TEIKOKU"
/BTNON
*GAMETITLE2
/BTNGOTO,//,//,//,//,//,GAMEINIT
/WAIT,50
/GOTO,GAMETITLE2
/END
; ゲーム初期化
*GAMEINIT
/LET,@W,47
/LET,@C,0
; 準備
*GAMEINIT2
/LET,@M,0
/CALC,@S,-5*@W+305
; 画面表示
*PRINTSCR
/LET,@X,0
/REPSTR,@K,"X",@M
/CLS,0
/LOCATE,0,0
/PRINT,"SC:"&@C&"km/h"
/LOCATE,14,0
/PRINT,"MISS:"&@K
/LOCATE,0,2
/PRINT,"○"
/LOCATE,20,2
/PRINT,"△"
; ミス3でゲームオーバー
/IF,@M,>=,3,GMOV,//
/LOCATE,4,2
/PRINT,@S&"km/h"
/BTNOFF
; カウントダウン
/REPEAT,3
/CALC,@N,3-@CNT
/LOCATE,14,2
/PRINT,@N
/WAIT,500
/LOOP
/LOCATE,0,2
/PRINT,"○                   "
/BTNON
; ボール移動
*MAINLOOP
/LOCATE,@X,2
/PRINT," "
/LOCATE,20,2
/PRINT,"△"
/CALC,@X,@X+1
/LOCATE,@X,2
/PRINT,"○"
/WAIT,@W
/BTNGOTO,HANTEI,HANTEI,HANTEI,HANTEI,HANTEI,HANTEI
/IF,@X,<,23,MAINLOOP,MISS
; ヒット判定
*HANTEI
/BTNOFF
/IF,@X,=,20,HIT,//
; ミス
*MISS
/LOCATE,4,2
/PRINT,"MISS"
/CALC,@M,@M+1
/WAIT,2000
/GOTO,PRINTSCR
; ヒット
*HIT
/LOCATE,4,2
/PRINT,"HIT!"
/LET,@C,@S
/CALC,@W,@W-1
/WAIT,2000
/GOTO,GAMEINIT2
; ゲームオーバー
*GMOV
/LOCATE,6,1
/PRINT,"GAME OVER.."
/LOCATE,3,3
/PRINT,"PRESS [6] TO TITLE"
/BTNON
/IF,@B,<,@C,//,GMOV2
; ベストスコア更新
/LOCATE,6,2
/PRINT,"BEST SCORE!!"
/LET,@B,@C
*GMOV2
/BTNGOTO,//,//,//,//,//,GAMETITLE
/WAIT,50
/GOTO,GMOV2