「○×ゲーム」または「三目並べ」といえば、知らない人はいないだろう。このプログラムは、○×ゲームを中心にプチコンの基本機能を一通りテストするように作られている。
実行後、Aボタンで下画面の操作コンソールが起動。右下の各アイコンをタッチして○×ゲーム、音楽再生、カラー表示とそれぞれの機能テストにアクセスできるぞ。
右下スミのバックアイコンまたはXボタンで操作コンソールが閉じ、Yボタンでプログラム本体を終了になる。
このプログラムの作者は偶然スマイルブームのご近所さん。わざわざ本社までやってきてアツい思いとともにプログラムを送信してくれたぞ。
- ’==========================
- ’==
- ’== 2011/03/09
- ’== VER 1.00
- ’== Toshiya
- ’==
- ’==========================
- CLEAR
- GOTO @INIT
- ’==========================
- @INDATA
- DIM MBDDAT(10)
- MBDDAT(0)=0
- MBDDAT(1)=0
- MBDDAT(2)=0
- MBDDAT(3)=0
- MBDDAT(4)=0
- MBDDAT(5)=0
- MBDDAT(6)=0
- MBDDAT(7)=0
- MBDDAT(8)=0
- MBDDAT(9)=0
- RETURN
- ’==========================
- ’==========================
- @MUSIC
- IF BGMCHK()==TRUE THEN BGME=1:BGMSTOP
- IF BGME==1 THEN GOTO @MUSICE
- IF BGMCHK()==FALSE THEN BGMPLAY 21
- @MUSICE
- BGME=0
- GOSUB @WAIT
- RETURN
- ’==========================
- ’==========================
- @PEEP
- BEEP 2
- RETURN
- ’==========================
- ’==========================
- @WAIT
- TMREAD(TIME$),HH,MM,SS
- @WAITS
- TMREAD(TIME$),HH,MM,CC
- IF (SS+2)!=CC THEN GOTO @WAITS
- RETURN
- ’==========================
- ’==========================
- REM メニュ-ライン
- @MENULINE
- GOSUB @PEEP
- LOCATE 0 ,0 :PRINT”┌”
- LOCATE 31,0 :PRINT”┐”
- LOCATE 0 ,21:PRINT”└”
- LOCATE 31,21:PRINT”┘”
- FOR I=1 TO 30 STEP 1
- LOCATE I,0 :PRINT ”─”
- LOCATE I,21:PRINT ”─”
- NEXT
- FOR I=1 TO 20 STEP 1
- LOCATE 0 ,I:PRINT ”│”
- LOCATE 31,I:PRINT ”│”
- NEXT
- LOCATE 1 ,13:PRINT”┌”
- LOCATE 17,13:PRINT”┐”
- LOCATE 1 ,20:PRINT”└”
- LOCATE 17,20:PRINT”┘”
- FOR I=2 TO 16 STEP 1
- LOCATE I,13:PRINT ”─”
- LOCATE I,20:PRINT ”─”
- NEXT
- FOR I=14 TO 19 STEP 1
- LOCATE 1 ,I:PRINT ”│”
- LOCATE 17,I:PRINT ”│”
- NEXT
- RETURN
- ’==========================
- ’==========================
- REM メニュ-
- @MENU
- LOCATE 4,14:PRINT ”GAME”
- LOCATE 4,15:PRINT ””
- LOCATE 4,16:PRINT ””
- LOCATE 4,17:PRINT ”MUSIC”
- LOCATE 4,18:PRINT ”BEEP”
- LOCATE 4,19:PRINT ”COLOR LINE”
- LOCATE 2,14:PRINT ”Й”
- LOCATE 2,17:PRINT ”♪”
- LOCATE 2,18:PRINT ”М”
- LOCATE 2,19:PRINT ”╂”
- RETURN
- ’==========================
- ’==========================
- REM カラ-
- @CLINE
- GOSUB @PEEP
- GPAGE 1
- FOR I=0 TO 255 STEP 1
- GLINE I,0,I,191,I
- NEXT
- @LOOP4
- INBTN=ICONCHK()
- IF INBTN==BGMBTN THEN GOSUB @MUSIC
- IF INBTN==RETBTN THEN GOTO @LAST
- INKEY=BUTTON()
- IF INKEY==XBTN THEN GOTO @LOOPE4
- IF TRUE==TCHST THEN GOSUB @COLNUM
- GOTO @LOOP4
- @LOOPE4
- GOSUB @WAIT
- GCLS
- RETURN
- @COLNUM
- LOCATE 30,1:PRINT ” ”
- LOCATE 30,2:PRINT ” ”
- LOCATE 28,1:PRINT TCHX
- LOCATE 28,2:PRINT TCHY
- RETURN
- ’==========================
- ’==========================
- REM
- @INIT
- GOSUB @INDATA
- ABTN=16
- BBTN=32
- XBTN=64
- YBTN=128
- LBTN=256
- RBTN=512
- UBTN=1 ’ウエ
- SBTN=2 ’シタ
- HBTN=4 ’ヒタ゛リ
- MBTN=8 ’ミキ゛
- PRGBTN=0
- BGMBTN=1
- SCRBTN=2
- RETBTN=3
- PENX=0
- PENY=0
- PENZ=0
- CLS
- ICONCLR PRGBTN
- ICONCLR BGMBTN
- ICONCLR SCRBTN
- ICONCLR RETBTN
- GPAGE 1
- GCLS 1
- GOSUB @MENULINE
- GOSUB @MENU
- GOTO @MAIN
- ’==========================
- ’==========================
- REM メインフ゜ロク゛ラム
- @MAIN
- LOCATE 1,1:PRINT ”Р ” TIME$
- LOCATE 1,2:PRINT DATE$
- LOCATE 1,3:PRINT ”MEM ” FREEMEM
- LOCATE 1,4:PRINT ”SYSVERSION ” VERSION
- LOCATE 1,5:PRINT ”PGRVERSION 1.00”
- LOCATE 23,1:PRINT ”TCHФ”
- LOCATE 23,2:PRINT ”TCHХ”
- LOCATE 23,4:PRINT”PENX ”
- LOCATE 23,5:PRINT”PENY ”
- LOCATE 9,8:PRINT”DS GAME PROGRAM”
- LOCATE 9,9:PRINT” AND DEVELOPER INFO”
- LOCATE 19,18:PRINT”HIT A BUTTAN”
- LOCATE 19,20:PRINT”HIT YKEY END”
- PNLTYPE ”OFF”
- @MAINKEY
- INKEY=BUTTON()
- IF INKEY==ABTN THEN GOTO @START
- IF INKEY==YBTN THEN GOTO @THEEND
- GOTO @MAINKEY
- ’==========================
- ’==========================
- REM ヘ゜-シ゛
- @START
- GPAGE 1
- GCOLOR 158
- GCLS
- ICONSET 0,48
- ICONSET 1,51
- ICONSET 2,55
- ICONSET 3,61
- PNLSTR 24,0,”Ф:RETURN”
- @LOOP2
- FOR I=0 TO 240 STEP 10
- GLINE I,10,I+5,10, 30
- NEXT I
- GLINE 250,10,255,10, 30
- FOR J=0 TO 180 STEP 10
- GLINE 10,J,10,J+5, 30
- NEXT J
- GLINE 10,190,10,193, 30
- INKEY=BUTTON()
- IF INKEY==XBTN THEN GOTO @LAST
- INBTN=ICONCHK()
- IF INBTN==PRGBTN THEN GOTO @MARUBATU
- IF INBTN==BGMBTN THEN GOSUB @MUSIC
- IF INBTN==SCRBTN THEN GOSUB @CLINE
- IF INBTN==RETBTN THEN GOTO @LAST
- GOTO @LOOP2
- ’==========================
- ’==========================
- @MARUBATU
- GLINE 100,60,160,60,97
- GLINE 100,80,160,80,97
- GLINE 120,40,120,100,97
- GLINE 140,40,140,100,97
- @LOOP3
- INBTN=ICONCHK()
- IF INBTN==PRGBTN THEN DAMY=0
- IF INBTN==BGMBTN THEN GOSUB @MUSIC
- IF INBTN==SCRBTN THEN GOSUB @CLINE
- IF INBTN==RETBTN THEN GOTO @LAST
- IF TRUE==TCHST THEN GOSUB @ONMB
- GOTO @LOOP3
- @ONMB
- IF TCHX>0 THEN PENX=0
- IF TCHX>100 THEN PENX=1
- IF TCHX>120 THEN PENX=2
- IF TCHX>140 THEN PENX=3
- IF TCHX>160 THEN PENX=0
- IF TCHY>0 THEN PENY=0
- IF TCHY>40 THEN PENY=1
- IF TCHY>60 THEN PENY=2
- IF TCHY>80 THEN PENY=3
- IF TCHY>100 THEN PENY=0
- IF PENX==0 THEN PENY=0
- IF PENY==0 THEN PENX=0
- LOCATE 28,4:PRINT PENX
- LOCATE 28,5:PRINT PENY
- PENZ=O
- IF PENY==1 THEN GOTO @IFX1PEN
- IF PENY==2 THEN GOTO @IFX2PEN
- IF PENY==3 THEN GOTO @IFX3PEN
- @IFX1PEN
- IF PENX==1 THEN PENZ=1
- IF PENX==2 THEN PENZ=2
- IF PENX==3 THEN PENZ=3
- GOTO @IFENDPEN
- @IFX2PEN
- IF PENX==1 THEN PENZ=4
- IF PENX==2 THEN PENZ=5
- IF PENX==3 THEN PENZ=6
- GOTO @IFENDPEN
- @IFX3PEN
- IF PENX==1 THEN PENZ=7
- IF PENX==2 THEN PENZ=8
- IF PENX==3 THEN PENZ=9
- GOTO @IFENDPEN
- @IFENDPEN
- LOCATE 23,6:PRINT ”PENZ ”PENZ
- ’LOCATE 23,7:PRINT ONMBD(PENZ)
- IF PENZ==0 THEN GOTO @MBNASI
- IF ONMBD(PENZ)>0 THEN GOTO @MBNASI
- IF PENZ>0 THEN GOSUB @PEEP
- IF ONMBD(0)==0 THEN GOTO @MARU
- IF ONMBD(0)==1 THEN GOTO @BATU
- @MARU
- ONMBD(0)=1
- ONMBD(PENZ)=1
- IF PENZ==1 THEN GCIRCLE 110,50,8,97
- IF PENZ==2 THEN GCIRCLE 130,50,8,97
- IF PENZ==3 THEN GCIRCLE 150,50,8,97
- IF PENZ==4 THEN GCIRCLE 110,70,8,97
- IF PENZ==5 THEN GCIRCLE 130,70,8,97
- IF PENZ==6 THEN GCIRCLE 150,70,8,97
- IF PENZ==7 THEN GCIRCLE 110,90,8,97
- IF PENZ==8 THEN GCIRCLE 130,90,8,97
- IF PENZ==9 THEN GCIRCLE 150,90,8,97
- GOTO @MBNASI
- @BATU
- ONMBD(0)=0
- ONMBD(PENZ)=2
- IF PENZ==1 THEN GLINE 103,43,117,57,97:GLINE 117,43,103,57,97
- IF PENZ==2 THEN GLINE 123,43,137,57,97:GLINE 137,43,123,57,97
- IF PENZ==3 THEN GLINE 143,43,157,57,97:GLINE 157,43,143,57,97
- IF PENZ==4 THEN GLINE 103,63,117,77,97:GLINE 117,63,103,77,97
- IF PENZ==5 THEN GLINE 123,63,137,77,97:GLINE 137,63,123,77,97
- IF PENZ==6 THEN GLINE 143,63,157,77,97:GLINE 157,63,143,77,97
- IF PENZ==7 THEN GLINE 103,83,117,97,97:GLINE 117,83,103,97,97
- IF PENZ==8 THEN GLINE 123,83,137,97,97:GLINE 137,83,123,97,97
- IF PENZ==9 THEN GLINE 143,83,157,97,97:GLINE 157,83,143,97,97
- GOTO @MBNASI
- @MBNASI
- @MBWIN
- IF (ONMBD(5)==0) THEN GOTO @MBWIN1
- IF (ONMBD(5)==ONMBD(2))AND(ONMBD(5)==ONMBD(8)) THEN GOTO @MBWIN3
- IF (ONMBD(5)==ONMBD(4))AND(ONMBD(5)==ONMBD(6)) THEN GOTO @MBWIN3
- IF (ONMBD(5)==ONMBD(1))AND(ONMBD(5)==ONMBD(9)) THEN GOTO @MBWIN3
- IF (ONMBD(5)==ONMBD(3))AND(ONMBD(5)==ONMBD(7)) THEN GOTO @MBWIN3
- @MBWIN1
- IF (ONMBD(1)==0) THEN GOTO @MBWIN2
- IF (ONMBD(1)==ONMBD(3))AND(ONMBD(1)==ONMBD(2)) THEN GOTO @MBWIN3
- IF (ONMBD(1)==ONMBD(7))AND(ONMBD(1)==ONMBD(4)) THEN GOTO @MBWIN3
- @MBWIN2
- IF (ONMBD(9)==0) THEN GOTO @MBWIN4
- IF (ONMBD(9)==ONMBD(3))AND(ONMBD(9)==ONMBD(6)) THEN GOTO @MBWIN3
- IF (ONMBD(9)==ONMBD(7))AND(ONMBD(9)==ONMBD(8)) THEN GOTO @MBWIN3
- GOTO @MBWIN4
- @MBWIN3
- PNLSTR 12,3,”WIN”
- GOTO @REMB
- @MBWIN4
- RETURN
- ’==========================
- ’==========================
- @REMB
- @LOOP5
- INKEY=BUTTON()
- IF INKEY==XBTN THEN GOTO @LAST
- INBTN=ICONCHK()
- IF INBTN==BGMBTN THEN GOSUB @MUSIC
- IF INBTN==RETBTN THEN GOTO @LAST
- GOTO @LOOP5
- ’==========================
- ’==========================
- REM ストッフ゜エント゛
- @LAST
- CLEAR
- GCLS
- GOTO @INIT
- ’==========================
- ’==========================
- REM シ゛エント゛
- @THEEND
- CLEAR
- GCLS
- CLS
- END
- ’==========================