FAKE COMBAT プログラムリスト

; FAKE COMBAT for VPC-K600
; Programmed by Teikoku 2016
/cls
/=,@Z,"HHHF HHFF HFFF FFFF FFFS FFFA FFAA FFAS FAAA HAAA AAAS AAAA SSSS AAAA "
/=,@H,0
/=,@S,0
/=,@A,0
/=,@L,0
; TITLE
*GAMETITLE
/cls
/gosub,PSTAT
/gosub,LCLS
/btnoff
/pchr,0,0,"FAKE COMBAT"
/pchr,2,1,"[A]START"
/pchr,0,3,"TEIKOKU 2016"
; LOOP UNTIL PUSH "6" KEY
/btnon
*TWAIT1
/wait,100
/btngoto,//,//,//,//,//,GAMESTART
/goto,TWAIT1
; GAME START
*GAMESTART
/=,@S,0
/=,@L,20
/=,@A,0
/=,@A2,@A
/btnoff
; SET ENEMY
*SETENEMY
/=,@E,"            "
/substr,@T,@Z,@A2*5,4
/repeat,4
/substr,@T2,@T,@CNT,1
/strif,@T2,"S",SETENEMY2,//
/rnd,@N,0,11
/substr,@E2,@E,@N,1
/strif,@E2," ",SETENEMY3,//
/calc,@CNT,@CNT-1
/goto,SETENEMY2
*SETENEMY3
/replace,@E,@E,@N,@T2
*SETENEMY2
/loop
; ENGAGE
/gosub,LCLS
/gosub,PSTAT
/pchr,3,2,"AREA "&@A
/pchr,2,3,"ENGAGE !"
/pchr,0,0,@E
/wait,1500
; SET MISSILE
/=,@P,"            "
/=,@X,0
/=,@M,4
/if,@L,<,4,STM1,STM2
*STM1
/let,@M,@L
*STM2
/calc,@L,@L-@M
/pchr,0,2,"            "
*SETMSSL1
/btnoff
/pchr,0,1,@P
/pchr,1,3,"SET MSSL "&@M
/btnon
*SETMSSL2
/=,@V,0
/btngoto,STMV1,STMV2,//,//,//,//
/goto,STMV3
*STMV1
/if,@X,<=,0,STMV3,//
/=,@V,-1
/goto,STMV3
*STMV2
/if,@X,>=,11,STMV3,//
/=,@V,1
/goto,STMV3
*STMV3
/if,@V,==,0,STMV4,//
/pchr,@X,2," "
*STMV4
/calc,@X,@X+@V
/pchr,@X,2,"↑"
/wait,100
/btngoto,//,//,//,//,SETMSSL5,STMV5
/goto,SETMSSL2
*STMV5
/substr,@V,@P,@X,1
/strif,@V," ",SETMSSL3,SETMSSL4
*SETMSSL3
/if,@M,<,1,SETMSSL2,//
/replace,@P,@P,@X,"!"
/calc,@M,@M-1
/goto,SETMSSL1
*SETMSSL4
/replace,@P,@P,@X," "
/calc,@M,@M+1
/goto,SETMSSL1
*SETMSSL5
/if,@M,>,0,SETMSSL2,//
; ENEMY MOVE
/let,@D,@E
; STEALTH FIGHTER SET
/repeat,4
/substr,@T2,@T,@CNT,1
/strif,@T2,"S",STEALTH1,STEALTH2
*STEALTH1
/rnd,@X,0,11
/substr,@D2,@D,@X,1
/strif,@D2," ",//,STEALTH1
/replace,@D,@D,@X,"S"
*STEALTH2
/loop
;
/repeat,12
/substr,@V,@E,@CNT,1
/=,@X,@CNT
/strif,@V,"F",ENEMY1-F,//
/strif,@V,"A",ENEMY1-A,//
/goto,ENEMY2
; FIGHTER
*ENEMY1-F
/rnd,@F,0,2
/calc,@F,@F-1
/if,@X+@F,<,0,ENEMY1-F,//
/if,@X+@F,>,11,ENEMY1-F,//
/if,@F,==,0,ENEMY1-SET,//
/substr,@D2,@D,@X+@F,1
/strif,@D2," ",ENEMY1-SET,ENEMY1-F
; ACE FIGHTER
*ENEMY1-A
/rnd,@F,0,4
/calc,@F,@F-2
/if,@X+@F,<,0,ENEMY1-A,//
/if,@X+@F,>,11,ENEMY1-A,//
/if,@F,==,0,ENEMY1-SET,//
/substr,@D2,@D,@X+@F,1
/strif,@D2," ",ENEMY1-SET,ENEMY1-A
*ENEMY1-SET
/replace,@D,@D,@X," "
/calc,@X,@X+@F
/replace,@D,@D,@X,@V
/goto,ENEMY2
*ENEMY2
/loop
/=,@E,@D
/pchr,0,0,"############"
/pchr,0,2,"            "
/pchr,0,3,"            "
/wait,1000
; HANTEI
/=,@B,0
/pchr,0,0,@E
/wait,500
/repeat,12
/substr,@V,@E,@CNT,1
/strif,@V," ",HANTEI1,//
/substr,@V2,@P,@CNT,1
/strif,@V2," ",HANTEI1,//
/pchr,@CNT,0,"*"
/instr,@B2,"HFAS",@V
/substr,@B3,"010030050100",@B2*3,3
/calc,@B,@B+@B3
/strif,@V,"S",STBNS,MSBNS
*STBNS
/calc,@L,@L+2
*MSBNS
/calc,@L,@L+1
*HANTEI1
/loop
/if,@B,>,0,HANTEI2,//
/pchr,2,2,"MISTAKE!"
/goto,HANTEI3
*HANTEI2
/pchr,2,2,"BINGO !!"
/pchr,2,3,"+"&@B&"pts."
/calc,@S,@S+@B
/if,@H,<,@S,//,HANTEI3
/let,@H,@S
*HANTEI3
/gosub,PSTAT
/wait,2000
/if,@L,<,1,GAMEOVER,//
/calc,@A,@A+1
/calc,@A2,@A2+1
/if,@A2,>,13,//,SETENEMY
/=,@A2,5
/goto,SETENEMY
; GAME OVER
*GAMEOVER
/pchr,0,2,"GAME OVER..."
/pchr,0,3,"  [A]TITLE  "
/btnoff
/btnon
*GKWAIT
/btngoto,//,//,//,//,//,GAMETITLE
/wait,50
/goto,GKWAIT
; STATUS
*PSTAT
/pchr,13,0,"HI-SC      "
/pchr,13,1,"SCORE      "
/pchr,13,2,"AREA       "
/pchr,13,3,"MSSL       "
/pchr,19,0,@H
/pchr,19,1,@S
/pchr,19,2,@A
/pchr,19,3,@L
/return
; LEFTSCREEN CLEAR
*LCLS
/repeat,4
/pchr,0,@CNT,"            |"
/loop
/return