アットウィキロゴ

OTYAX > LIST

@S_HELLO
GOSUB @WINFLAG
WINX2=64:WINY2=19
WINTTL$="HELLO"
RETURN
@WIN_HELLO
WINSX=0:WINSY=0:WINSC=1
WINSTR$="Hello!":GOSUB@WINSTRPUT
RETURN

@S_HELLO2
WIN_MODE=1
GOSUB @WINFLAG
HELLO2_X2=LEN("Windowsテ゛コンヒ゜ュ-タ-ノ")*8
HELLO2_Y2=64+18+16+8
HELLO2_SCY=8
HELLO2_SCX=8
WINTTL$="HELLOFONT"
WINTTL$="Form1"
HELLOTXT$="WINDOWS"
HELLORF[0]=1
HELLO2_RADMAX=4-1
RETURN
@WIN_HELLO2
WIN_MODE=1
WINCLS=1
WINTTL$="Form1 - "+STR$(HELLOBC)
WINX2=HELLO2_X2
WINY2=HELLO2_Y2
WINSCX=HELLO2_SCX
WINSCY=HELLO2_SCY
GOSUB @WINDOW
HELLO2_SCX=WINSCX
HELLO2_SCY=WINSCY
IF WINIDFLG==1THEN RETURN
WINSX=0:WINSY=0:WINSC=1
WINSTR$=WINTXT$+"テ゛コンヒ゜ュ-タ-ノ
IF LEN(WINSTR$)*8>HELLO2_X2 THEN  HELLO2_X2=HELLO2_X2+1
IF LEN(WINSTR$)*8<HELLO2_X2 THEN  HELLO2_X2=HELLO2_X2-1
IF HELLOCHKF==1AND LEN(WINSTR$)*8!=HELLO2_X2 THEN HELLO2_X2=LEN(WINSTR$)*8
GOSUB @WINSTRPUT
WINSX=0:WINSY=8:WINSC=1
WINSTR$="セカイカ゛ヒロカ゛リマス。
GOSUB @WINSTRPUT
WINBX=37:WINBY=16:WINBSTR$="button1"
GOSUB @WINBTN
IF WINBTNF==1THEN HELLO2F=1:HELLOBC=HELLOBC+1
IF HELLO2F==1THEN WINSX=0:WINSY=26:WINSC=4:WINSTR$="ЁЖ"+STR$(HELLOBC)+"ホ゛タンオサレタ":GOSUB@WINSTRPUT
WINPX=5:WINPY=26+8:WINPX2=HELLO2_X2:WINPY2=26+16:WINPS=HELLOBC
GOSUB @WINPROGBAR
WINTR=HELLORF[1]+HELLORF[3]
WINTM=HELLORF[2]+HELLORF[3]
WINTX=0:WINTX2= HELLO2_X2:WINTY=26+16:WINTXTP$=HELLOTXT$
WINTSX=HELLOTSX:WINTA=HELLOAC
GOSUB @WINTXTBOX
HELLOTSX=WINTSX
HELLOTXT$=WINTXT$
HELLOAC=WINTA
WINCX=2:WINCY=26+25
WINCSTR$="checkBox1
WINCHKF=HELLOCHKF
GOSUB @WINCHKBOX
HELLOCHKF=WINCHKF
WINRX=2:WINRY=26+25+8
WINRSTR$="radioButton1
WINRF=HELLORF[0]
GOSUB @WINRADBTN
HELLORF[0]=WINRF
IF WINNRF==1THEN HELLO2_RAD=0:GOSUB @HELLO2_RAD

WINRF=HELLORF[1]
WINRX=2:WINRY=26+25+8+8
WINRSTR$="Readonly
GOSUB @WINRADBTN
HELLORF[1]=WINRF
IF WINNRF==1THEN HELLO2_RAD=1:GOSUB @HELLO2_RAD

WINRF=HELLORF[2]
WINRX=2:WINRY=26+25+8+8+8
WINRSTR$="Masked
GOSUB @WINRADBTN
HELLORF[2]=WINRF
IF WINNRF==1THEN HELLO2_RAD=2:GOSUB @HELLO2_RAD

WINRF=HELLORF[3]
WINRX=2:WINRY=26+25+8+8+8+8
WINRSTR$="MaskedReadonly
GOSUB @WINRADBTN
HELLORF[3]=WINRF
IF WINNRF==1THEN HELLO2_RAD=3:GOSUB @HELLO2_RAD
RETURN

@HELLO2_RAD
 HELLORF[HELLO2_RAD]=1
FOR I=0TO HELLO2_RADMAX
 IF HELLO2_RAD!=I THEN HELLORF[I]=0
NEXT
RETURN

'-シュウリョウ-
'(ラシ゛オホ゛タンヲショキカ)
@C_HELLO2
FOR I=1TO HELLO2_RADMAX
 HELLORF[I]=0
NEXT
 HELLORF[0]=1
HELLOCHKF=0
GOSUB @WINCLOSE
RETURN
@S_SETTING
WIN_MODE=1
GOSUB @WINFLAG
SETTING_X2=64+48
SETTING_Y2=74
WINTTL$="SETTING"
SETTING_RF[0]=MODE==0
SETTING_RF[1]=MODE==1
SETTING_RADMAX=2-1 
RETURN
@WIN_SETTING
WIN_MODE=1
WINX2=SETTING_X2
WINY2=SETTING_Y2
WINSCX=SETTING_SCX
WINSCY=SETTING_SCY
GOSUB @WINDOW
SETTING_SCX=WINSCX
SETTING_SCY=WINSCY
IF WINIDFLG==1THEN RETURN
WINSX=0:WINSY=0:WINSC=1:WINSTR$="マウス":GOSUB @WINSTRPUT

WINRF=SETTING_RF[0]:WINRX=0WINRY=8
WINRSTR$="MODE0"
GOSUB @WINRADBTN
SETTING_RF[0]=WINRF
IF WINNRF==1THEN SETTING_RF[1]=0:MOUSEMODE=0
WINRF=SETTING_RF[1]:WINRX=0WINRY=16
WINRSTR$="MODE1"
GOSUB @WINRADBTN
SETTING_RF[1]=WINRF
IF WINNRF==1THEN SETTING_RF[0]=0:MOUSEMODE=1

WINSX=8:WINSY=24:WINSC=1:WINSTR$="ホ゛タン":GOSUB @WINSTRPUT
WINCHKF=SETTING_CHKF
WINCX=0:WINCY=32:WINCSTR$="Aテ゛クリック
GOSUB @WINCHKBOX
SETTING_CHKF=WINCHKF
IF SETTING_CHKF==1THEN CLICKBTN=16 ELSE CLICKBTN=256
P$=STR$(FPS/60)
WINSX=0:WINSY=40:WINSC=1:WINSTR$="ハ゜フォ-マンス:"+P$:GOSUB @WINSTRPUT
RETURN

@S_FREE
GOSUB @WINFLAG:WINX2=48
WINY2=32:WINTTL$="FREE
RETURN
@WIN_FREE
WINSTR$=STR$(FREEVAR):WINSX=0
WINSY=0:WINSC=1
GOSUB @WINSTRPUT
RETURN
@S_RUN
WINMLT[TSK]=RUN_P
GOSUB @WINFLAG:WINX2=80
WINY2=40:WINTTL$="RUN
RUN_P=RUN_P+1
RETURN
@WIN_RUN
P=WINMLT[TSK]
WINTX2=WINX2-1
WINTA=RUNTA[P]
WINTX=1:WINTY=8:WINTXTP$=RUNNAME$[P]
WINTSX=RUNSX[P]
GOSUB @WINTXTBOX
RUNSX[P]=WINTSX
RUNNAME$[P]=WINTXT$
RUNTA[P]=WINTA
WINBX=2:WINBY=18:WINBSTR$="RUN"
GOSUB@WINBTN
RUNBTNF=WINBTNF
IF RUNBTNF==1THEN GOSUB @RUN_EXE
RETURN
@RUN_EXE
WINEXE$=RUNNAME$[P]:GOSUB @WINEXE
CLICK=0
CLICK2=0
CLICK3=0
CLICKR=0
CLICKR2=0
CLICKR3=0
CLICKF=0
'TSK=TSKMAX-1
RETURN
'カンイ エテ゛ィタ
@S_LED
WINTTL$="エテ゛ィタ
WINX2=130:WINY2=41
LED_LINE=1
RETURN
@WIN_LED
WINBX=2:WINBY=1
WINBSTR$="LD"
GOSUB @WINBTN
IF WINBTNF==1THEN LED_FL=1
WINBX=24:WINBY=1
WINBSTR$="SV"
GOSUB @WINBTN
IF WINBTNF==1THEN LED_FL=2
WINBX=46:WINBY=1
WINBSTR$="UP"
GOSUB @WINBTN
LED_F=0
IF WINBTNF==1THEN LED_F=2
WINBX=68:WINBY=1
WINBSTR$="DW":GOSUB @WINBTN
IF WINBTNF==1THEN LED_F=1
WINSX=1:WINSY=13:WINSTR$="line:"+STR$(LED_LINE)
WINSC=1
GOSUB @WINSTRPUT
LED_B$=LED_LINES$
WINTX2=WINX2-1
WINTX=0:WINTY=22:WINTA=LED_A:WINTXTP$=LED_LINES$
WINTSX=LED_TSX
GOSUB @WINTXTBOX
LED_A=WINTA:LED_LINES$=WINTXT$
IF LED_B$!=WINTXT$ THEN GOSUB @LED_APP
LED_TSX=WINTSX
IF LED_F==1THEN LED_UP=0:GOSUB @LED_DW
IF LED_F==2THEN LED_UP=1:GOSUB @LED_DW
IF LED_FL!=0THEN GOSUB @LED_FIL
RETURN
@LED_FIL
WINY2=74
WINSTR$="LOAD"*(LED_FL==1)+"SAVE"*(LED_FL==2)
WINSX=0:WINSY=32:WINSC=1:GOSUB@WINSTRPUT

WINTXTP$=LED_FIL$
WINTX=0:WINTY=40:WINTSX=LED_FLSX
WINTX2=WINX2-1
WINTA=LED_FLA
GOSUB @WINTXTBOX
LED_FLA=WINTA
LED_FIL$=WINTXT$
LED_FLSX=WINTSX

WINBX=2:WINBY=50:WINBSTR$="LOAD"*(LED_FL==1)+"SAVE"*(LED_FL==2)
GOSUB @WINBTN
IF WINBTNF==1THEN GOSUB @LED_L_S
RETURN
@LED_L_S
 IF LED_FL==1THEN LOAD"MEM:"+LED_FIL$,0:LED$=MEM$
 IF LED_FL==2THEN MEM$=LED$:SAVE"MEM:"+LED_FIL$
 LED_I=0
 GOSUB @LED_DW
RETURN
@LED_APP
 LED$=LEDB$+LED_LINES$+LEDC$
RETURN
@LED_DW
C$=CHR$(13)
 L=0:F=0:J=0:I=0
 IF LED_LINE<1THEN LED_LINE=0
 IF LED_UP==0THEN LED_LINE=LED_LINE+1 ELSE LED_LINE=LED_LINE-1
 LED_UP=0
 FOR I=0TO LEN(LED$)-1
  M$=MID$(LED$,I,1)
  IF M$==CHR$(13)THEN L=L+1:LED_LS$=MID$(LED$,J,I-J):J=I+1
  IF LED_LINE==L AND F==0 THEN F=1:LED_I=I:LED_LINES$=LED_LS$
 NEXT
 IF F==0THEN LED_LINES$=MID$(LED$,J,I-J):LED_LINE=L+1:LED_I=J
 IF LED_LINE==0THEN LED_LINE=0:GOTO @LED_DW
 LEDB$=MID$(LED$,0,LED_I-1)
 LEDC$=MID$(LED$,LED_I+LEN(LED_LINES$),256)
RETURN

@S_MEV
WINX2=128:WINY2=74
WINTTL$="MEMViewer"
RETURN
@WIN_MEV
WINTX=0:WINTY=0:WINTXTP$=MEV_F$
WINTSX=MEV_X:WINTA=MEVA:WINTX2=8*8
GOSUB @WINTXTBOX
MEVA=WINTA
MEV_X=WINTSX
MEV_F$=WINTXT$

WINBX=66:WINBY=-1:WINBSTR$="LOAD"
GOSUB @WINBTN
IF WINBTNF==1THEN GOSUB @MEV_F
IF MEV$==""THEN RETURN
X=WX+1:Y=WY+19
C=0:K=0:F=0
FOR I=0TO LEN(MEV$)-1
' M$=MID$(CHR$(13)+MEV$+CHR$(13),I,1)
 M$=MID$(MEV$,I,1)
 IF I>=MEV_C THEN K=J:I=99998:GOTO @MEV_SKK
 IF M$==CHR$(13)THEN C=C+1:J=I:F=1
@MEV_SKK
NEXT
IF F==0THEN K=0ELSE K=K+1
MEV_D=K'INSTR(J,MID$(MEV$,0,MEV_C)+CHR$(13),CHR$(13)) 
IF MEV_D==-1THEN MEV_D=0
Z=MEV_D
FOR I=MEV_D TO LEN(MEV$)-1
 M$=MID$(MEV$,I,1)
 IF X>=WX2 THEN X=WX+1:Y=Y+8
 IF Y>=WY2 THEN I=9999:GOTO @MEVSK
 GPUTCHR X,Y,"BGF",ASC(M$),1,1
 IF Z==MEV_C THEN GFILL X,Y+7,X+8,Y+8,14
 X=X+8:Z=Z+1
 IF M$==CHR$(13)THEN Y=Y+8:X=WX+1:'I=I+1:M$=MID$(MEV$,I,1)
 @MEVSK
NEXT
B=BUTTON()
IF B==4THEN MEV_C=MEV_C-1
IF B==8THEN MEV_C=MEV_C+1
IF MEV_C<0THEN MEV_C=0
IF MEV_C>=LEN(MEV$)THEN MEV_C=LEN(MEV$)-1
KEYFLG=KEYFLG+(WINACTV==1)
IF WINACTV==1THEN @MEV_ED
RETURN
@MEV_ED
INK$=KEYBF$:KEYBF$=""
IF KEYFLG==1AND INK$!=""THEN MEV$=MID$(MEV$,0,MEV_C)+INK$+MID$(MEV$,MEV_C,256)
MEV_C=MEV_C+LEN(INK$)
RETURN
@MEV_F
LOAD "MEM:"+MEV_F$,0
MEV$=MEM$
RETURN

@S_CLOCK
WINX2=66
WINY2=75
WINTTL$="CLOCK
WINCLS=1
RETURN
@WIN_CLOCK
GCIRCLE WX+33,WY+42,32,7
TMREAD(TIME$),A,B,C
B=B+C/60
A=A%12
E=35+WX+COS(RAD((180+90+C*6)%360))*31'+2
D=42+WY+SIN(RAD((180+90+C*6)%360))*31'+10
GLINE E,D,WX+34,WY+42,13
E=35+WX+COS(RAD((180+90+B*6)%360))*30'+2
D=42+WY+SIN(RAD((180+90+B*6)%360))*30'+10
GLINE E,D,WX+34,WY+42,14
E=35+WX+COS(RAD((180+90+A*30+B*0.5)%360))*22'+2
D=42+WY+SIN(RAD((180+90+A*30+B*0.5)%360))*22'+10
GLINE E,D,WX+34,WY+42,14
RETURN
@C_CLOCK
GOSUB @WINCLOSE
RETURN
@S_MONO
GOSUB @OTWCOL
WINCLS=1 
FOR I=0TO 255
 COLREAD("SP",I),R,G,B
 C=(R+G+B)/3
 COLSET "GRP",I,HEX$(C,2)*3
 COLSET "SP",I,HEX$(C,2)*3
 COLSET "BG",I,HEX$(C,2)*3
NEXT
RETURN
@WIN_MONO
RETURN
@C_MONO
GOSUB @OTWCOL
GOSUB @WINCLOSE
RETURN
@S_MONO3
GOSUB @S_MONO
WINCLS=1 
FOR I=0TO 255
 COLREAD("SP",I),R,G,B
 C=(R+G+B)/3
 C=0OR (C+1)/128
 C=C*127
 COLSET "GRP",I,HEX$(C,2)*3
 COLSET "SP",I,HEX$(C,2)*3
 COLSET "BG",I,HEX$(C,2)*3
NEXT
RETURN
@WIN_MONO3
RETURN
@C_MONO3
GOSUB @WINCLOSE
GOSUB @OTWCOL
RETURN
@S_MONO2
GOSUB @OTWCOL
WINCLS=1
FOR I=0TO 255
COLREAD("SP",I),R,G,B
C=(R+G+B)/3
IF C>127THEN C=255 ELSE C=0
 COLSET "GRP",I,HEX$(C,2)*3
 COLSET "SP",I,HEX$(C,2)*3
 COLSET "BG",I,HEX$(C,2)*3

NEXT
RETURN
@WIN_MONO2
RETURN
@C_MONO2
GOSUB @WINCLOSE
GOSUB @OTWCOL
RETURN
@S_COL2
WINCLS=1
GOSUB @OTWCOL
FOR COL_I=0TO 255
 COLREAD("SP",COL_I),R,G,B
 IF R<64THEN R=0
 IF R>64AND R<128THEN R=128
 IF R>128AND R<192 THEN R=192
 IF R>192 THEN R=255

 IF G<64THEN G=0
 IF G>64AND G<128THEN G=128
 IF G>128 AND G<192THEN G=192
 IF G>192 THEN G=255

 IF B<64THEN B=0
 IF B>64AND B<128THEN B=128
 IF B>128 AND B<192THEN B=192
 IF B>192 THEN B=255
' COMP$=STR$(R)+":"+STR$(G)+":"+STR$(B):GOSUB COMPRT$
 COLSET "SP",COL_I,HEX$(R,2)+HEX$(G,2)+HEX$(B,2)
 COLSET "GRP",COL_I,HEX$(R,2)+HEX$(G,2)+HEX$(B,2)
 COLSET "BG",COL_I,HEX$(R,2)+HEX$(G,2)+HEX$(B,2)
NEXT
RETURN
@WIN_COL2
RETURN
@C_COL2
GOSUB @OTWCOL
GOSUB @WINCLOSE
RETURN
@S_COL
WINCLS=1
GOSUB @OTWCOL
D=128
FOR I=0TO 255
COLREAD("SP",I),R,G,B
' R=(0OR (R/D))*D
' G=(0OR (G/D))*D
' B=(0OR (B/D))*D
IF R>128THEN R=255
IF R<128THEN R=0
IF G>128THEN G=255
IF G<128THEN G=0
IF B>128THEN B=255
IF B<128THEN B=0
COLSET "SP",I,HEX$(R,2)+HEX$(G,2)+HEX$(B,2)
COLSET "BG",I,HEX$(R,2)+HEX$(G,2)+HEX$(B,2)
COLSET "GRP",I,HEX$(R,2)+HEX$(G,2)+HEX$(B,2)
NEXT
RETURN
@WIN_COL
RETURN
@C_COL
GOSUB @WINCLOSE
GOSUB @OTWCOL
RETURN
@S_DBG
WINY2=25
WINTTL$="DBG"
RETURN
@WIN_DBG
WINSX=0:WINSY=0:WINSC=1
WINSTR$="X:"+STR$(MOUSEX-WINSX[0])
GOSUB @WINSTRPUT
WINSX=0:WINSY=8:WINSC=1
WINSTR$="Y:"+STR$(MOUSEY-WINSY[0])
GOSUB @WINSTRPUT
RETURN
@S_M
WIN_MODE=1
WINTTL$="オテ゛コ ヒロイ
WINX2=100:WINY2=45
GOSUB @WINFLAG
RETURN
@DGS_WIN_M
WINDEGY=20
WINDEGY2=1
WINDEGX=1
WINDEGX2=1
RETURN
@DEG_WIN_M
GFILL WX,WY,WX2,WY2,0
GFILL WX,WY,WX2,WY+19,15
GBOX WX,WY,WX2,WY2,13
WINSX=8:WINSY=-20:WINSC=1:WINSTR$=WINTTL$[TSK]
GOSUB @WINSTRPUT
RETURN
@WIN_M
WINDESIGN$="WIN_M"
GOSUB @WINDOW:IF WINIDFLG==1THEN RETURN
WINSX=5:WINSY=0:WINSC=0:WINSTR$="ト゛クシ゛WINDOW
GOSUB @WINSTRPUT
RETURN
@S_DT
WIN_MODE=1
GOSUB @WINFLAG
RETURN
@WIN_DT
WINDESIGN$="WIN_M"
GOSUB @WINDOW:IF WINIDFLG==1THEN RETURN
WINBX=0:WINBY=0:WINBSTR$="TST
 GOSUB @WINBTN
IF WINBTNF==1THEN TALK "ウワアアアアアオサレタアアアア
WINTX=0
WINTY=12
WINTX2=WINX2
WINTXTP$=WINDT$
WINTA=WINDT_A
WINTSX=WINDT_SX
 GOSUB @WINTXTBOX
WINDT$=WINTXT$
WINDT_A=WINTA
WINDT_SX=WINTSX
RETURN
@S_W3
WINTTL$="WWW
WIN_MODE=1
GOSUB @WINFLAG
RETURN
@DGS_W3
WINDEGY=9
WINDEGX=8
WINDEGY2=8
WINDEGX2=8
RETURN
@DEG_W3
GFILL WX,WY,WX2,WY2,WINBG
GFILL WX,WY,WX2,WY+8,1
GFILL WX,WY+9,WX+8,WY2,13
GFILL WX+9,WY2-8,WX2,WY2,13
GFILL WX2-8,WY+9,WX2,WY2-8,13
GBOX WX2-8,WY,WX2,WY+8,15
GFILL WX2-7,WY+1,WX2-1,WY+7,13
GLINE WX2-6,WY+2,WX2-2,WY+6,14
GLINE WX2-2,WY+2,WX2-6,WY+6,14
WINSX=-8:WINSY=-8:WINSTR$=WINTTL$:WINSC=0
GOSUB @WINSTRPUT
RETURN
@WIN_W3
WINDESIGN$="W3"
GOSUB @WINDOW:IF WINIDFLG==1THEN RETURN
WINSX=0:WINSY=0:WINSC=1:WINSTR$="WWWDS
GOSUB @WINSTRPUT
RETURN
@S_SEIUN
WINY2=32
WINTTL$="セイウン
RETURN
@WIN_SEIUN
WINTXTP$=STR$(WINSEIUN)
WINTA=SEIUN_A
WINTSX=SEIUN_X
WINTX=0
WINTX2=62
WINTY=0
GOSUB @WINTXTBOX
SEIUN_X=WINTSX
SEIUN_A=WINTA
WINSEIUN=VAL(WINTXT$)
WINBX=0:WINBY=12:WINBSTR$="OK
GOSUB @WINBTN
IF WINBTNF==1 THEN WINSTAR=WINSEIUN
RETURN
@S_STAR
WIN_MODE=1:GOSUB @WINFLAG
WINX2=128:WINY2=64
WINSTAR=7
RETURN
@WIN_STAR
WINTTL$="O"+STR$(WINSTAR)+"セイウン
WINBG=14:GOSUB @WINDOW:IF WINIDFLG==1THEN RETURN
R=0:S=0
FOR I=0TO 10
 S=((S+15)*WINSTAR)AND 4095
 R=S/4096
 S=((S+15)*WINSTAR)AND 4095
 T=S/4096
 GPSET WFX+R*128,WFY+T*54,15
NEXT
RETURN
@S_CAVEM
CAVE_MU=1
WINNAME$[TSK]="CAVE
GOTO @S_CAVE
RETURN
@S_CAVE
GOSUB @WINBUFF
IF BF==0THEN GOSUB@SYS_ERR_BUFF:RETURN
CAVE_BF=BF
' CAVE_MU=0
WINTTL$="CAVE-OCHAME"+"И"*CAVE_MU
GOSUB@INI_CAVE
RETURN
@INI_CAVE
CAVE_S=0
CAVE_Y=30
CAVE_V=RND(122)
CAVE_P=0
CAVE_W=0
WINY2=191/2+11
WINX2=125
GPAGE 0,CAVE_BF,M:GCLS 14:GPAGE 0,!M,M
CAVE_SI=2
WINCLS=1
CAVE_U=0
CAVE_X=0
RETURN
@C_CAVE
CAVE_MU=0
GOSUB @WINCLOSE
CAVE_GV=0
CAVE_S=0
BF=CAVE_BF:GOSUB @WINBUFFC
RETURN
@WIN_CAVE
GCOPY CAVE_BF,4,0,255/CAVE_SI,191/CAVE_SI,WFX,WFY,0
WINSX=0:WINSY=0WINSC=0WINSTR$=STR$(0OR CAVE_S)+"  RESE CLICK"*CAVE_GV:GOSUB @WINSTRPUT
IF CAVE_GV==1AND WINACTV==1AND CLICK3==1AND WINFLG[TSK]==2THEN  GOSUB@INI_CAVE:CAVE_GV=0
IF CAVE_GV==1THEN RETURN
BF=CAVE_BF
GOSUB @WINBUFFP:'GPAGE 0,CAVE_BF,M
CAVE_P=CAVE_P+1:CAVE_W=70-CAVE_P/20
GCOPY CAVE_BF,8/CAVE_SI,0,255/CAVE_SI,191/CAVE_SI,0,0,1
GFILL (254-6)/CAVE_SI,0,255/CAVE_SI,191/CAVE_SI,7
GFILL (254-6)/CAVE_SI,CAVE_V/CAVE_SI,255/CAVE_SI,(CAVE_V+CAVE_W)/CAVE_SI,14
CAVE_I=(GSPOIT(34/CAVE_SI,(CAVE_Y)/CAVE_SI+2)<14)CAVE_S=CAVE_S+1/CAVE_SI
IF CAVE_I==1AND CAVE_MU==0THEN CAVE_GV=1
GFILL 30/CAVE_SI,CAVE_Y/CAVE_SI,34/CAVE_SI,(CAVE_Y+4)/CAVE_SI,2
CAVE_X=CAVE_X-(16 AND BUTTON())%5+0.5
CAVE_S=CAVE_S+(0OR ABS(CAVE_X))CAVE_U=RND(2)*4-2
CAVE_V=CAVE_V+CAVE_U*(CAVE_U+CAVE_V>0)*(CAVE_U+CAVE_V+CAVE_W<191)
CAVE_Y=CAVE_Y+CAVE_X/CAVE_SI
GOSUB@WINBUFFP2:'GPAGE 0,!M,M
RETURN
@S_PAINT
WINMLT[TSK]=PAINT_M
BF=0
GOSUB @WINBUFF
IF BF==0THEN GOSUB@SYS_ERR_BUFF:RETURN
PAINT_BF[PAINT_M]=BF
BFC=15
GOSUB @WINBUFFGCLS
PAINTF[PAINT_M]=0
WINTTL$="PAINT
PAINT_M=(PAINT_M+1)%2
WINCLS=1
RETURN
@C_PAINT
BF=PAINT_BF[WINMLT[TSK]]
GOSUB @WINBUFFC
GOSUB @WINCLOSE
RETURN
@WIN_PAINT
P=WINMLT[TSK]'PAINT_C
' PAINT_C=(PAINT_C+1)%PAINT_M
PAINTF2=0
IF PAINTF[P]==0THEN PAINTF[P]=1:RETURN
IF WINACTV==0OR WINFLG[0]==3THEN PAINTF2=1
GCOPY PAINT_BF[P],0,0,62,52,WFX,WFY,1
BF=PAINT_BF[P]
GOSUB @WINBUFFP
IF PAINTF2==0AND CLICK==0AND CLICK2==1THEN GLINE MOUSEX-WFX,MOUSEY-WFY,PAINTX[P],PAINTY[P],14
PAINTX[P]=MOUSEX-WFX
PAINTY[P]=MOUSEY-WFY
' PAINT_O=CLICK2
' GPSET MOUSEX-WFX,MOUSEY-WFY,14
GOSUB @WINBUFFP2

RETURN
@INI_GAME1
GAME1_X=16
GAME1_Y=95-20
GAME1_N=10
GAME1_GV=0
RETURN
@S_GAME1
WINCLS=1
WINX2=130
WINY2=192/2+11
GOSUB @WINBUFF
IF BF==0THEN GOSUB@SYS_ERR_BUFF:RETURN
BFC=6
GAME1_BF=BF
GOSUB @WINBUFFGCLS
GOSUB @WINBUFFP
 GFILL 0,96-16,128,96,7
GOSUB @WINBUFFP2
GOSUB @INI_GAME1
WINTTL$="GAME1
RETURN
@WIN_GAME1
GCOPY GAME1_BF,0,0,128,96,WFX,WFY,1
GFILL GAME1_X-4+WFX,WFY+GAME1_Y-4,WFX+GAME1_X+4,GAME1_Y+4+WFY,4
IF GAME1_GV==1AND WINACTV==1AND CLICK3==1AND WINFLG[TSK]==2THEN GOSUB@INI_GAME1
IF GAME1_GV==1THEN RETURN
IF BUTTON()AND 4THEN GAME1_X=GAME1_X-1
IF BUTTON()AND 8THEN GAME1_X=GAME1_X+4
IF(BUTTON()AND 16)==16AND GAME1_J==0THEN GAME1_J=1
IF GAME1_J==1THEN GAME1_Y=GAME1_Y*0.9
IF GAME1_J==2THEN GAME1_Y=GAME1_Y*1.1
IF GAME1_J==1AND GAME1_Y<=16THEN GAME1_J=2
IF GAME1_J==2AND GAME1_Y>=95-20THEN GAME1_J=0: GAME1_Y=95-20
GAME1_X=GAME1_X-2-!!JMPFLG
IF GAME1_X<0THEN GAME1_X=0
BF=GAME1_BF
GOSUB @WINBUFFP
 GCOPY GAME1_BF,2,0,128,96,0,0,1
 GAME1_A1=GSPOIT(GAME1_X-4,GAME1_Y+8)
 GAME1_A2=GSPOIT(GAME1_X,GAME1_Y+8)
 GAME1_A3=GSPOIT(GAME1_X+4,GAME1_Y+8)
 IF !(GAME1_A1+GAME1_A2+GAME1_A3)THEN GAME1_GV=1
 GAME1_R=RND(GAME1_N)
 GAME1_A=GSPOIT(GAME1_X,GAME1_Y)
 IF GAME1_A==2THEN GAME1_GV=1
 GFILL 128-ABS(RND(15-GAME1_N)),96-16,128,96,!!GAME1_R*7
 GAME1_B=RND(24)
 GAME1_BH=RND(20)
 IF GAME1_BH==0THEN GFILL 126,GAME1_B+8,128,GAME1_B,2
 IF GAME1_BH!=0THEN GFILL 126,0,128,79,6
 GAME1_N=GAME1_N-0.001
GOSUB @WINBUFFP2
RETURN
@C_GAME1
BF=GAME1_BF
GOSUB @WINBUFFC
GOSUB @WINCLOSE
GAME1_GV=0
RETURN
@S_MAC
WIN_MODE=1:GOSUB @WINFLAG
WINTTL$="MAC
RETURN
@WIN_MAC
WINDESIGN$="MAC
GOSUB @WINDOW
RETURN
@DGS_MAC
WINDEGW=1
WINDEGX=1
WINDEGX2=1
WINDEGY=10
WINDEGY2=1
RETURN
@DGW_MAC
IF WINFLG[TSK]==4THEN @DGW_MAC_S
F=0IF MOUSEX>=WX AND MOUSEX<=WX2 AND MOUSEY>=WY AND MOUSEY<=WY2 THEN F=1
IF F==0AND CLICKF==1THEN WINFLG[TSK]=1:WINACTV=0:WINFLG=1:RETURN
F=0:IF MOUSEX>=WX+11 AND MOUSEX<=WX2 THEN F=1
IF F==1 AND MOUSEY>=WY AND MOUSEY<=WFY THEN F=2
IDF=0
IF F==2 AND CLICK==1AND IDOUT==0THEN WINFLG=3:IDOUFLG=1:IDF=1GOSUB @WINSWP:RETURN
IF F==2 AND CLICKF==1AND IDOUT==0THEN WINFLG[TSK]=2GOSUB @WINSWP:RETURN
IF WINFLG==3THEN IDOUT=1:GOSUB @WINIDOU2

F=0:IDOUFLG=0:IF MOUSEX>=WX AND MOUSEX<=WX2 THEN F=1
IF F==1 AND MOUSEY>=WFY AND MOUSEY<=WY2 THEN F=2
IF F==2 AND CLICKF==1THEN WINFLG[TSK]=2:GOSUB @WINSWP:RETURN
F=0:IDOUFLG=0
IF MOUSEX>=WX AND MOUSEX<=WX+11 THEN F=1
IF F==1 AND MOUSEY>=WY AND MOUSEY<WFY THEN F=2
IF F==2 AND CLICKF==1THEN WINFLG[TSK]=2:GOSUB @WINSWP:'RETURN

@DGW_MAC_S
F=0
IF MOUSEX>=WX+4  AND MOUSEX<=WX+9 THEN F=1
IF F==1 AND MOUSEY>=WY+3 AND MOUSEY<WFY-3 THEN F=2
IF (F==2AND CLICK==1)OR WINFLG[TSK]==4THEN WINCS=0GOTO@DGM_MAC
WINCS=0
RETURN
@DGM_MAC
WINFLG[0]=4
GFILL WX+4,WFY-2,WX+56,WFY+10,15
GBOX WX+4,WFY-2,WX+56,WFY+10,14
F=0
IF MOUSEX<WX+4OR MOUSEX>WX+56 THEN F=1
IF MOUSEY<WY+3OR MOUSEY>WFY+10THEN F=1
IF CLICK==1AND F==1THEN WINFLG[TSKB]=2
F=0
IF MOUSEX>=WX+5AND  MOUSEX<=WX+45 THEN F=1
IF F==1AND MOUSEY>=WFY AND MOUSEY<=WFY+8THEN F=2
IF F==2AND CLICK==1THEN GOSUB @WINCLOSEGT
IF F==2THEN GFILL WX+4,WFY-1,WX+55,WFY+8,14
WINSX=4
WINSY=0
WINSTR$="CLOSE"
WINSC=1*F!=2
GOSUB @WINSTRPUT
RETURN
@DEG_MAC
IF WINDEGW==1AND WINIDFLG==1THEN GOTO @DGW_MAC
GFILL WX,WY,WX2,WFY,15
GFILL WFX,WFY,WFX2,WFY2,WINBG
GBOX WX,WY,WX2,WY2,14
GLINE WX,WY+10,WX2,WY+10,14
IF WINACTV==1THEN GOSUB @DEGMAC
WINSTR$=WINTTL$
WINSX=(WINX2/2+6.5)-(LEN(WINTTL$[TSK])/2)*8-1
IF WINSX<12THEN WINSX=12
WINSY=-9
WINSX2=WINSX+WX+LEN(WINTTL$)*8
IF WINSX2>WX2 THEN WINSX2=WX2-2
GFILL WINSX+WX,WY+1,WINSX2,WY+9,15
WINSC=1
GOSUB @WINSTRPUT
GFILL WX+3,WY+3,WX+10,WY+7,15
GBOX WX+4,WY+3,WX+9,WY+7,14
RETURN
@DEGMAC
GLINE WX+2,WY+3,WX2-2,WY+3,14GLINE WX+2,WY+5,WX2-2,WY+5,14GLINE WX+2,WY+7,WX2-2,WY+7,14
RETURN
@S_LONG
WINTTL$="A"*256
RETURN
@WIN_LONG
RETURN

@S_MENU
WINTTL$="MENUBAR
WINX2=64+8
RETURN
@WIN_MENU
WFX2=WFX2+800
WINMK=OTYAMKF
WINMKS=OTYAMKFS
WINMX=0WINMY=0:WINMX2=64
WINMMAX=3
WINM$[0]="MENU1"
' WINMENU[0]=16
WINM$[1]="2"
WINM$[2]="3"
WINM$[3]="4"
GOSUB @WINMENU
OTYAMKF=WINMK:OTYAMKFS=WINMKS
IF WINM==-1THEN OTYAMK2=0:
IF WINM==-1GOTO@WIN_MENU_S:' ELSE OTYAMKF=1:OTYAMKFS=WINM
WINMX=0WINMY=8
GOSUB "@WIN_MENU_"+STR$(WINM)
WINMK=OTYAMK2:WINMKS=OTYAMKS2
GOSUB @WINMENU2
OTYAMK2=WINMK:OTYAMKS2=WINMKS
WINMK=0:WINMKS=0
IF WINM==1THEN OTYAMENU=1ELSE OTYAMENU=0
IF WINM==1THEN GOSUB @WIN_MENU__

@WIN_MENU_S
WFX2=WFX2-800
RETURN
@WIN_MENU__
OTYAMK2=1
OTYAMKS2=1
WINM$[0]="FILES
WINM$[1]="LOAD"
WINM$[2]="RUN"
WINM$[3]="CONT"
WINM$[4]="SAVE"
WINMX2=80
WINMK=OTYAMK3:WINMKS=OTYAMKS3
WINM=-9
WINMX=40WINMY=16:WINMMAX=4:GOSUB @WINMENU2
OTYAMK3=WINMK:OTYAMKS3=WINMKS
IF WINM==0THEN GOSUB @WIN_MENU___
IF WINM==1THEN GOSUB @WIN_MENU___
IF WINM==4THEN GOSUB @WIN_MENU___
IF WINM==2THEN GOSUB @WIN_MENU___R
RETURN
@WIN_MENU___
WINM$[0]="PRG
WINM$[1]="MEM
WINM$[2]="CHR
WINM$[3]="GRP

WINMX2=120
WINMK=OTYAMK4:WINMKS=OTYAMKS4
WINMX=80WINMY=8:WINMMAX=3:GOSUB @WINMENU2
OTYAMK4=WINMK:OTYAMKS4=WINMKS
WINM=-1
RETURN
@WIN_MENU___R
WINM$[0]="@COMMAND
WINM$[1]="@OTW
WINMX2=143
WINMK=OTYAMK4R:WINMKS=OTYAMKS4R
WINMX=80WINMY=24:WINMMAX=1:GOSUB @WINMENU2

OTYAMK4R=WINMK:OTYAMKS4R=WINMKS
RETURN
@WIN_MENU_0
WINMX2=40
WINM$[0]="MENU"
WINM$[1]="MENU2"
WINMMAX=1
RETURN
@WIN_MENU_1
RETURN
@WIN_MENU_2
RETURN
@WIN_MENU_3
RETURN

@C_MINE
BF=MINE_BF
GOSUB @WINBUFFC
GOSUB @WINCLOSE
MINE_F=0
FOR I=0TO 63
FOR J=0TO 63
MINE_M[I,J]=0
MINE_F[I,J]=0
NEXT
NEXT
RETURN
'DRAW DATA
@N_MINE_N0
GFILL MINE_NX,MINE_NY,MINE_NX+7,MINE_NY+7,13

GLINE MINE_NX,MINE_NY,MINE_NX+6,MINE_NY,15
GLINE MINE_NX,MINE_NY+1,MINE_NX+6,MINE_NY+1,15
GLINE MINE_NX,MINE_NY+2,MINE_NX,MINE_NY+6,15
GLINE MINE_NX+1,MINE_NY+2,MINE_NX+1,MINE_NY+6,15

GLINE MINE_NX+7,MINE_NY+1,MINE_NX+7,MINE_NY+7,1
GLINE MINE_NX+6,MINE_NY+2,MINE_NX+6,MINE_NY+7,1
GLINE MINE_NX+2,MINE_NY+6,MINE_NX+5,MINE_NY+6,1
GLINE MINE_NX+1,MINE_NY+7,MINE_NX+5,MINE_NY+7,1
RETURN
@N_MINE_N11
GFILL MINE_NX,MINE_NY,MINE_NX+7,MINE_NY+7,1
GFILL MINE_NX+1,MINE_NY+1,MINE_NX+7,MINE_NY+7,13
RETURN
@N_MINE_N1
GFILL MINE_NX,MINE_NY,MINE_NX+7,MINE_NY+7,1
GFILL MINE_NX+1,MINE_NY+1,MINE_NX+7,MINE_NY+7,13
GLINE MINE_NX+4,MINE_NY+1,MINE_NX+4,MINE_NY+7,4
GLINE MINE_NX+2,MINE_NY+2,MINE_NX+3,MINE_NY+2,4
GLINE MINE_NX+2,MINE_NY+7,MINE_NX+6,MINE_NY+7,4
RETURN
@N_MINE_N2
GFILL MINE_NX,MINE_NY,MINE_NX+7,MINE_NY+7,1
GFILL MINE_NX+1,MINE_NY+1,MINE_NX+7,MINE_NY+7,13
GLINE MINE_NX+3,MINE_NY+1,MINE_NX+5,MINE_NY+1,10
GPSET MINE_NX+2,MINE_NY+2,10
GLINE MINE_NX+6,MINE_NY+2,MINE_NX+6,MINE_NY+3,10
GLINE MINE_NX+5,MINE_NY+4,MINE_NX+2,MINE_NY+7,10
GLINE MINE_NX+3,MINE_NY+7,MINE_NX+6,MINE_NY+7,10 
RETURN
@N_MINE_N3
GFILL MINE_NX,MINE_NY,MINE_NX+7,MINE_NY+7,1
GFILL MINE_NX+1,MINE_NY+1,MINE_NX+7,MINE_NY+7,13
GPSET MINE_NX+2,MINE_NY+2,2
GLINE MINE_NX+3,MINE_NY+1,MINE_NX+5,MINE_NY+1,2
GLINE MINE_NX+6,MINE_NY+2,MINE_NX+6,MINE_NY+3,2
GLINE MINE_NX+4,MINE_NY+4,MINE_NX+5,MINE_NY+4,2
GLINE MINE_NX+6,MINE_NY+5,MINE_NX+6,MINE_NY+6,2
GLINE MINE_NX+3,MINE_NY+7,MINE_NX+5,MINE_NY+7,2
GPSET MINE_NX+2,MINE_NY+6,2
RETURN
@N_MINE_N4
GFILL MINE_NX,MINE_NY,MINE_NX+7,MINE_NY+7,1
GFILL MINE_NX+1,MINE_NY+1,MINE_NX+7,MINE_NY+7,13
GLINE MINE_NX+5,MINE_NY+1,MINE_NX+2,MINE_NY+4,194
GLINE MINE_NX+5,MINE_NY+2,MINE_NX+5,MINE_NY+7,194
GLINE MINE_NX+2,MINE_NY+6,MINE_NX+6,MINE_NY+6,194
GPSET MINE_NX+2,MINE_NY+5,194
RETURN
@N_MINE_N5
GFILL MINE_NX,MINE_NY,MINE_NX+7,MINE_NY+7,1
GFILL MINE_NX+1,MINE_NY+1,MINE_NX+7,MINE_NY+7,13
GLINE MINE_NX+2,MINE_NY+1,MINE_NX+6,MINE_NY+1,49
GLINE MINE_NX+2,MINE_NY+2,MINE_NX+2,MINE_NY+4,49
GLINE MINE_NX+3,MINE_NY+3,MINE_NX+5,MINE_NY+3,49
GLINE MINE_NX+6,MINE_NY+4,MINE_NX+6,MINE_NY+6,49
GLINE MINE_NX+3,MINE_NY+7,MINE_NX+5,MINE_NY+7,49
GPSET MINE_NX+2,MINE_NY+6,49
RETURN
@N_MINE_N6
GFILL MINE_NX,MINE_NY,MINE_NX+7,MINE_NY+7,1
GFILL MINE_NX+1,MINE_NY+1,MINE_NX+7,MINE_NY+7,13
GLINE MINE_NX+4,MINE_NY+1,MINE_NX+5,MINE_NY+1,27
GLINE MINE_NX+2,MINE_NY+3,MINE_NX+2,MINE_NY+6,27
GLINE MINE_NX+3,MINE_NY+4,MINE_NX+5,MINE_NY+4,27
GLINE MINE_NX+6,MINE_NY+5,MINE_NX+6,MINE_NY+6,27
GLINE MINE_NX+3,MINE_NY+7,MINE_NX+5,MINE_NY+7,27
GPSET MINE_NX+3,MINE_NY+2,27
RETURN
@N_MINE_N7
GFILL MINE_NX,MINE_NY,MINE_NX+7,MINE_NY+7,1
GFILL MINE_NX+1,MINE_NY+1,MINE_NX+7,MINE_NY+7,13
GLINE MINE_NX+2,MINE_NY+1,MINE_NX+6,MINE_NY+1,14
GLINE MINE_NX+6,MINE_NY+2,MINE_NX+4,MINE_NY+4,14
GLINE MINE_NX+4,MINE_NY+5,MINE_NX+4,MINE_NY+7,14
GPSET MINE_NX+2,MINE_NY+2,14
RETURN
@N_MINE_N8
GFILL MINE_NX,MINE_NY,MINE_NX+7,MINE_NY+7,1
GFILL MINE_NX+1,MINE_NY+1,MINE_NX+7,MINE_NY+7,13
GLINE MINE_NX+3,MINE_NY+1,MINE_NX+5,MINE_NY+1,29
GLINE MINE_NX+2,MINE_NY+2,MINE_NX+2,MINE_NY+3,29
GLINE MINE_NX+6,MINE_NY+2,MINE_NX+6,MINE_NY+3,29
GLINE MINE_NX+3,MINE_NY+4,MINE_NX+5,MINE_NY+4,29
GLINE MINE_NX+2,MINE_NY+5,MINE_NX+2,MINE_NY+6,29
GLINE MINE_NX+6,MINE_NY+5,MINE_NX+6,MINE_NY+6,29
GLINE MINE_NX+3,MINE_NY+7,MINE_NX+5,MINE_NY+7,29
RETURN
'BOMB
@N_MINE_N9
GFILL MINE_NX,MINE_NY,MINE_NX+7,MINE_NY+7,1
GFILL MINE_NX+1,MINE_NY+1,MINE_NX+7,MINE_NY+7,13
GPSET MINE_NX+2,MINE_NY+2,14
GPSET MINE_NX+3,MINE_NY+3,15
GLINE MINE_NX+2,MINE_NY+4,MINE_NX+6,MINE_NY+4,14
GLINE MINE_NX+4,MINE_NY+2,MINE_NX+4,MINE_NY+6,14
GLINE MINE_NX+3,MINE_NY+5,MINE_NX+2,MINE_NY+6,14
GLINE MINE_NX+5,MINE_NY+5,MINE_NX+6,MINE_NY+6,14
GLINE MINE_NX+6,MINE_NY+2,MINE_NX+5,MINE_NY+3,14
RETURN
@N_MINE_N10 '?
GOSUB @N_MINE_N0
GLINE MINE_NX+1,MINE_NY+1,MINE_NX+2,MINE_NY+0,14 
GLINE MINE_NX+4,MINE_NY+1,MINE_NX+3,MINE_NY+0,14 
GLINE MINE_NX+4,MINE_NY+2,MINE_NX+3,MINE_NY+3,14 
GPSET MINE_NX+3,MINE_NY+5,14 
RETURN
@N_MINE_N12
GOSUB @N_MINE_N0
GPSET MINE_NX+2,MINE_NY+2,2
GLINE MINE_NX+3,MINE_NY+1,MINE_NX+3,MINE_NY+3,2
GLINE MINE_NX+4,MINE_NY+1,MINE_NX+4,MINE_NY+3,2
GPSET MINE_NX+4,MINE_NY+4,14
GLINE MINE_NX+3,MINE_NY+5,MINE_NX+5,MINE_NY+5,14
RETURN
@N_MINE_N13
GOSUB @N_MINE_N9
GPAINT MINE_NX+1,MINE_NY+1,2
RETURN
@N_MINE_N14
GOSUB @N_MINE_N9
GLINE MINE_NX+2,MINE_NY+2,MINE_NX+6,MINE_NY+6,2
GLINE MINE_NX+6,MINE_NY+2,MINE_NX+2,MINE_NY+6,2
RETURN
'0=ナシ
'1=1
'2=2
'8=8
'9=BOM
'10=?
'11=FLG
'12=OPEN
'13ハ゛クハツ
'14フセカ゛レタ
@N_MINE
BF=MINE_BF
GOSUB @WINBUFFP
FOR I=0TO MINE_X-1
 FOR J=0TO MINE_Y-1
  MINE_F[I,J]=0
  MINE_M[I,J]=(RND(MINE_BOM)==0)*9
  MINE_BOMB=MINE_BOMB+(MINE_M[I,J]==9)
  MINE_NX=I*8
  MINE_NY=J*8
  GOSUB @N_MINE_N0
 NEXT
NEXT
'スウシ゛セット
FOR I=0TO MINE_X-1
 FOR J=0TO MINE_Y-1
  IF MINE_M[I,J]==9AND I>0THEN IF MINE_M[I-1,J]!=9THEN MINE_M[I-1,J]=MINE_M[I-1,J]+1
  IF MINE_M[I,J]==9AND I<MINE_X-1 THEN IF MINE_M[I+1,J]!=9THEN MINE_M[I+1,J]=MINE_M[I+1,J]+1
  IF MINE_M[I,J]==9AND J>0THEN IF MINE_M[I,J-1]!=9THEN MINE_M[I,J-1]=MINE_M[I,J-1]+1
  IF MINE_M[I,J]==9AND J<MINE_Y-1 THEN IF MINE_M[I,J+1]!=9THEN MINE_M[I,J+1]=MINE_M[I,J+1]+1
  F=0
  IF MINE_M[I,J]==9AND I<MINE_X-1AND J>0THEN IF MINE_M[I+1,J-1]!=9THEN F=1
  IF F==1THEN MINE_M[I+1,J-1]=MINE_M[I+1,J-1]+1
  F=0
  IF MINE_M[I,J]==9AND J<MINE_Y-1AND I>0THEN IF MINE_M[I-1,J+1]!=9THEN F=1
  IF F==1THEN MINE_M[I-1,J+1]=MINE_M[I-1,J+1]+1
  F=0
  IF MINE_M[I,J]==9AND J>0AND I>0THEN IF MINE_M[I-1,J-1]!=9THEN F=1
  IF F==1THEN MINE_M[I-1,J-1]=MINE_M[I-1,J-1]+1
  F=0
  IF MINE_M[I,J]==9AND J<MINE_Y-1AND I<MINE_X-1THEN IF MINE_M[I+1,J+1]!=9THEN F=1
  IF F==1THEN MINE_M[I+1,J+1]=MINE_M[I+1,J+1]+1
 NEXT

NEXT
RETURN
FOR I=0TO MINE_X-1
 FOR J=0TO MINE_Y-1
  MINE_NX=I*8
  MINE_NY=J*8
  GOSUB "@N_MINE_N"+STR$(MINE_M[I,J])
  
 NEXT
NEXT
GOSUB @WINBUFFP2
RETURN
@GV_MINE
FOR I=0TO MINE_X-1
 FOR J=0TO MINE_Y-1
  MINE_NX=I*8
  MINE_NY=J*8
  IF MINE_M[I,J]==9THEN IF MINE_F[I,J]==-1THEN MINE_M[I,J]=14 ELSE MINE_M[I,J]=13
  IF MINE_M[I,J]==0THEN MINE_M[I,J]=11
  GOSUB "@N_MINE_N"+STR$(MINE_M[I,J])
 NEXT
NEXT
RETURN
@P_MINE
' IF MINE_M[MINE_PX,MINE_PY]==3THEN
IF MINE_F[MINE_PX,MINE_PY]==-1THEN RETURN
MINE_NX=MINE_PX*8:MINE_NY=MINE_PY*8
IF MINE_N==0THEN GOSUB @P_MINE_O:RETURN
IF MINE_M[MINE_PX,MINE_PY]==9THEN MINE_GV=1
IF MINE_F[MINE_PX,MINE_PY]==0THEN MINE_SPACE=MINE_SPACE-1
IF MINE_F[MINE_PX,MINE_PY]==-2THEN MINE_SPACE=MINE_SPACE-1
MINE_F[MINE_PX,MINE_PY]=1
GOSUB "@N_MINE_N"+STR$(MINE_N)
RETURN
@P_MINE_O
P=0:MINE_OX[0]=MINE_PX:MINE_OY[0]=MINE_PY
@P_MINE_OL
 IF P==-1THEN RETURN
 IF MINE_M[MINE_OX[P],MINE_OY[P]]==0THEN MINE_M[MINE_OX[P],MINE_OY[P]]=11
 MINE_NX=MINE_OX[P]*8:MINE_NY=MINE_OY[P]*8
 GOSUB "@N_MINE_N11"'+STR$(MINE_M[MINE_OX[P],MINE_OY[P]])
 IF MINE_F[MINE_OX[P],MINE_OY[P]]==0THEN MINE_SPACE=MINE_SPACE-1
 IF MINE_F[MINE_OX[P],MINE_OY[P]]==-2THEN MINE_SPACE=MINE_SPACE-1
 MINE_F[MINE_OX[P],MINE_OY[P]]=1
 IF MINE_OX[P]<1THEN @P_MINE_OL2
 G=MINE_M[MINE_OX[P]-1,MINE_OY[P]]
 IF MINE_F[MINE_OX[P]-1,MINE_OY[P]]==-1THEN  @P_MINE_OL2
 IF G==0 OR G==0 THEN MINE_OX[P+1]=MINE_OX[P]-1:MINE_OY[P+1]=MINE_OY[P]P=P+1:GOTO @P_MINE_OL
 F=0
 IF G>0AND G<9AND MINE_F[MINE_OX[P],MINE_OY[P]]==0 THEN MINE_SPACE=MINE_SPACE-1
 IF G>0AND G<9AND MINE_F[MINE_OX[P],MINE_OY[P]]==-2THEN MINE_SPACE=MINE_SPACE-1
 IF G>0AND G<9 THEN MINE_NX=MINE_NX-8:GOSUB "@N_MINE_N"+STR$(G):MINE_F[MINE_OX[P]-1,MINE_OY[P]]=1
 MINE_NX=MINE_OX[P]*8:MINE_NY=MINE_OY[P]*8
@P_MINE_OL2
 IF MINE_OY[P]<1THEN @P_MINE_OL3
 G=MINE_M[MINE_OX[P],MINE_OY[P]-1]
 IF MINE_F[MINE_OX[P],MINE_OY[P]-1]==-1THEN  @P_MINE_OL3
 IF G==0 OR G==0 THEN MINE_OX[P+1]=MINE_OX[P]:MINE_OY[P+1]=MINE_OY[P]-1P=P+1:GOTO @P_MINE_OL
 IF G>0AND G<9AND MINE_F[MINE_OX[P],MINE_OY[P]]==0 THEN MINE_SPACE=MINE_SPACE-1
 IF G>0AND G<9AND MINE_F[MINE_OX[P],MINE_OY[P]]==-2THEN MINE_SPACE=MINE_SPACE-1
 IF G>0AND G<9 THEN MINE_NY=MINE_NY-8:GOSUB"@N_MINE_N"+STR$(G):MINE_F[MINE_OX[P],MINE_OY[P]-1]=1
 MINE_NX=MINE_OX[P]*8:MINE_NY=MINE_OY[P]*8
@P_MINE_OL3
 IF MINE_OX[P]>=MINE_X-1THEN @P_MINE_OL4
 G=MINE_M[MINE_OX[P]+1,MINE_OY[P]]
 IF MINE_F[MINE_OX[P]+1,MINE_OY[P]]==-1THEN  @P_MINE_OL4
 IF G==00OR G==0 THEN MINE_OX[P+1]=MINE_OX[P]+1:MINE_OY[P+1]=MINE_OY[P]P=P+1:GOTO @P_MINE_OL
 IF G>0AND G<9AND MINE_F[MINE_OX[P],MINE_OY[P]]==0 THEN MINE_SPACE=MINE_SPACE-1
 IF G>0AND G<9AND MINE_F[MINE_OX[P],MINE_OY[P]]==-2THEN MINE_SPACE=MINE_SPACE-1
 IF G>0AND G<9 THEN MINE_NX=MINE_NX+8GOSUB"@N_MINE_N"+STR$(G):MINE_F[MINE_OX[P]+1,MINE_OY[P]]=1
 MINE_NX=MINE_OX[P]*8:MINE_NY=MINE_OY[P]*8
@P_MINE_OL4
 IF MINE_OY[P]>=MINE_Y-1THEN @P_MINE_OL5
 IF MINE_F[MINE_OX[P],MINE_OY[P]+1]==-1THEN  @P_MINE_OL5
 G=MINE_M[MINE_OX[P],MINE_OY[P]+1]
 IF G==00OR G==0 THEN MINE_OX[P+1]=MINE_OX[P]:MINE_OY[P+1]=MINE_OY[P]+1P=P+1:GOTO @P_MINE_OL
 IF G>0AND G<9AND MINE_F[MINE_OX[P],MINE_OY[P]]==0 THEN MINE_SPACE=MINE_SPACE-1
 IF G>0AND G<9AND MINE_F[MINE_OX[P],MINE_OY[P]]==-2THEN MINE_SPACE=MINE_SPACE-1
 IF G>0AND G<9 THEN MINE_NY=MINE_NY+8GOSUB "@N_MINE_N"+STR$(G):MINE_F[MINE_OX[P],MINE_OY[P]+1]=1
 MINE_NX=MINE_OX[P]*8:MINE_NY=MINE_OY[P]*8
@P_MINE_OL5
 P=P-1
GOTO @P_MINE_OL
RETURN
@MINEKEY
KEY 1,"MINE_
END
@A_MINE
MINE_X=16
MINE_Y=16
MINE_SPACE=MINE_X*MINE_Y
MINE_BOM=32'カクリツ
DIM MINE_M[64,64]
'フラク゛マッフ゜
DIM MINE_F[64,64]
DIM MINE_DX[64]
DIM MINE_DY[64]
DIM MINE_OX[64*64]
DIM MINE_OY[64*64]
MINE_=1
RETURN
@SB_MINE
GOSUB @WINBUFF
IF BF==0THEN RETURN
MINE_BF=BF
RETURN
@S_MINE
WINCLS=1
IF MINE_F==1THEN GOSUB@WINCLOSE:RETURN
IF MINE_==0THEN GOSUB @A_MINE
IF MINE_B==0THEN GOSUB@SB_MINE
MINE_B=0
BF=MINE_BF
BFC=13:GOSUB @WINBUFFGCLS
GOSUB @N_MINE
MINE_F=1
WINCLS=1
WINY2=MINE_Y*8+11
WINX2=MINE_X*8+3
GOSUB @WINBUFFP
 GBOX 0,0,MINE_X*8,MINE_Y*8,255
GOSUB @WINBUFFP2
MINE_GV=0
MINE_GV2=0
MINE_CL=0
WINTTL$="MINE

RETURN
@WIN_MINE
GCOPY MINE_BF,0,0,MINE_X*8-1,MINE_Y*8-1,WFX,WFY,1
'GAMEOVER
IF MINE_GV+MINE_CL THEN WINSX=0WINSY=0:WINSTR$="А TO RESTART"WINSC=1GOSUB@WINSTRPUT
BF=MINE_BF
GOSUB @WINBUFFP
IF MINE_CL AND WINACTV AND BUTTON()==16AND WINFLG[TSK]==2THEN MINE_B=1MINE_F=0GOSUB@S_MINE
IF MINE_CL GOTO @SKP_MINE
IF MINE_GV==1 THEN BGMPLAY 6:MINE_GV=2:GOTO @SKP_MINE
IF MINE_GV==100AND !MINE_GV2 THEN GOSUB@GV_MINE:MINE_GV=2:MINE_GV2=1:GOTO @SKP_MINE
IF MINE_GV AND WINACTV AND BUTTON()==16 AND WINFLG[TSK]==2THEN MINE_B=1MINE_F=0GOSUB@S_MINE
IF MINE_GV THEN MINE_GV=MINE_GV+1:GOTO @SKP_MINE
' IF MINE_CL==1THEN BGMPLAY 5:MINE_CL=2GOTO @SKP_MINE
' IF MINE_CL THEN MINE_CL=2GOTO @SKP_MINE
MINE_MX=0OR(MOUSEX-WFX)/8
MINE_MY=0OR(MOUSEY-WFY)/8
F=0
IF MINE_MX>=0AND MINE_MY>=0THEN F=1
IF F AND MINE_MX<=MINE_X-1 AND MINE_MX<=MINE_Y-1THEN MINE_MF=1 ELSE MINE_MF=0
'IF MINE_MF THEN ?MINE_M[MINE_MX,MINE_MY]
IF CLICK*MINE_MF THEN MINE_PX=MINE_MX:MINE_PY=MINE_MY:MINE_N=MINE_M[MINE_MX,MINE_MY]GOSUB@P_MINE
'モト゛ス オエ-
F=0S=0
IF CLICKR*MINE_MF THEN IF(MINE_F[MINE_MX,MINE_MY]==-2)THEN F=1
IF F==1THEN MINE_F[MINE_MX,MINE_MY]=0:MINE_NX=MINE_MX*8:MINE_NY=MINE_MY*8:GOSUB @N_MINE_N0:S=1
'?
F=0
IF CLICKR*MINE_MF THEN IF(MINE_F[MINE_MX,MINE_MY]==-1)THEN F=1
IF F==1THEN GOSUB @HTN_MINE
'FLAG
F=0
IF CLICKR*MINE_MF THEN IF(MINE_F[MINE_MX,MINE_MY]==0)THEN F=1
IF !S*F THEN GOSUB @FLG_MINE
IF MINE_BOMB<=0THEN MINE_CL=1BEEP 34
@SKP_MINE
F=0
GOSUB @WINBUFFP2

RETURN
@HTN_MINE
IF MINE_M[MINE_MX,MINE_MY]==9THEN MINE_BOMB=MINE_BOMB+1
IF MINE_M[MINE_MX,MINE_MY]!=9THEN MINE_BOMB=MINE_BOMB-1
MINE_F[MINE_MX,MINE_MY]=-2
MINE_NX=MINE_MX*8
MINE_NY=MINE_MY*8:GOSUB @N_MINE_N10
RETURN
@FLG_MINE
MINE_F[MINE_MX,MINE_MY]=-1
MINE_NX=MINE_MX*8
MINE_NY=MINE_MY*8
GOSUB @N_MINE_N12
IF MINE_M[MINE_MX,MINE_MY]==9THEN MINE_BOMB=MINE_BOMB-1
IF MINE_M[MINE_MX,MINE_MY]!=9THEN MINE_BOMB=MINE_BOMB+1
RETURN


@C_INV
BF=INV_BF
GOSUB @WINBUFFC
GOSUB @WINCLOSE
INV_F=0
INV_GV=0
INV_CL=0
INV_ME=0
RETURN
@ST_INV
BF=INV_BF
GOSUB @WINBUFFP
FOR I=0TO INV_EM-1
 FOR J=0TO INV_EM2-1
  INV_F[I,J]=0
  INV_E[I,J]=1
  GPUTCHR I*8+32,J*8,"BGF",ASC("Е"),0,1
 NEXT
NEXT
GOSUB @WINBUFFP2
RETURN
@A_INV
INV_MX=8*8
INV_MY=4*8
INV_EM=8
INV_EM2=4
DIM INV_E[INV_EM,INV_EM2]
DIM INV_F[INV_EM,INV_EM2]
DIM INV_TEX[INV_EM,INV_EM2]
DIM INV_TEY[INV_EM,INV_EM2]
INV_A=1
RETURN
@S_INV
IF INV_F==1THEN RETURN
INV_F=1
WINCLS=1
GOSUB @WINBUFF
IF !BF THEN RETURN
INV_BF=BF
BFC=14
GOSUB @WINBUFFGCLS
IF INV_A==0THEN GOSUB @A_INV
WINX2=130
WINY2=96+10+1
@INV_INI
GOSUB @ST_INV
INV_SCO=0
INV_SX=32
INV_SY=0
INV_SF=0
INV_SP=1
INV_GV=0
INV_CF=0
INV_PX=64
INV_PY=96
INV_ME=INV_EM*INV_EM2
WINTTL$="INV
RETURN
@GV_INV
IF INV_GV==1 THEN BGMPLAY 6:INV_GV=2
F=0
IF CLICK3 AND WINACTV AND WINFLG[TSK]==2THEN F=1
IF F THEN BF=INV_BF:BFC=14:GOSUB@WINBUFFGCLS:GOSUB@INV_INI
WINSX=0WINSY=8WINSC=RND(16)WINSTR$="CLICK TO REPLAY"GOSUB @WINSTRPUT
GPUTCHR INV_PX+WFX,WFY+96-8,"BGF",42,0,1
RETURN
@CL_INV
WINSX=0WINSY=8WINSC=0WINSTR$="CLICK TO REPLAY"GOSUB @WINSTRPUT
F=0
IF CLICK3 AND WINACTV AND WINFLG[TSK]==2THEN F=1
IF F THEN BF=INV_BF:BFC=14:GOSUB@WINBUFFGCLS:GOSUB@INV_INI
RETURN
@WIN_INV
GCOPY INV_BF,0,0,128,96,WFX,WFY,1
WINSX=0WINSY=0WINSC=0WINSTR$="SCORE:"+STR$(INV_SCO)+"0"GOSUB@WINSTRPUT
IF INV_GV THEN @GV_INV
IF INV_ME<=0AND !INV_CF THEN INV_CF=1BGMPLAY 4
IF INV_CF THEN @CL_INV
BF=INV_BF
GOSUB @WINBUFFP
INV_OSX=INV_SX
INV_OSY=INV_SY
INV_OSF=INV_SF
F=0
IF !INV_SF THEN INV_SX=INV_SX-INV_SP
IF INV_SF THEN INV_SX=INV_SX+INV_SP
IF INV_SX<=1THEN INV_SX=1INV_SF=1:INV_SY=INV_SY+4F=1:BGMPLAY"@151Q1C8":INV_SP=INV_SP*1.2
IF INV_SX>=128-64 THEN INV_SX=64INV_SF=0:INV_SY=INV_SY+4F=1:BGMPLAY"@151Q1C8":INV_SP=INV_SP*1.2
GCOPY INV_OSX,INV_OSY,INV_OSX+64,INV_OSY+INV_MY*8,INV_SX,INV_SY,1
 IF INV_SF*INV_OSF THEN GFILL INV_OSX-INV_SP,INV_OSY,INV_OSX,INV_SY+INV_MX*8,14
 IF (!INV_SF*!INV_OSF) THEN GFILL INV_OSX+64,INV_OSY,128,INV_SY+INV_MX*8,14
 IF F THEN GFILL 0,INV_OSY,127,INV_OSY+3,14
 IF INV_SY>128THEN INV_GV=1
GOSUB @WINBUFFP2
'GFILL INV_PX+WFX,WFY+96-8,WFX+INV_PX+8,WFY+96,6
GPUTCHR INV_PX+WFX,WFY+96-8,"BGF",5,0,1
B=BUTTON()
IF B AND 4THEN INV_PX=INV_PX-2
IF B AND 8THEN INV_PX=INV_PX+2
TP=INV_TP
F=0
G=(B AND 16)==16AND (INV_B AND 16)!=16
IF G AND !INV_TF[TP]THEN INV_TF[TP]=1:BGMPLAY"@151Q1<C":F=1
IF F THEN INV_TX[TP]=INV_PX:INV_TY[TP]=96-8:INV_TP=(INV_TP+1)%5
FOR I=0TO INV_EM-1
 FOR J=0TO INV_EM2-1
  IF INV_E[I,J]==2OR INV_F[I,J]==1THEN @INV_SKPP
  IF INV_E[I,J]==0THEN @INV_SKPPP
  F=0
  IF !RND(100)AND INV_E[I,J]==1THEN BGMPLAY"@151Q1<<C"F=1INV_F[I,J]=1
  IF F THEN INV_TEX[I,J]=INV_SX+I*8:INV_TEY[I,J]=INV_SY+J*8 ELSE @INV_SKPPP
@INV_SKPP
  INV_TEY[I,J]=INV_TEY[I,J]+3
  GFILL WFX+INV_TEX[I,J],WFY+INV_TEY[I,J],WFX+INV_TEX[I,J]+1,WFY+INV_TEY[I,J]+2,15
  IF INV_TEY[I,J]>94THEN INV_F[I,J]=0
  F=0
  IF INV_TEY[I,J]>=96-8AND INV_TEY[I,J]<=96THEN F=1
  IF F AND INV_TEX[I,J]>=INV_PX AND INV_TEX[I,J]<=INV_PX+8THEN INV_GV=1
@INV_SKPPP
 NEXT
NEXT
FOR I=0TO 5'INV_TP
 TP=I
 F=0
 IF !INV_TF[TP]THEN @INV_SKP
 IF INV_TF[TP] THEN INV_TY[TP]=INV_TY[TP]-2:F=1
 IF F THEN GFILL WFX+INV_TX[TP],INV_TY[TP]+WFY,INV_TX[TP]+2+WFX,INV_TY[TP]-4+WFY,15
 IF INV_TF[TP]*(INV_TY[TP]<0)THEN INV_TF[TP]=0
F=0
IF INV_TX[I]>=INV_SX AND INV_TX[I]<=INV_SX+64AND INV_TY[I]>=INV_SY AND INV_TY[I]<=INV_SY+42THEN F=1
A=0OR (INV_TX[TP]-INV_SX)/8
C=0OR (INV_TY[TP]-INV_SY)/8
IF F AND A>=0AND A<INV_MX/8 AND C>=0AND C<INV_MY/8 THEN IF INV_E[A,C]>0THEN F=2
IF F==2THEN INV_ECX=A:INV_ECY=C:GOSUB@INV_EC:INV_TF[TP]=0:INV_SCO=INV_SCO+1+(0OR INV_SP)
@INV_SKP
NEXT
INV_B=B
RETURN
@INV_EC
GOSUB @WINBUFFP
GFILL 0OR INV_ECX*8+INV_SX,0OR INV_ECY*8+INV_SY,0OR INV_ECX*8+INV_SX+7,0OR INV_ECY*8+INV_SY+7,14
INV_E[INV_ECX,INV_ECY]=0
GOSUB @WINBUFFP2
INV_ME=INV_ME-1
RETURN

@C_REV
BF=REV_BF
GOSUB@WINBUFFC
GOSUB@WINCLOSE
RETURN
@D_REV
GCIRCLE X*8+3,Y*8+3,3,C
GCIRCLE X*8+3,Y*8+3,2,C
GCIRCLE X*8+3,Y*8+3,1,C
GPSET X*8+3,Y*8+3,C
RETURN
@P_REV
GOSUB@WINBUFFP
 GCLS 29
 FOR I=0TO 7
  GLINE I*8-1,0,I*8-1,64,14
  GLINE 0,I*8-1,64,I*8-1,14
 NEXT
FOR I=0TO 7
 FOR J=0TO 7
  REV_M[I,J]=0
 NEXT
NEXT
REV_M[3,3]=1
REV_M[4,4]=1
REV_M[4,3]=2
REV_M[3,4]=2
C=2X=3Y=3GOSUB @D_REV
C=2X=4Y=4GOSUB @D_REV
C=4X=4Y=3GOSUB @D_REV
C=4X=3Y=4GOSUB @D_REV
GOSUB@WINBUFFP2 
RETURN
' ('・w・`) マント゛クセ
' FOR,ハイレツナト゛ヲモチイタラ ラクニナルカモタ゛カ゛
@O_8REV
X=REV_MX:Y=REV_MY
@OL_8REV
X=X-1Y=Y+1
IF X<0 THEN RETURN
IF Y>7THEN RETURN
IF REV_M[X,Y]==0 THEN RETURN
IF REV_M[X,Y]==REV_J THEN GOSUB@OS_8REV:RETURN
GOTO@OL_8REV
@OS_8REV
F=1:K=0
IF REV_OF==1THEN RETURN
K=REV_MY
D=REV_MX
Z=X
FOR I=Z+1 TO REV_MX-1
 K=K+1
 D=D-1
 Y=K:X=D:C=REV_JC:GOSUB @D_REV
 REV_M[X,Y]=REV_J
NEXT
RETURN
@O_7REV
X=REV_MX:Y=REV_MY
@OL_7REV
X=X+1Y=Y-1
IF X>7THEN RETURN
IF Y<0 THEN RETURN
IF REV_M[X,Y]==0 THEN RETURN
IF REV_M[X,Y]==REV_J THEN GOSUB@OS_7REV:RETURN
GOTO@OL_7REV
@OS_7REV
F=1:K=0
IF REV_OF==1THEN RETURN
K=REV_MY
Z=X
FOR I=REV_MX+1 TO Z-1
 K=K-1
 Y=K:X=I:C=REV_JC:GOSUB @D_REV
 REV_M[X,Y]=REV_J
NEXT
RETURN
@O_6REV
X=REV_MX:Y=REV_MY
@OL_6REV
X=X+1Y=Y+1
IF X>7THEN RETURN
IF Y>7THEN RETURN
IF REV_M[X,Y]==0 THEN RETURN
IF REV_M[X,Y]==REV_J THEN GOSUB@OS_6REV:RETURN
GOTO@OL_6REV
@OS_6REV
F=1:K=0
IF REV_OF==1THEN RETURN
K=REV_MY
Z=X
FOR I=REV_MX+1 TO Z-1
 K=K+1
 Y=K:X=I:C=REV_JC:GOSUB @D_REV
 REV_M[X,Y]=REV_J
NEXT
RETURN
@O_5REV
X=REV_MX:Y=REV_MY
@OL_5REV
X=X-1Y=Y-1
IF X<0 THEN RETURN
IF Y<0 THEN RETURN
IF REV_M[X,Y]==0 THEN RETURN
IF REV_M[X,Y]==REV_J THEN GOSUB@OS_5REV:RETURN
GOTO@OL_5REV
@OS_5REV
F=1:K=0
IF REV_OF==1THEN RETURN
K=REV_MY
Z=X
FOR I=REV_MX-1 TO Z+1 STEP -1
 K=K-1
 Y=K:X=I:C=REV_JC:GOSUB @D_REV
 REV_M[X,Y]=REV_J
NEXT
RETURN
@O_4REV
X=REV_MX:Y=REV_MY
@OL_4REV
Y=Y+1IF Y>7THEN RETURN
IF REV_M[X,Y]==0 THEN RETURN
IF REV_M[X,Y]==REV_J THEN GOSUB@OS_4REV:RETURN
GOTO@OL_4REV
@OS_4REV
F=1:Z=Y
IF REV_OF==1THEN RETURN
FOR I=REV_MY+1 TO Z-1
 X=REV_MX:Y=I:C=REV_JC:GOSUB @D_REV
 REV_M[X,Y]=REV_J
NEXT
RETURN
@O_3REV
X=REV_MX:Y=REV_MY
@OL_3REV
X=X+1IF X>7THEN RETURN
IF REV_M[X,Y]==0 THEN RETURN
IF REV_M[X,Y]==REV_J THEN GOSUB@OS_3REV:RETURN
GOTO@OL_3REV
@OS_3REV
F=1:Z=X
IF REV_OF==1THEN RETURN
FOR I=REV_MX+1 TO Z-1
 Y=REV_MY:X=I:C=REV_JC:GOSUB @D_REV
 REV_M[X,Y]=REV_J
NEXT
RETURN
@O_2REV
X=REV_MX:Y=REV_MY
@OL_2REV
Y=Y-1IF Y<0 THEN RETURN
IF REV_M[X,Y]==0 THEN RETURN
IF REV_M[X,Y]==REV_J THEN GOSUB@OS_2REV:RETURN
GOTO @OL_2REV
@OS_2REV
F=1:Z=Y
IF REV_OF==1THEN RETURN
FOR I=Z+1 TO REV_MY-1
 X=REV_MX:Y=I:C=REV_JC:GOSUB @D_REV
 REV_M[X,Y]=REV_J
NEXT
RETURN
@O_1REV
X=REV_MX
Y=REV_MY
@OL_1REV
X=X-1
IF X<0 THEN RETURN
IF REV_M[X,Y]==0 THEN RETURN
IF REV_M[X,Y]==REV_J THEN GOSUB@OS_1REV:RETURN
GOTO @OL_1REV
@OS_1REV
F=1
IF REV_OF==1THEN RETURN
Z=X
FOR I=Z+1 TO REV_MX-1
 X=I:Y=REV_MY:C=REV_JC:GOSUB @D_REV
 REV_M[X,Y]=REV_J
NEXT
RETURN
@O_REV
F=0
IF REV_M[REV_MX,REV_MY]!=0THEN RETURN
IF REV_MX==0THEN @O_REV2
IF REV_M[REV_MX-1,REV_MY]==REV_C THEN GOSUB@O_1REV
@O_REV2
IF REV_MY==0THEN @O_REV3
IF REV_M[REV_MX,REV_MY-1]==REV_C THEN GOSUB@O_2REV
@O_REV3
IF REV_MX==7THEN @O_REV4
IF REV_M[REV_MX+1,REV_MY]==REV_C THEN GOSUB@O_3REV
@O_REV4
IF REV_MY==7THEN @O_REV5
IF REV_M[REV_MX,REV_MY+1]==REV_C THEN GOSUB@O_4REV

' ○
'
@O_REV5
IF REV_MX==0THEN @O_REV6
IF REV_MY==0THEN @O_REV6
IF REV_M[REV_MX-1,REV_MY-1]==REV_C THEN GOSUB@O_5REV
@O_REV6
IF REV_MX==7THEN @O_REV7
IF REV_MY==7THEN @O_REV7
IF REV_M[REV_MX+1,REV_MY+1]==REV_C THEN GOSUB@O_6REV
@O_REV7
IF REV_MX==7THEN @O_REV8
IF REV_MY==0THEN @O_REV8
IF REV_M[REV_MX+1,REV_MY-1]==REV_C THEN GOSUB@O_7REV
@O_REV8
IF REV_MX==0THEN @O_REV9
IF REV_MY==7THEN @O_REV9
IF REV_M[REV_MX-1,REV_MY+1]==REV_C THEN GOSUB@O_8REV
@O_REV9
REV_OF=0
RETURN
@A_REV
DIM REV_M[8,8]  'ハイレツセンケ゛ン
DIM REV_J[8,8]  'ハイレツセンケ゛ン
DIM REV_C[8,8]  'ハイレツセンケ゛ン
DIM REV_D[8,8]  'ハイレツセンケ゛ン
RETURN
@S_REV
GOSUB@WINBUFF  'ハ゛ッファカクホ
IF BF==0 THEN RETURN   'エラ-ショリ
REV_BF=BF
BFC=29 'GCLSスルイロ
GOSUB@WINBUFFGCLS
WINCLS=1  '@C_ハソンサ゛イシテイマス
IF REV_A==0 THEN GOSUB@A_REV
REV_A=1
REV_END=0
REV_PASS=0
REV_CPASS=0
WINX2=64
WINY2=74
REV_J=1REV_JC=2REV_C=2REV_CC=4
GOSUB@P_REV
WINTTL$="REV
RETURN
@WIN_REV
BF=REV_BF
GCOPY REV_BF,0,0,62,62,WFX,WFY,1
GOSUB@WINBUFFP
 REV_MX=0OR(MOUSEX-WFX)/8
 REV_MY=0OR(MOUSEY-WFY)/8
 IF REV_MX<0OR REV_MX>7OR REV_MY<0OR REV_MY>7THEN @SKP_REV
F=0
' IF REV_PASS THEN GOSUB @REV_COM:REV_OKEN=0:REV_PASS=0
' IF REV_CPASS THEN REV_CPASS=0:REV_COKEN=0
G=0
' IF CLICKR AND REV_M[X,Y]==REV_J THEN X=REV_MX:Y=REV_MY:C=29:GOSUB @D_REV:REV_M[X,Y]=0G=1
' IF CLICKR AND REV_M[X,Y]==REV_C THEN X=REV_MX:Y=REV_MY:C=REV_JC:GOSUB @D_REV:REV_M[X,Y]=REV_J:G=1
X=REV_MX Y=REV_Y
IF CLICKR AND REV_M[X,Y]==0 THEN X=REV_MX:Y=REV_MY:C=REV_CC:GOSUB @D_REV:REV_M[X,Y]=REV_C:G=1
REV_J=1REV_JC=2REV_C=2REV_CC=4
 IF CLICK THEN GOSUB@O_REV
 IF G  GOTO @SKP_REV

IF F THEN X=REV_MX:Y=REV_MY:C=REV_JC:GOSUB @D_REV:REV_M[X,Y]=REV_J
IF F THEN GOSUB@REV_COM
@SKP_REV
GOSUB@WINBUFFP2
RETURN
@OKC_REV
KKK=0
FOR I=0TO 7
FOR J=0TO 7
 REV_MX=I
 REV_OF=1
 F=0
 GOSUB @O_REV
 REV_J[I,J]=F
 KKK=KKK+F
NEXT
NEXT
REV_OKEN=!KKK
RETURN
@REV_COM
GPAGE 0,M,M
GCOPY REV_BF,0,0,62,62,WFX,WFY,1
GOSUB @OKC_REV
KKK=0
KKD=0
SWAP REV_J,REV_C:SWAP REV_JC,REV_CC
FOR I=0TO 7
FOR J=0TO 7
 REV_MX=I
 REV_MY=J
 REV_OF=1
 F=0
 GOSUB @O_REV
 REV_C[I,J]=F
 REV_D[I,J]=F==1AND REV_J[I,J]==1
 KKK=KKK+F
 KKD=KKD+REV_D[I,J]
NEXT
NEXT
REV_COKEN=!KKK
GOSUB@WINBUFFP
'IF REV_COKEN THEN REV_CPASS=1 ELSE REV_CPASS=0
'IF REV_COKEN THEN SWAP REV_J,REV_C:SWAP REV_JC,REV_CC:RETURN
@REV_COML
'GPAGE 0,M,M
'GCOPY REV_BF,0,0,62,62,WFX,WFY,1
REV_OF=0
RX=RND(8)
RY=RND(8)
REV_MX=RX
REV_MY=RY
F=0
GOSUB@O_REV
IF F THEN X=REV_MX:Y=REV_MY:C=REV_JC:GOSUB @D_REV:REV_M[X,Y]=REV_J
IF F THEN @REV_COM2
GOTO @REV_COML
@REV_COM2
SWAP REV_J,REV_C:SWAP REV_JC,REV_CC
'GPAGE 0,M,M
'GFILL WFX+X*8,WFY+Y*8,WFX+X*8+2,Y*8+2+WFY,REV_CC
'WAIT 50
GOSUB @OKC_REV
IF REV_OKEN THEN REV_PASS=1ELSE REV_PASS=0
GOSUB@WINBUFFP
FOR I=0TO 7
FOR J=0TO 7
 X=I:Y=J
 C=29
 IF REV_M[I,J]==REV_C THEN C=REV_CC
 IF REV_M[I,J]==REV_J THEN C=REV_JC
 GOSUB @D_REV
NEXT
NEXT
RETURN
'-------SYSTEM APPLICATION-----
@S_ABOUT
WINX2=130
WINY2=48
WINCLS=1
WINTTL$="ABOUT
@C_ABOUT
RETURN
@WIN_ABOUT
WINSY=0
WINSX=0
WINSC=1
WINSTR$=MID$(VERSION$,0,16)
GOSUB @WINSTRPUT

WINSC=1
WINSY=8
WINSTR$=MID$(VERSION$,16,15)
GOSUB @WINSTRPUT

WINBY=16
WINBX=62-8
WINBSTR$="OK"
GOSUB @WINBTN
IF WINBTNF==1THEN GOSUB @WINCLOSE

WINSC=1
WINSY=27
WINSX=0
WINSTR$="(C)2011-2013otya"
GOSUB @WINSTRPUT
RETURN
'SYSTEM ERROR
@SYS_ERR_BUFF
WINNAME$[TSK]="BUFF
WINTTL$[TSK]="BUFF
RETURN
@WIN_BUFF
' WINNAME$[TSK]="SYS_ERR
' WINM[TSK]=-1
ERRN$="Out of buffer
ERRT$="ハ゛ッファフ゛ソク
GOSUB @WIN_SYS_ERR
RETURN
@C_SYS_ERR
GOSUB @WINCLOSE
RETURN
'ARRAY SET
@A_SYS_ERR
DIM OTWERRT$[TSKMAX]
DIM OTWERRN$[TSKMAX]
RETURN
@S_SYS_ERR
IF OTWERR==0THEN GOSUB @A_SYS_ERR
OTWERR=1
OTWERRT$[OTWERR_M]=ERRT$
OTWERRN$[OTWERR_M]=ERRN$
WINMLT[TSK]=OTWERR_M
OTWERR_M=OTWERR_M
RETURN
@WIN_SYS_ERR
' P=WINMLT[TSK]
' WINM[TSK]=1
WINTTL$[TSK]=ERRT$'="ハ゛ッファフ゛ソク
WINY2=26+WINDEGY2+WINDEGY
WINX2=LEN("Sorry, a system error")*8+WINDEGX+WINDEGX2
WINSX=0
WINSY=0
WINSC=1
WINSTR$="Sorry, a system error"
GOSUB @WINSTRPUT
WINSC=1
WINSY=8
WINSTR$="type:"+ERRN$'Out of buff"
GOSUB @WINSTRPUT
WINBX=0
WINBY=16
WINBSTR$="OK"
GOSUB @WINBTN
IF WINBTNF==1THEN GOSUB @WINCLOSE
RETURN
'---コンソ-ルアフ゜リ
@S_COMDBG
RETURN
@WIN_COMDBG
WINSC=1:WINSTR$="A"
GOSUB @WINSTRPUT
RETURN
@S_COM
WINTTL$="COMMAND"
COMINPUT$="@WIN_COM_INPUT
WINMODE=1
WIN_MODE=1
GOSUB @WINFLAG
WINCOMF=1
WINCOMX2=128+8
WINCOMY2=191-8
WINX2=128+8
WINY2=192-8
GOSUB @COMWINDOW
'WINCOMSCY=19
RETURN
@WIN_COM
WINDESIGN$="NORMAL
WINBG=14
GOSUB @WINDOW
IF !WINEND THEN WINSCX=(0OR WINSCX/8)*8:WINSCY=(0OR WINSCY/8)*8
WINCOMSX=0OR WINSCX/8WINCOMSY=0OR WINSCY/8
WFX=(0OR WFX/8)*8
WFY=(0OR WFY/8)*8
BGOFS 0,511-WFX+WINCOMSCX*8,511-WFY+WINCOM
' BGOFS WINCOMR,511-WINCOMSX*8+WINCOMSCX*8,511-WINCOMSY*8+WINCOM
GOTO @COMSKP
' WX=WINCOMSX:WY=WINCOMSY
' WX2=WINCOMSX+WINCOMX2:WY2=WINCOMSY+WINCOMY2
' F=0
IF MOUSEX>=WX AND MOUSEX<=WX2 THEN F=1
IF F==1AND MOUSEY>=WY AND MOUSEY<=WY2 THEN F=2
IF F==2AND CLICK==1THEN GOSUB @WINSWP
F=0

IF MOUSEX>=WX AND MOUSEX<=WX2 THEN F=1
IF F==1AND MOUSEY>=WY AND MOUSEY<=WY+8THEN F=2
IF F==2AND CLICK==1THEN WINCOMMVF=1
IF WINCOMF==0THEN @S_COM
@COMSKP
IF WINIDFLG==1THEN RETURN
WINCOMX22=0OR WINCOMX2/8
WINCOMY22=0OR WINCOMY2/8-1
B=BUTTON()
IF B==1THEN WINCOMSCY=WINCOMSCY-1
IF B==2THEN WINCOMSCY=WINCOMSCY+1:GOSUB @WINCOMSCRY
IF B==4THEN WINCOMSCX=WINCOMSCX-1':GOSUB @WIN_COM_ECHO
IF B==8THEN WINCOMSCX=WINCOMSCX+1':GOSUB @WIN_COM_ECHO
'IF WINCOMSCY<-(SCY+FLOOR(WINCOMY2/8))THEN WINCOMSCY=-(SCY+FLOOR(WINCOMY2/8))
' IF WINCOMSCY>63-(SCY+FLOOR(WINCOMY2/8)) THEN WINCOMSCY=63-(SCY+FLOOR(WINCOMY2/8))
' IF WINCOMSCY<-SY THEN WINCOMSCY=
' IF WINCOMSCY<21-CY THEN WINCOMSCY=21-CY
' IF SCYY<=0 THEN WINCOMSCY=0
' IF WINCOMSCY+CY<0THEN WINCOMSCY=0
' IF WINCOMSCY>63-WINCOMY22-6 THEN WINCOMSCY=63-WINCOMY22-6
IF WINCOMSCX<0THEN WINCOMSCX=0
IF WINCOMSCX>63-WINCOMX22 THEN WINCOMSCX=63-WINCOMX22
' IF CY<(FLOOR(WINCOMY2/8))THEN WINCOMSCY=21-CY
IF WINCOMMVF==1THEN GOSUB @WIN_COM_MOV
' COMCOM=COMCOM+1
' COMP$="TST"+STR$(COMCOM):GOSUB COMPRT$
' GFILL WINCOMSX,WINCOMSY,WINCOMX2+WINCOMSX,WINCOMY2+WINCOMSY,14
KEYFLG=KEYFLG+(WINACTV==1)
I$=""
IF KEYBF$!=""AND WINACTV==1THEN I$=KEYBF$:KEYBF$=""
GOSUB @WIN_COM_IN
RETURN
@WINCOMSCRY
IF WINCOMSCY>CY THEN COM$[WINCOMSCY]=""
RETURN
@WIN_COM_INPR
WIN_COM_IN$=""
COMP$=COMDIR$+">"
COMKF=0
GOSUB COMPRT$
RETURN
@WIN_COM_IN
F=0
IF INSTR(I$,CHR$(13))!=-1THEN GOSUB @WINCMDRUN
WIN_COM_IN$=WIN_COM_IN$+I$
COMCOM=RND(524287)'SCY
COMP$=I$'STR$(COMCOM)+","+STR$(CYY)
COMKF=0
GOSUB COMPRT$
'CY=CY-1
IF F==1THEN  GOSUB COMPRT$:GOSUB @WIN_COM_INPR
RETURN
@WINCMDRUN
I$=MID$(I$,0,INSTR(I$,CHR$(13)))
F=1
' CY=CY+1
GOSUB COMPRT$
CMD$=WIN_COM_IN$
GOSUB @CMDRUN
IF CMD$[0]=="TITLE"THEN WINTTL$=CMD$[1]
IF NOCMD==0THEN GOSUB CMDL$
RETURN
@WIN_COM_MOV
WINCOMSX=(0OR MOUSEX/8)*8
WINCOMSY=(0OR MOUSEY/8)*8
' BGOFS 1,511-WINCOMSX,511-WINCOMSY-SCYY*8
' BGOFS 1,511-WINCOMSX,511-WINCOMSY+SCYY*8
' BGOFS 1,511-WINCOMSX,511-WINCOMSY+SCYY*8+WINCOMSCY*8-8
' BGFILL 1,0,0,WINCOMX2/8,WINCOMY2/8,255,0,0,0
'?MOUSEX,MOUSEY
'GFILL 0,0,WINCOMX2,WINCOMY2,OTWBGCL
IF CLICK2==0THEN WINCOMMVF=0
RETURN
@COMWINDOW
OTW=1
BGFILL WINCOMR,0,0,WINCOMX2/8,WINCOMY2/8,0,0,0,0
COMPRT$="@COM_ECHO
' COMP$="OTYAX-COMMAND
' GOSUB COMPRT$
' COMP$="alpha"
' GOSUB COMPRT$
GOSUB @COM_COM
' GFILL 0,0,255,191,OTWBGCL
GOSUB @WIN_COM_INPR
RETURN
@WIN_COM_INPUT
COM_IN_B$=COM$[CY]
COM_I_INK$=""
COMI$=""
@WIN_COM_INPUTL
COM_I_INK$=INKEY$()
IF COM_I_INK$==CHR$(13)THEN RETURN
IF COM_I_INK$!=""THEN COMI$=COMI$+COM_I_INK$:COM$[CY]=COM_IN_B$+COMI$:COMKF=0COMP$=""GOSUB COMPRT$
GOTO @WIN_COM_INPUTL
RETURN
WIN_COM_IN_MX=LEN(COM$[CY])
WIN_COM_IN_X=0
WIN_COM_IN_I$=""
GPAGE 0,M,M
FOR WIN_COM_IN_I=0TO 1
 WIN_COM_IN_I=0
WY=WINCOMSY+8+WINCOMZY*8
'GFILL WIN_COM_IN_X*8,WY,WIN_COM_IN_X*8+8,WY-1,0
 IF BUTTON()==4AND WIN_COM_IN_X>WIN_COM_IN_MX THEN WIN_COM_IN_X=WIN_COM_IN_X-1
 IF BUTTON()==8AND WIN_COM_IN_X<32THEN WIN_COM_IN_X=WIN_COM_IN_X+1
'GFILL WIN_COM_IN_X*8,WY,WIN_COM_IN_X*8+8,WY-1,15
 FOR WIN_COM_IN_J=0TO 3
  WIN_COM_IN_KEY=KEYBOARD
  WIN_COM_IN_K$=INKEY$()
  IF LEN(WIN_COM_IN_K$)THEN GOSUB @WIN_COM_IN_K
'?WIN_COM_IN_I$
VSYNC 1
 NEXT
NEXT
GPAGE 0,M,!M
RETURN
@WIN_COM_IN_K
GFILL WIN_COM_IN_X*8,WY,WIN_COM_IN_X*8+8,WY-1,0
WIN_COM_IN_I$=MID$(WIN_COM_IN_I$,0,WIN_COM_IN_X)+WIN_COM_IN_K$+MID$(WIN_COM_IN_I$,WIN_COM_IN_X,256)
IF WIN_COM_IN_X<32THEN WIN_COM_IN_X=WIN_COM_IN_X+1
RETURN
@WIN_COM_ECHO
A=FLOOR(WINCOMX2/8+WINCOMSX/8)-1
B=FLOOR(WINCOMY2/8+WINCOMSY/8)
IF A>=32THEN A=31
IF B>=24THEN B=23
'BGCLIP 0OR(WINCOMSX/8),0OR(WINCOMSY/8)+1,A,B
A=FLOOR(WFX2/8)-1
B=FLOOR(WFY2/8)
C=0OR(WFX/8)
D=0OR(WFY/8)
IF A<0THEN A=0
IF B<0THEN B=0
IF C<0THEN C=0
IF D<0THEN D=0
IF A>31THEN A=31
IF B>23THEN B=23
IF C>31THEN C=31
IF D>23THEN D=23
BGCLIP C,D,A,B
' CY=CY%65
SCY=CY-(0OR (WINCOMY22))
IF SCY<0THEN SCY=0
SCYY=CY-(0OR (WINCOMY22))
' SCY=SCY%(65-FLOOR(WINCOMY22))
IF CY<(FLOOR(WINCOMY22))THEN SCY=0:SCYY=0
WINCMDF=0
IF CY>=63THEN WINCMDF=1:CY=63:SCY=64-WINCOMY22:'GOSUB @WIN_COM_ECHO_S
SCYYY=SCYY
WINCOM=(SCYY*8)+WINCOMSCY*8
IF WINCMDF==1THEN WINCOM=WINCOM+8
IF WINCMDF THEN IF COMKF==1THEN GOSUB@WINCOMBGC:SCYYY=63 ELSE SCYYY=63
' WINCOMZY=*1*(!WINCMDF))+(63*WINCMDF)
' COM$[*2+1)%64]=""
FOR I=SCY TO ((SCY+FLOOR(WINCOMY22))*(!WINCMDF))+(63*WINCMDF)
 K=0
' IF I>=64THEN I=99999:GOTO @WIN_COM_ECHO_SKP
  M$=COM$[I]
  IF I==CY THEN WINCOMZY=I-FLOOR(((WINCOMSY+WINCOM)/8))
J=0
 FOR J=0 TO 63'(WINCOMX2/8)+WINCOMSCX-1
  IF MID$(M$,J,1)==""THEN BGFILL WINCOMR,J,I,63,I,32:A=0:J=64:GOTO@WINCOMECHOSKP
    A=ASC(MID$(M$,J,1))
  BGPUT WINCOMR,J,I,A
' IF ((J+1)%32)==0THEN K=K+1
  @WINCOMECHOSKP
 NEXT
'I=I+3
@WIN_COM_ECHO_SKP
NEXT
' BGOFS WINCOMR,511-WINCOMSX*8+WINCOMSCX*8,511-WINCOMSY*8+WINCOM
'IF CY>=64THEN CY=0
' IF WINCOM>=0 THEN WINCOM=0
' GFILL WINCOMSX,WINCOMSY,WINCOMX2+WINCOMSX,WINCOMY2+WINCOMSY,14
RETURN


  • 0 - 0=1
  • 1 - 1=2


  • 2 -


  • 3 -


  • 4 -


  • 5 -


  • 6 - 6=7
  • 7 - 7


@WIN_COM_ECHO_S
FOR I=0TO 62
 COM$[I]=COM$[I+1]
NEXT
COM$[63]=""
RETURN
@WINCOMBGC
BGCOPY WINCOMR,0,1,63,63,0,0
'COMKF=1

RETURN
FOR COM_Y=1TO 63
 FOR COM_X=0TO 63
  BGREAD(WINCOMR,COM_X,COM_Y),S
  BGPUT WINCOMR,COM_X,COM_Y-1,S
 NEXT
NEXT
RETURN
@COM_ECHO
K=0
IF CX+LEN(COMP$)>31THEN K=1
IF CY>=63AND OTW==1AND COMKF==1 THEN GOSUB @WIN_COM_ECHO_S
IF CY>63THEN CY=63
CX=LEN(COM$[CY])
COM$[CY]=MID$(COM$[CY],0,CX)+COMP$
'(32*(0OR(CX/32))),(32*(0OR(CX/32))))+COMP$
' CX=CX+LEN(COMP$)
'CX=CX+LEN(COM$[CY])
CY=CY+(COMKF==1)
' IF CY>=62 THEN ELSE COM$[CY+1]=""
'CX=CX
CYY=CYY+(COMKF==1)
IF OTW==1THEN GOSUB @WIN_COM_ECHO
COMKF=1
' IF WINCMDF==1 AND COM_IF==0 THEN COM_IF=2:COMP$="":GOSUB COMPRT$:COM_IF=0
' IF COM_IF==2 THEN COM_IF=1:RETURN
COMP$=""

RETURN

'OTYAXWINDOWMANUAL
@MANUAL
アフ゜リ
'-------------
'@S_NAME
WINX2=
WINY2=
RETURN
'@WIN_NAME
RETURN
'-------------
'-------------
'@S_NAME
WIN_MODE=1GOSUB @WINFLAG
WINX2=
WINY2=
RETURN
'@WIN_NAME
'WINDESIGN$="VISUAL
GOSUB @WINDOW:IF WINIDFLG==1THEN RETURN
RETURN
'-------------
@M_SAMPLE
HELLO,WORLD!!
@S_S_HL
RETURN
@WIN_S_HL
WINSX=0
WINSY=0
WINSC=1
WINSTR$="Hello"
GOSUB @WINSTRPUT
RETURN
1LINE EDITOR
@S_S_1LINE
WINX2=128
WINY2=20
WINTTL$="1LINE EDITOR
RETURN
@WIN_S_1LINE
WINTX=0:WINTY=0:WINTX2=116
WINTSX=WIN1LINEX
WINTA=WIN1LINEA
WINTXTP$=WIN1LINE$
GOSUB @WINTXTBOX
WIN1LINE$=WINTXT$
WIN1LINEX=WINTSX
WIN1LINEA=WINTA
RETURN
ハッカッタッノッシオ
@S_S_HKT
WINX2=52
WINY2=20
RETURN
@WIN_S_HKT
WINBX=0:WINBY=0:WINBSTR$="CLICK!"
GOSUB @WINBTN
IF WINBTNF THEN TALK"@T50ハ!/カ!/タ!/ノ!/@T50シ./オ!
RETURN
@S_S_V
WIN_MODE=1
WINTTL$="ウイテル...
GOSUB @WINFLAG
WINX2=116:WINY2=24
RETURN
@WIN_S_V
WINDESIGN$="VISUAL
WINBG=1
GOSUB @WINDOW
IF WINIDFLG==1THEN RETURN
WINSX=0:WINSY=0:WINSC=0:WINSTR$="タタ゛シNORMALニカキ゛ル
GOSUB @WINSTRPUT
RETURN
@M_API
@MWINSTRPUT
  • >
WINSX=サ゛ヒョウ
WINSY=サ゛ヒョウ
WINSC=ハ゜レット
WINSTR$=モシ゛
<-ナシ
@MWINBTN
  • >
WINBX=サ゛
WINBY=サ
WINBSTR$=モシ゛
<-
WINBTNF=オサレタカ
@MWINPROGBAR
WINPX,WINPY,WINPX2,WINPY2
WINPS=サイタ゛イ
@MWINCHKBOX
WINCX,WINCY
WINCSTR$=
WINCHKF=オサレテイルカ
  • >WINCHKF=オサレタカ
@T
@TEMPLATE
DATA"@C_{N}
DATA" GOSUB@WINCLOSE
DATA"RETURN
DATA"@S_{N}
DATA" WINX2={X2}
DATA" WINY2={Y2}
DATA"RETURN
DATA"@WIN_{N}
DATA"RETURN
DATA END
@TEMPLATE2
ACLS:CLEAR
DATA"@C_{N}
DATA" BF={N}_BF
DATA" GOSUB@WINBUFFC
DATA" GOSUB@WINCLOSE
DATA"RETURN
DATA"@A_{N}
DATA" {DIM}
DATA"'DIM 'ハイレツセンケ゛ン
DATA"RETURN
DATA"@S_{N}
DATA" GOSUB@WINBUFF 'ハ゛ッファカクホ
DATA" IF BF==0 THEN RETURN 'エラ-ショリ
DATA" {N}_BF=BF
DATA" BFC=15 'GCLSスルイロ
DATA" GOSUB@WINBUFFGCLS
DATA" WINCLS=1 '@C_ハソンサ゛イシテイマス
DATA" IF {N}_A==0 THEN GOSUB@A_{N}
DATA" {N}_A=1
DATA" WINX2={X2}
DATA" WINY2={Y2}
DATA"RETURN
DATA"@WIN_{N}
DATA" GCOPY {N}_BF,0,0,WFX-WINSCX,WFY-WINSCY,WFX,WFY
DATA" GOSUB@WINBUFFP
DATA" GOSUB@WINBUFFP2
DATA"RETURN
DATA END
DIM VARN$[256]
DIM VAR$[256]
LBL$="@TEMPLATE2
@TEMPLATECOM
INPUT"NAME?(VARSET→V,PREV→P,LABEL→@)";N$
IF N$=="V"THEN GOTO@TEMPLATEVARSET
IF N$=="P"THEN GOTO@TEMPLATEP
IF N$=="@"THEN INPUT"LABEL(NOT @)";L$:LBL$="@"+L$:GOTO@TEMPLATECOM
RESTORE LBL$
VARN$[0]="N"
VAR$[0]=N$
J=0
FOR I=0TO 1
READ R$
IF R$!="END"THEN I=0:GOSUB@TEMPLATECHK
NEXT
FOR I=1TO F+1
KEY I,F$[I-1]
NEXT
END
@TEMPLATECHK
GOSUB @TEMPLATEVAR
IF LEN(R$)+1+LEN(F$[F])>255THEN F=F+1
L=L+1
?L*10" "R$
F$[F]=F$[F]+R$+CHR$(13)
RETURN
@TEMPLATEVAR
SX=-1
FOR J=0TO LEN(R$)-1
 IF MID$(R$,J,1)=="{"AND SX==-1THEN SX=J+1
 IF MID$(R$,J,1)=="}"AND SX>-1THEN EX=J-1:GOSUB@TEMPLATEVAR2:SX=-1:EX=-1
NEXT
RETURN
@TEMPLATEVAR2
VN$=MID$(R$,SX,EX-SX+1)
FOR K=0TO 255
 IF VARN$[K]==VN$THEN R$=MID$(R$,0,(SX-1>=0)*(SX-1))+VAR$[K]+MID$(R$,EX+2,256)
NEXT
RETURN
@TEMPLATEVARSET
LINPUT"VARNAME?(RETURN→RT)";VN$
IF VN$=="RT"THEN GOTO @TEMPLATECOM
LINPUT"VALUE?";VL$
V=V+1
VARN$[V]=VN$
VAR$[V]=VL$
GOTO @TEMPLATEVARSET
@TEMPLATEP
RESTORE LBL$
FOR I=0TO 1
 READ R$
 IF R$!="END"THEN I=0GOSUB@TEMPLATEVAR
 ?R$
NEXT
RESTORE LBL$
GOTO@TEMPLATECOM
@C_HTN
GOSUB@WINCLOSE
TALK "ウワアアアトシ゛ルナアアア
RETURN
@S_HTN
WINCLS=1
WINX2=128
WINY2=128
WINTTL$="Hello,[[OTYAX]]"
HTN_F=0
HTN_X=0
WINMLT[TSK]=HTN_I
HTN_I=(HTN_I+1)%10
RETURN
@WIN_HTN
I=WINMLT[TSK]
WINSX=HTN_X[I]:WINSY=0:WINSC=1:WINSTR$="Hello,World!!"*!HTN_F[I]+"hatenahageta"*HTN_F[I]
GOSUB @WINSTRPUT
HTN_X[I]=(HTN_X[I]+1)%128
WINBX=8
WINBY=8
WINBSTR$="hatena"
GOSUB @WINBTN
IF WINBTNF THEN HTN_F[I]=1:WINEXE$="HTN":GOSUB @WINEXE
RETURN

@C_HTNP
BF=HTNP_BF
GOSUB@WINBUFFC
GOSUB @WINCLOSE
RETURN
@S_HTNP
WINX2=130
WINY2=107+8
WINCLS=1
GOSUB @WINBUFF
IF !BF THEN RETURN
HTNP_BF=BF 
HTNP_C=0
HTNP_P=0
BFC=15
GOSUB @WINBUFFGCLS
WINTTL$="HNPAINT"
RETURN
@WIN_HTNP7
IF CLICK3 THEN GCLS HTNP_CL
RETURN
@WIN_HTNP6
IF CLICK THEN HTNP_X=MOUSEX-WFX:HTNP_Y=MOUSEY-WFY
F=0
IF CLICK2 THEN GOSUB@WINBUFFP2:GCIRCLE HTNP_X+WFX,HTNP_Y+WFY,MOUSEX-HTNP_X-WFX,HTNP_CL
IF F THEN GOSUB@WINBUFFP
IF CLICK3 THEN GCIRCLE HTNP_X,HTNP_Y,MOUSEX-HTNP_X-WFX,HTNP_CL
RETURN
@WIN_HTNP5
IF CLICK THEN HTNP_X=MOUSEX-WFX:HTNP_Y=MOUSEY-WFY
F=0IF CLICK2 THEN GOSUB@WINBUFFP2:GFILL HTNP_X+WFX,HTNP_Y+WFY,MOUSEX,MOUSEY,HTNP_C+HTNP_P*16
IF F THEN GOSUB@WINBUFFP
IF CLICK3 THEN GFILL HTNP_X,HTNP_Y,MOUSEX-WFX,MOUSEY-WFY,HTNP_C+HTNP_P*16
RETURN
@WIN_HTNP4
IF CLICK THEN HTNP_X=MOUSEX-WFX:HTNP_Y=MOUSEY-WFY
F=0IF CLICK2 THEN  GOSUB@WINBUFFP2:GBOX HTNP_X+WFX,HTNP_Y+WFY,MOUSEX,MOUSEY,HTNP_C+HTNP_P*16
IF F THEN GOSUB@WINBUFFP
IF CLICK3 THEN GBOX HTNP_X,HTNP_Y,MOUSEX-WFX,MOUSEY-WFY,HTNP_C+HTNP_P*16
RETURN
@WIN_HTNP3
IF CLICK3 THEN GPAINT MOUSEX-WFX,MOUSEY-WFY,HTNP_CL
RETURN
@WIN_HTNP2
IF CLICK THEN HTNP_X=MOUSEX-WFX:HTNP_Y=MOUSEY-WFY
F=0IF CLICK2 THEN  GOSUB@WINBUFFP2:GLINE HTNP_X+WFX,HTNP_Y+WFY,MOUSEX,MOUSEY,HTNP_C+HTNP_P*16
IF F THEN GOSUB@WINBUFFP
IF CLICK3 THEN GLINE HTNP_X,HTNP_Y,MOUSEX-WFX,MOUSEY-WFY,HTNP_C+HTNP_P*16
RETURN
@WIN_HTNP1
IF CLICK THEN HTNP_X=MOUSEX-WFX:HTNP_Y=MOUSEY-WFY
FOR I=1TO CLICK2==1
  GLINE HTNP_X,HTNP_Y,MOUSEX-WFX,MOUSEY-WFY,HTNP_C+HTNP_P*16
NEXT
IF CLICK2 THEN HTNP_X=MOUSEX-WFX:HTNP_Y=MOUSEY-WFY
RETURN
@WIN_HTNP
BF=HTNP_BF
HTNP_CL=HTNP_C+HTNP_P*16
GCOPY BF,0,0,120,88,WFX,WFY,1
GOSUB@WINBUFFP
F=0
IF MOUSEX>=WFX AND MOUSEX<=WFX+120 THEN F=1
IF F==1AND MOUSEY>=WFY AND MOUSEY<=WFY+88THEN F=2
IF F!=2 THEN @HTNP_S
ON HTNP_M GOSUB @WIN_HTNP1,@WIN_HTNP2,@WIN_HTNP3,@WIN_HTNP4,@WIN_HTNP5,@WIN_HTNP6,@WIN_HTNP7
@HTNP_S

GOSUB@WINBUFFP2
FOR I=0TO 15
 GFILL WFX+I*8,WFY+88,WFX+I*8+8,WFY+96,I+16*HTNP_P
NEXT
GBOX WFX-1,WFY-1,WFX+120,WFY+88,14
GBOX WFX+HTNP_C*8,WFY+88,WFX+HTNP_C*8+8,WFY+96,14
F=0
IF MOUSEX>=WFX AND MOUSEX<=WFX2 THEN F=1
IF F==1AND MOUSEY>=WFY+88AND MOUSEY<=WFY+96 THEN F=2
IF F==2AND CLICK THEN HTNP_C=0OR(MOUSEX-WFX)/8

WINSTR$="0123456789ABCDEF"
WINSX=0
WINSY=97
WINSC=1
GOSUB @WINSTRPUT
F=0
IF MOUSEX>=WFX AND MOUSEX<=WFX2 THEN F=1
IF F==1AND MOUSEY>=WFY+96AND MOUSEY<=WFY+104THEN F=2
IF F==2AND CLICK THEN HTNP_P=0OR(MOUSEX-WFX)/8
GBOX WFX+HTNP_P*8,WFY+96,WFX+HTNP_P*8+8,WFY+104,14
WINBX=120
WINBY=0
WINBSTR$="→"
GOSUB @WINBTN
F=0
IF WINBTNF==1THEN HTNP_PL=!HTNP_PL
IF HTNP_PL==1THEN @HTNP_M
RETURN
@HTNP_M
WINMX=128
WINMX2=128+64
WINMY=8
WINMK=HTNP_MK
WINMKS=HTNP_MKS
WINMMAX=6
WINM$[0]="PSET
WINM$[1]="LINE
WINM$[2]="PAINT
WINM$[3]="BOX
WINM$[4]="FILL
WINM$[5]="CIRCLE
WINM$[6]="GCLS
GOSUB @WINMENU2
HTNP_MK=WINMK
HTNP_MKS=WINMKS
IF WINM!=-1AND CLICK AND HTNP_MK==0THEN HTNP_M=WINM
RETURN
@S_WWWW
RETURN
@WIN_WWWW
WINEXE$="MAC
IF WINACTV THEN GOSUB @WINEXE
RETURN
@S_HAHAHA
HAHAHAL$="CコCヤCツEメAハAハAR8ハDコDヤDツFメGハGハGR4ハGハGハG#ハAコAヤAツG#メG2ハB2ハC1ハ
HAHAHAX=0
WINY2=74
WINTTL$="コヤツメ
RETURN
@WIN_HAHAHA
IF BGMCHK(2)==0THEN @WIN_HAHAHAS
GPUTCHR WFX,WFY,"BGF",ASC(HEHEHE$),1,8
RETURN
@WIN_HAHAHAS
IF HAHAHAX>=LEN(HAHAHAL$) THEN HAHAHAX=0
HAHAHAM$=""
J=HAHAHAX
D=0
FOR I=J TO LEN(HAHAHAL$)-1
 M$=MID$(HAHAHAL$,I,1)
 IF ASC(M$)>=ASC("ヲ") AND ASC(M$)<=ASC("ン")THEN I=999:HEHEHE$=M$ ELSE HAHAHAM$=HAHAHAM$+M$
NEXT
HAHAHAX=HAHAHAX+LEN(HAHAHAM$)+1
BGMSET 128,HAHAHAM$
BGMPLAY 2,128
RETURN

@S_POKOPOKO
WINX2=170
WINTTL$="POKOPOKO
IF POKOF==0THEN DIM POKOE[5]
POKOTM=1024
POKOTTL=1
RETURN
TTLロシ゛ック
@TTL_POKOPOKO
WINSX=0WINSY=0WINSC=1
WINSTR$="ЖPOKOPOKOЁ
GOSUB @WINSTRPUT
WINSX=0WINSY=8WINSC=1
WINSTR$="SCORE:Ж+10,И+20,г-10
GOSUB @WINSTRPUT
WINSX=0WINSY=16WINSC=1
WINSTR$="TIME:Р+10
GOSUB @WINSTRPUT
WINSX=0WINSY=24
WINSTR$="CLICK TO START"
WINSC=RND(16)
GOSUB @WINSTRPUT
IF MOUSEX>=WFX AND MOUSEX<=WFX2 AND MOUSEY>=WFY AND MOUSEY<=WFY2 AND CLICK THEN POKOTTL=0
RETURN
@WIN_POKOPOKO
IF POKOTTL THEN @TTL_POKOPOKO
'アナ
FOR I=0TO 4
 GCIRCLE WFX+8+16+I*32,WFY+16+16,16,9
NEXT
WINSX=0WINSY=0WINSC=1WINSTR$="SCORE:"+STR$(POKOS)+"0TIME:"+STR$(POKOT)GOSUB @WINSTRPUT
IF POKOE THEN WINSX=0WINSY=8WINSC=1WINSTR$="TIME UP нCLICK TO RESTART"GOSUB @WINSTRPUT
IF POKOE THEN IF CLICKR AND WINACTV THEN POKOE=0POKOS=0POKOT=0 ELSE RETURN 
'IFノラレツ・・・ シ゛ツニキタナイ
FOR I=0TO 4
 IF POKOE[I]==0AND RND(100)==0THEN POKOE[I]=1:POKOT[I]=POKOT+10
 R=RND(200)
 IF POKOE[I]==0AND R==1THEN POKOE[I]=2:POKOT[I]=POKOT+10
 IF POKOE[I]==0AND R==2THEN POKOE[I]=4:POKOT[I]=POKOT+10
 IF POKOE[I]==0AND R==0THEN POKOE[I]=3:POKOT[I]=POKOT+10
 IF POKOE[I]==1THEN GPUTCHR WFX+8+32*I+8,WFY+16,"BGF",ASC("Ж"),1,4
 IF POKOE[I]==2THEN GPUTCHR WFX+8+32*I+8,WFY+16,"BGF",ASC("И"),1,4
 IF POKOE[I]==3THEN GPUTCHR WFX+8+32*I+8,WFY+16,"BGF",ASC("г"),1,4
 IF POKOE[I]==4THEN GPUTCHR WFX+8+32*I+8,WFY+16,"BGF",ASC("Р"),1,4
 F=0
 IF MOUSEX>=WFX+16+32*I AND MOUSEX<=WFX+48+32*I THEN F=1
 IF F==1AND MOUSEY>=WFY+16 AND MOUSEY<=WFY+48 THEN F=2
 IF F==2AND CLICK AND POKOE[I]==1THEN BEEP 3:POKOE[I]=0:POKOS=POKOS+1
 IF F==2AND CLICK AND POKOE[I]==2THEN BEEP 5:POKOE[I]=0:POKOS=POKOS+2
 IF F==2AND CLICK AND POKOE[I]==4THEN BEEP 15:POKOE[I]=0:POKOT=POKOT-10
 IF F==2AND CLICK AND POKOE[I]==3THEN BEEP 14:POKOE[I]=0:POKOS=POKOS-1
 IF POKOE[I]==3AND POKOT>POKOT[I] THEN POKOE[I]=0
 IF POKOE[I]==2AND POKOT>POKOT[I] THEN POKOE[I]=0
 IF POKOE[I]==1AND POKOT>POKOT[I] THEN POKOE[I]=0
 IF POKOE[I]==0AND POKOT>POKOT[I] THEN POKOE[I]=0
NEXT
IF POKOT<0THEN POKOT=0
POKOT=POKOT+1
IF POKOT>=POKOTM THEN POKOE=1
RETURN
@S_SCRBAR
K=32
DIM SCRBART$[K]
SCRBART$[0]="アホ"SCRBART$[1]="タ゛ナ"SCRBART$[2]="テ゛ス"SCRBART$[3]="マア"SCRBART$[4]="コケコッコ"
SCRBART$[5]="ホレホレ"SCRBART$[6]="ト゛ス"SCRBART$[7]="コンニチハ"SCRBART$[8]="フ゜チコン"SCRBART$[9]="ホ゛-ン"
SCRBART$[10]="フフフ"SCRBART$[11]="ニヤリ"SCRBART$[12]="ケ゛ロ"SCRBART$[13]="ネコ"SCRBART$[14]="セイコウ"
SCRBART$[15]="シッハ゜イ"SCRBART$[16]="セイミツ"SCRBART$[17]="キク゛"SCRBART$[18]="ケケケ"SCRBART$[19]="コショウ"
SCRBART$[20]="ウソ"SCRBART$[21]="テ゛ス"SCRBART$[22]="YOU!"SCRBART$[23]="ムムム"SCRBART$[24]="OTYAX"
SCRBART$[25]="フヘフヘ"SCRBART$[26]="ワン"SCRBART$[27]="ワイン"SCRBART$[28]="アア"SCRBART$[29]="テレレレレ"
SCRBART$[30]="ミカン"SCRBART$[31]="セフ"
SCRBAR$="ナ-カ゛カ゛カ゛スコ゛クナカ゛イシコシユフヤヤヤテコホヤロ ヒネホ"
DIM SCRBAR$[24]
FOR I=0TO 23
 FOR J=0TO LEN(SCRBAR$)-1
' SCRBAR$[I]=SCRBAR$[I]+CHR$(RND(62)+161)
  SCRBAR$[I]=SCRBAR$[I]+SCRBART$[RND(K)]'CHR$(RND(62)+161)
  J=LEN(SCRBAR$[I])
 NEXT
NEXT
RETURN
@WIN_SCRBAR
WINBX=62-8
WINBY=0
WINBY2=52-8
WINBM=(24-5)*8
WINBX2=SCRBAR_X2
GOSUB @WINSCRBARY
SCRBAR_X2=WINBX2
WINBX=0
WINBX2=62-8
WINBY=52-8
WINBM=LEN(SCRBAR$)*8-56
WINBY2=SCRBAR_Y2
GOSUB @WINSCRBARX
SCRBAR_Y2=WINBY2
FOR I=0TO 4
WINSX=0:WINSY=I*8:WINSC=1
WINSTR$=MID$(SCRBAR$[I+SCRBAR_X2/8],WINBY2/8,7)
GOSUB @WINSTRPUT
NEXT
RETURN
@COM_HTN
COMKF=0
COMP$="AHO"GOSUB COMPRT$
RETURN
@S_TSKF
WINY2=96
WINX2=64+16
RETURN
@WIN_TSKF
IF RND(1000)THEN GOSUB@TSKMAX:WTSKFTI=TSKM
FOR I=WINTSKFYY TO WTSKFTI-1
 WINSX=0WINSY=(I-(WINTSKFYY))*8WINSC=1
 WINSTR$=MID$(WINNAME$[I]+":"+STR$(TSKF[I]),WINTSKFXX,8)
 GOSUB @WINSTRPUT
NEXT
WINBX=64-10+16
WINBY=0
WINBY2=86-10
WINBX2=WINTSKFY
WINBM=TSKMAX*8
GOSUB @WINSCRBARY
WINTSKFY=WINBX2
WINTSKFYY=0OR WINBX2/8

WINBX=0
WINBX2=64-10+16
WINBY=84-8
WINBM=15*8
WINBY2=WINTSKFX
GOSUB @WINSCRBARX
WINTSKFX=WINBY2
WINTSKFXX=0OR WINTSKFX/8
RETURN
@S_BG
WINY2=43
WINTTL$="BG"
RETURN
@WIN_BG
GFILL WFX,WFY,WFX2,WFY2,WIN_BG_CL
WINN=WIN_BG_CL
WINNX=0
WINNY=0
WINNY2=32
WINNX2=32
WINNM=255
' WINNSP=0.5
GOSUB @WINNUMUPDWN
WIN_BG_CL=WINN
WINBX=33
WINBY=0
WINBSTR$="OK"
GOSUB @WINBTN
IF WINBTNF THEN OTWBGCL=WINN
RETURN

@S_HELP
WINCLS=1
WINTTL$="HELP"
WINX2=90
WINY2=86
RETURN
@WIN_HELP
ON HELP_M GOTO @WIN_HELP1,@WIN_HELP2,@WIN_HELP3
@WIN_HELP1
WINLBLX=0
WINLBLY=0
WINLBL$="アフ゜リノキト゛ウ"
GOSUB@WINLNKLBL
IF WINLBLF THEN HELP_M=1:GOSUB@DIC_HELP1
WINLBLX=0
WINLBLY=8
WINLBL$="システムエラ-"
GOSUB@WINLNKLBL
IF WINLBLF THEN HELP_M=2:GOSUB@DIC_HELP2
RETURN
@WIN_HELP3
WINBX2=WIN_HELP_X
WINBM=8WINBX2=WIN_HELP_X2:GOSUB @SCR_HELP:WIN_HELP_X2=WINBX2
WINBM=68
WINBY2=WIN_HELP_Y2
GOSUB@SCR_HELPX
WIN_HELP_Y2=WINBY2
WINLBLX=0
WINLBLY=0
WINLBL$="TOP"
GOSUB@WINLNKLBL
IF WINLBLF THEN HELP_M=0
FOR I=0TO 6
 WINSX=0
 WINSY=I*8+8
 WINSC=1
 WINSTR$=MID$(HELP_DIC$[I+WIN_HELP_X2/4],WINBY2/4,10)
 GOSUB@WINSTRPUT
NEXT
RETURN
@WIN_HELP2
WINLBLX=0
WINLBLY=0
WINLBL$="TOP"
GOSUB@WINLNKLBL
IF WINLBLF THEN HELP_M=0

WINBY2=WIN_HELP_Y2
WINBM=60
GOSUB @SCR_HELPX
WIN_HELP_Y2=WINBY2
FOR I=0TO 3
 WINSX=0
 WINSY=I*8+8
 WINSC=1
 WINSTR$=MID$(HELP_DIC$[I],WINBY2/4,12)
 GOSUB@WINSTRPUT
NEXT
RETURN
@DIC_HELP1
HELP_DIC$[0]="RUNノテキストホ゛ックスニアフ゜リメイヲ
HELP_DIC$[1]="ニュウリョクシテ[RUN]ヲクリックスレハ゛
HELP_DIC$[2]="キト゛ウシマス。
HELP_DIC$[3]="*ソンサ゛イシナイハ゛アイハエラ-カ゛テ゛マス。
RETURN

@DIC_HELP2
HELP_DIC$[0]="SYSTEMERROR
HELP_DIC$[1]="Out of buffer
HELP_DIC$[2]="ハ゛ッファフ゛ソクテ゛ス。
HELP_DIC$[3]=""
HELP_DIC$[4]="ハ゛ッファハサイタ゛イ2ツマテ゛テ゛
HELP_DIC$[5]="アフ゜リカ゛イシ゛ョウシュウリョウシタトキニモテ゛ル
HELP_DIC$[6]="ハ゛アイモアリマス。
HELP_DIC$[7]=""
HELP_DIC$[8]="ナオラナイハ゛アイハサイキト゛ウシテクタ゛サイ。
RETURN

@SCR_HELPX
WINBX=0
WINBX2=WINX2-WINDEGX2-WINDEGX
WINBY=WINY2-WINDEGY-WINDEGY2-8
GOSUB @WINSCRBARX
RETURN
@SCR_HELP
WINBX=WINX2-WINDEGX2-WINDEGX-8
WINBY=WINY'+WINDEGY
WINBY2=WINY2-WINDEGY-WINDEGY2-8
GOSUB @WINSCRBARY
RETURN

@C_HELP
WIN_HELP_Y2=0
WIN_HELP_X2=0
GOSUB@WINCLOSE
RETURN
'MEMO ケンサクシテオキカエメント゛ウ ии VS ウ゛ワ゛ワ゛ワ゛ワ゛ゥ-ン ャヘ゛ンテ゛-フ゛ ホ゛ッカ゛カ゛キ゛
'ййййййййййййййй йййййййййййййН---*---М=
'з з з к タケヤフ゛
'зNOMAL->NORMAL з зキト゛ウシテイルタスクノカス゛ л???????
'зDEGIN$->DESIGN$ з @TSKMAXТТТТТТ Сж СССУ
'з з зТТТТТТТТТТТТТТк лЁ<ラフ゛レタ-カ゛ ヤフ゛ テ゛ ヤフ゛レタ-
'зシテキ hatema з зТТカンリョТТТТТТТТл и )ССУ _ ?
'з カンリョ- з зТТТТТТТТТТТТТТ л !!ССй _/ж ж
'┥ййййййййййййййз ┥йййййййййййййййк жжжж жж
@EOF лワハハハハハハ/
'[EOF] Е Е Е Е Е
  ─┬─│ │┌─ END ┌─┐С ┌  
   │ ├─┤├─     │ │С ├ILE
   │ │ │└─     └─┘     
 йййййй
 з    и кサ-ト゛ハ゜-ティ-ノアフ゜リテ゛ス
и  ┬ ┬ зл 
|      |   
з з ─  и  <ノッタ  ヨッタ   ウィ-  ヨット テ゛ フナヨイ
и з HATENAHATENA
з      и    HATENAHATENA
|_й__йй|   HATENAHATENA
'┸жжжжжжжжжжжжжжжжжжжжжжжжж┥
'зMOUSE SCALE for OTYAX и
'з и
'з<MSS> by hatenaи
'┰ййййййййййййййййййййййййй┝

@S_MSS
WINCLS=1:WIN_MODE=1
WINX2=177:WINY2=32
SPREAD(0),MSS_X,MSS_Y,MSS_A,MSS_S,MSS_C
MSS_S=FLOOR(MSS_S)
WINTTL$="Mouse Scale - "+STR$(MSS_S)+"%"
RETURN

@WIN_MSS
WIN_MODE=1
MSS_S=FLOOR(MSS_S)
WINTTL$="Mouse Scale - "+STR$(MSS_S)+"%"
WINTTL$[TSK]=WINTTL$
GOSUB@WINDOW
IF WINIDFLG THEN RETURN
WINSX=32:WINSY=1:WINSC=1
WINSTR$="マウスノオオキサヲカエマス。":GOSUB@WINSTRPUT
WINBX=0:WINBY=10:WINBSTR$="60%":GOSUB@WINBTN
FOR I=1 TO !!(WINBTNF)
 MSS_S=60
 SPSCALE 0,MSS_S,0
NEXT
WINBX=29:WINBY=10:WINBSTR$="SMALL":GOSUB@WINBTN
FOR I=1 TO !!(WINBTNF)
 MSS_S=MSS_S-20
 MSS_S=FLOOR(MSS_S)
 IF MSS_S<60 THEN MSS_S=60
 SPSCALE 0,MSS_S,0
NEXT
WINBX=74:WINBY=10:WINBSTR$="100%":GOSUB@WINBTN
FOR I=1 TO !!(WINBTNF)
 MSS_S=100
 SPSCALE 0,MSS_S,0
NEXT
WINBX=111:WINBY=10:WINBSTR$="BIG":GOSUB@WINBTN
FOR I=1 TO !!(WINBTNF)
 MSS_S=MSS_S+20
 MSS_S=FLOOR(MSS_S)
 IF MSS_S>200 THEN MSS_S=200
 SPSCALE 0,MSS_S,0
NEXT
WINBX=140:WINBY=10:WINBSTR$="200%":GOSUB@WINBTN
FOR I=1 TO !!(WINBTNF)
 MSS_S=200
 SPSCALE 0,MSS_S,0
NEXT
RETURN

@C_MSS
GOSUB@WINCLOSE
RETURN

'┸жжжжжжжжжжжжжжжжжжжжжжжжж┥
'зネス゛ミクシ゛ョケ゛-ム и
'з и
'з<NZM> by hatenaи
'┰ййййййййййййййййййййййййй┝

@S_NZM
WINCLS=1:WINMODE=0
WINX2=48:WINY2=58
WINTTL$="ネス゛ミ"
BF=0
GOSUB @WINBUFF
IF BF==0 THEN GOSUB@SYS_ERR_BUFF:RETURN
NZM_BF=BF
BFC=0:GOSUB@WINBUFFGCLS
RETURN

@WIN_NZM
WINBX=9:WINBY=36
WINBSTR$="BOM":GOSUB@WINBTN
NZM_F=!!WINBTNF
GCOPY NZM_BF,0,0,46,36,WFX,WFY,1
BF=NZM_BF
GOSUB @WINBUFFP
 GPSET RND(47),RND(36),13
 IF NZM_F THEN GFILL 0,0,46,36,0
GOSUB @WINBUFFP2
RETURN

@C_NZM
BF=NZM_BF:GOSUB@WINBUFFC
GOSUB@WINCLOSE
RETURN

'┸жжжжжжжжжжжжжжжжжжжжжжжжж┥
'зWindowMoveMode и
'з и
'з<WMM> by hatenaи
'┰ййййййййййййййййййййййййй┝

@S_WMM
WINCLS=1:WINMODE=0
WINX2=100:WINY2=68
WINTTL$="WindowMM"
RETURN

@WIN_WMM
WINSX=2:WINSY=3:WINSC=1
WINSTR$=" イト゛ウモ-ト゛:":GOSUB@WINSTRPUT
WINSX=82:WINSY=3:WINSC=11
WINSTR$=STR$(WINMOVMODE):GOSUB@WINSTRPUT
WINSX=14:WINSY=22:WINSC=1
WINSTR$="スヘ゛テイト゛ウ":GOSUB@WINSTRPUT
WINSX=14:WINSY=34:WINSC=1
WINSTR$="クロワクノミイト゛ウ":GOSUB@WINSTRPUT
WINSX=14:WINSY=46:WINSC=13
WINSTR$="キモクイト゛ウ":GOSUB@WINSTRPUT
WINBX=2:WINBY=20:WINBSTR$="0"
GOSUB@WINBTN:IF WINBTNF THEN WINMOVMODE=0
WINBX=2:WINBY=32:WINBSTR$="1"
GOSUB@WINBTN:IF WINBTNF THEN WINMOVMODE=1
WINBX=2:WINBY=44:WINBSTR$="2"
GOSUB@WINBTN:IF WINBTNF THEN WINMOVMODE=2
RETURN

@C_WMM
GOSUB@WINCLOSE
RETURN

'┸жжжжжжжжжжжжжжжжжжжжжжжжж┥
'зTask Manager и
'з и
'з<TMNG> by hatenaи
'┰ййййййййййййййййййййййййй┝

@S_TMNG
WINCLS=0:WIN_MODE=0
WINX2=191
WINTTL$="Taskmgr"
TMNG_SC=0:TMNG_BXC=1
RETURN

@WIN_TMNG
TMNG_T=0:TMNG_SL=64:TMNG_L=7
FOR TMNG_I=0 TO TSKMAX-1
 TMNG_T=TMNG_T+!!(WINFLG[TMNG_I]!=0)
NEXT
FOR TMNG_CI=1 TO TMNG_BXC
 WINSX=2:WINSY=2:WINSC=1
 WINSTR$="Target:":GOSUB@WINSTRPUT
 WINSX=58:WINSY=2:WINSC=11
 WINSTR$=STR$(TMNG_SC):GOSUB@WINSTRPUT
 WINSX=2:WINSY=11:WINSC=11
 WINSTR$=WINTTL$[TMNG_SC]:GOSUB@WINSTRPUT
 WINSX=2:WINSY=20:WINSC=1
 WINSTR$="Name:":GOSUB@WINSTRPUT
 WINSX=42:WINSY=20:WINSC=11
 WINSTR$=WINNAME$[TMNG_SC]:GOSUB@WINSTRPUT
 WINBX=2:WINBY=28:WINBSTR$="Compact"
 GOSUB@WINBTN
 IF WINBTNF THEN TMNG_BXC=0
 WINBX=2:WINBY=40:WINBSTR$="RUN.OTW"
 GOSUB@WINBTN
 IF WINBTNF THEN WINEXE$="RUN":GOSUB@WINEXE
 WINBX=2:WINBY=52:WINBSTR$="Close"
 GOSUB@WINBTN
 IF WINBTNF THEN TSK=TMNG_SC:GOSUB@WINCLOSEGT
NEXT
FOR TMNG_CI=1 TO !(TMNG_BXC)
 WINBX=2:WINBY=1:WINBSTR$="Resize"
 GOSUB@WINBTN
 IF WINBTNF THEN TMNG_BXC=1
 TMNG_SL=13
NEXT
FOR TMNG_I=0 TO TMNG_T-1
 WINBX=2:WINBY=TMNG_I*12+TMNG_SL:WINBSTR$=STR$(TMNG_I)
 GOSUB@WINBTN
 IF WINBTNF THEN TMNG_SC=TMNG_I
 WINSX=14:WINSY=TMNG_I*12+TMNG_SL+2:WINSC=1
 IF LEN(STR$(TMNG_I))==2 THEN WINSX=WINSX+8
 WINSTR$=WINTTL$[TMNG_I]
 IF LEN(WINTTL$[TMNG_I])>TMNG_L THEN TMNG_L=LEN(WINTTL$[TMNG_I])
 GOSUB@WINSTRPUT
NEXT
WINY2=TMNG_SL+12+TMNG_T*12
WINX2=16+TMNG_L*8
RETURN

@C_TMNG
GOSUB@WINCLOSE
RETURN
'┸жжжжжжжжжжжжжжжжжжжжжжжжж┥
'зBack Ground Music Player и
'з и
'з<BGMP> by hatena и
'┰ййййййййййййййййййййййййй┝
@S_BGMP
WIMCLS=1:WINMODE=0
WINX2=110:WINY2=33
WINTTL$="BGMPlayer"
RETURN
@WIN_BGMP
IF BGMP_N<0 THEN BGMP_N=29
IF BGMP_N>29 THEN BGMP_N=0
WINSX=2:WINSY=2:WINSC=1
WINSTR$="BGM Number:"
GOSUB@WINSTRPUT
WINSX=90:WINSY=2:WINSC=11
WINSTR$=STR$(BGMP_N)
GOSUB@WINSTRPUT
WINBX=2:WINBY=10:WINBSTR$="♪"
GOSUB@WINBTN
IF WINBTNF THEN BGMPLAY 7,BGMP_N
WINBX=15:WINBY=10:WINBSTR$="м"
GOSUB@WINBTN
IF WINBTNF THEN BGMSTOP 7
WINBX=28:WINBY=10:WINBSTR$="+"
GOSUB@WINBTN
IF WINBTNF THEN BGMP_N=BGMP_N+1
WINBX=41:WINBY=10:WINBSTR$="-"
GOSUB@WINBTN
IF WINBTNF THEN BGMP_N=BGMP_N-1
RETURN
@C_BGMP
GOSUB@WINCLOSE
RETURN
'┸жжжжжжжжжжжжжжжжжжжжжжжжж┥
'зControl Pannel и
'з и
'з<CP> by hatenaи
'┰ййййййййййййййййййййййййй┝
@S_CP
WINCLS=1:WINMODE=0
WINX2=191:WINY2=144
WINTTL$="コントロ-ルハ゜ネル"
RETURN
@WIN_CP
WINBX=0:WINBY=8:WINBSTR$="マウスノオオキサ":GOSUB@WINBTN
IF WINBTNF THEN WINEXE$="MSS":GOSUB@WINEXE
WINBX=69:WINBY=8:WINBSTR$="ウィント゛ウイト゛ウモ-ト゛":GOSUB@WINBTN
IF WINBTNF THEN WINEXE$="WMM":GOSUB@WINEXE
RETURN
@C_CP
GOSUB@WINCLOSE
RETURN
最終更新:2013年05月08日 22:40

*1 SCY+FLOOR(WINCOMY22

*2 SCY+FLOOR(WINCOMY22