神経衰弱ゲーム プログラムリスト

; 神経衰弱ゲーム
; Programed by Teikoku 2016
/cls
/let,@FF,"0123456789ABCDEFGHIJKLMN"
/setchr,"□","111110110110101010110110101010110110111110000000"
; タイトル画面
*GAMETITLE
/btnoff
/pchr,2,0,"□ シンケイ スイジャク ゲーム □"
/pchr,3,2,"PRESS [A] TO START"
/pchr,2,3,"PRESENTED BY TEIKOKU"
/btnon
/wait,100
/btngoto,//,//,//,//,//,*GAMEPRE
/goto,-2
; ゲーム開始準備
*GAMEPRE
/btnoff
/let,@C0,"AA2233445566778899JJQQKK"
/repstr,@CB,"□",24
; カードシャッフル
/cls
/pchr,5,1,"PLEASE WAIT..."
/repeat,500
/rnd,@R1,0,23
/rnd,@R2,0,23
/if,@R1,==,@R2,-2,//
/substr,@C1,@C0,@R1,1
/substr,@C2,@C0,@R2,1
/replace,@C0,@C0,@R1,@C2
/replace,@C0,@C0,@R2,@C1
/loop
; カウントリセット
/let,@CX,0
/let,@OP,0
/let,@PR,0
/let,@TN,1
/let,@CN,-1
/let,@CZ,""
/let,@CP,""
; ゲームメイン
/cls
/pchr,2,0,"- シンケイ スイジャク ゲーム -"
/pchr,0,1,@CB
/btnon
*GAMEMAIN
/pchr,@CX,2,"↑"
/pchr,0,3,"TURN="&@TN
/pchr,17,3,"PAIR="&@PR
/wait,100
/btngoto,*CSRLEFT,*CSRRIGHT,//,//,//,*CDOPEN
/goto,-2
; カーソル左移動
*CSRLEFT
/if,@CX,==,0,+5,//
/pchr,@CX,2," "
/calc,@CX,@CX-1
/goto,*GAMEMAIN
; 左端から右端へ移動
/pchr,@CX,2," "
/let,@CX,23
/goto,*GAMEMAIN
; カーソル右移動
*CSRRIGHT
/if,@CX,==,23,+5,//
/pchr,@CX,2," "
/calc,@CX,@CX+1
/goto,*GAMEMAIN
; 右端から左端へ移動
/pchr,@CX,2," "
/let,@CX,0
/goto,*GAMEMAIN
; カードをめくる
*CDOPEN
/substr,@C1,@CB,@CX,1
/strif,@C1," ",*NOMOVE,//
/if,@CN,==,@CX,*NOMOVE,//
/btnoff
/beep,0
/substr,@C1,@C0,@CX,1
/pchr,@CX,1,@C1
/concat,@CP,@C1
/substr,@C2,@FF,@CX,1
/concat,@CZ,@C2
/calc,@OP,@OP+1
/let,@CN,@CX
/btnon
/if,@OP,==,2,*HANTEI,*GAMEMAIN
; ブザー鳴らす
*NOMOVE
/beep,4
/goto,*GAMEMAIN
; 同じカードか判定
*HANTEI
/wait,1000
/substr,@C1,@CP,0,1
/substr,@C2,@CP,1,1
/strif,@C1,@C2,*BINGO,//
; ハズレ処理
/beep,10
/wait,500
/goto,*NEXTTURN
; 当たり処理
*BINGO
/beep,7
/wait,1000
/repeat,2
/substr,@C3,@CZ,@CNT,1
/instr,@C4,@FF,@C3
/replace,@CB,@CB,@C4," "
/loop
/calc,@PR,@PR+1
/if,@PR,==,12,*GAMEEND,//
; 次のカードをめくるための準備
*NEXTTURN
/calc,@TN,@TN+1
/let,@OP,0
/let,@CN,-1
/let,@CZ,""
/let,@CP,""
/pchr,0,1,@CB
/btnon
/goto,*GAMEMAIN
; ゲーム終了
*GAMEEND
/btnoff
/wait,1000
/pchr,0,1,@CB
/pchr,@CX,2," "
/pchr,0,3,"TURN="&@TN
/pchr,17,3,"PAIR="&@PR
/pchr,0,0,"****    GAME SET    ****"
/pchr,0,1,"  PRESS [A] TO REPLAY   "
/btnon
/wait,100
/btngoto,//,//,//,//,//,*GAMEPRE
/goto,-2