学生の頃電脳研究会だったんだけど、BASIC経験者の奴が毎日のように作ってた(10分くらいで作れるから保存してなかった。後にバージョンアップしはじめたときは保存してたけど)奴で、昔を懐かしんで作ってみた。
1Pは↑で左折↓で右折、2PはXで右折Bで左折かな(テストしてない)。黒いとこ以外に突っ込むとゲームオーバーです。
俺はBASICはほぼ初心者なので作法とか変数名とかアレコレがBASICっぽくないかも。
あと、メモリとか気にしなくていいので富豪っぽいテクニカルさの無いコードになってます。
ちょっと工夫が必要だったのは@P1ICHKの最初と最後あたり、前回と入力が同じ場合は弾かないと酷いことになる。
ちなみに、空行いれて84行で、軽い動作確認を挟みながらで入力には20分くらいかかった。この程度なら下画面で入力するのは意外と苦にならないと思う。
まあ、キロバイト単位になったら厳しいんだろうけど。
GOSUB @_INIT @_MAIN KY=BUTTON() GOSUB @P1ICHK GOSUB @P2ICHK GOSUB @P1ACHK GOSUB @P2ACHK GOSUB @GOVRCHK GOSUB @P1PNT GOSUB @P2PNT GOSUB @WAIT GOTO @_MAIN @_INIT CLS GCLS GBOX 1,1,254,190,250 P1A=TRUE P2A=TRUE P1PX=20 P1PY=95 P2PX=230 P2PY=95 P1D=1 P2D=3 RETURN @P1ICHK IF(KY AND 3)== P1KY THEN RETURN IF(KY AND 1)== 1 THEN P1D=P1D-1 IF(KY AND 2)== 2 THEN P1D=P1D+1 IF P1D == -1 THEN P1D=3 IF P1D == 4 THEN P1D=0 P1KY = KY AND 3 RETURN @P2ICHK IF(KY AND 96)== P2KY THEN RETURN IF(KY AND 64)== 1 THEN P2D=P2D+1 IF(KY AND 32)== 2 THEN P2D=P2D-1 IF P2D == -1 THEN P2D=3 IF P2D == 4 THEN P2D=0 P2KY = KY AND 96 RETURN @P1ACHK IF P1D==0 THEN P1PY=P1PY-1 IF P1D==1 THEN P1PX=P1PX+1 IF P1D==2 THEN P1PY=P1PY+1 IF P1D==3 THEN P1PX=P1PX-1 IF GSPOIT(P1PX,P1PY) != 0 THEN P1A=FALSE RETURN @P2ACHK IF P2D==0 THEN P2PY=P2PY-1 IF P2D==1 THEN P2PX=P2PX+1 IF P2D==2 THEN P2PY=P2PY+1 IF P2D==3 THEN P2PX=P2PX-1 IF GSPOIT(P2PX,P2PY) != 0 THEN P2A=FALSE RETURN @P1PNT GPSET P1PX,P1PY,10 RETURN @P2PNT GPSET P2PX,P2PY,20 RETURN @GOVRCHK IF P1A==FALSE THEN PRINT "P1 DEAD!" IF P1A==FALSE THEN GOTO @_END IF P2A==FALSE THEN PRINT "P2 DEAD!" IF P2A==FALSE THEN GOTO @_END RETURN @WAIT FOR W=0 TO 1000 NEXT RETURN @_END END