***翻牌成对****
]10 GRAPH
]20 DIM POSXY$(18),CHARXY%(18,2),OPFLAG%(18),DELFLAG%(18),OPCUNT%(18)
]21 DIM NUM$(9),TEMP1$(18)
]30 FLAG%=1:TOTAL%=0;SUM%=0:STAY%=10:TIMER=0:CUOCOUNT%=0
]31 BLK1X%=2:BLK1Y%=1:BLK2X%=2:BLK2Y%=1
]33 GOSUB 1700
]40 CLS
]50 FOR I=1 TO 18
]60 OPFLAG%(I)=0:DELFLAG%(I)=0:OPCOUNT%(I)=0
]70 NEXT I
]80 GOSUB 900: GOSUB 1000: GOSUB 1600: GOSUB 1500
]90 LET X%=1:LET Y%=1:STARTFLAG%=0;TIMER=0
]100 IF TOTAL%=18 THEN GOSUB 1900:GOTO 200
]110 STAY%=1: GOSUB 1600
]111 LOCATE X%,Y%: PRINT " "
]112 IF PEEK(199)<128 THEN 173
]120 M1$=INKEY$
]125 LOCATE X%,Y%:PRINT "■";
]130 IF M1$=CHR$(23) THEN GOSUB 300
]140 IF M1$=CHR$(22) THEN GOSUB 400
]150 IF M1$=CHR$(20) THEN GOSUB 500
]160 IF M1$=CHR$(21) THEN GOSUB 600
]170 IF M1$=CHR$(13) THEN GOSUB 1100
]171 IF M1$=CHR$(27) THEN 190
]173 STAY%=1: GOSUB 1600
]174 LOCATE X%,Y%: PRINT " ";
]180 GOTO 100
]190 CLS: LOCATE 2,3: PRINT "退出";
]200 CLS
]201 END
]300 REM SUB OPEN -LEFT *****************<<<<<<<<<<<<<<<<
]310 STARTFLAG%=1
]320 GOSUB 700
]330 IF Y%=1 AND X%=1 THEN Y%=11:X%=3: GOTO 350
]340 IF Y%=1 THEN X%=X%-1:Y%=11 ELSE Y%=Y%-2
]350 XL1%=X%-1:YL1%=(Y%+1)/2:XYSRT1%=XL1%*6+YL1%
]360 IF OPFLAG%(XYSRT1%)=1 OR DELFLAG%(XYSRT1%)=1 THEN GOTO 330
]380 OLD$=M1$
]390 RETURN
]400 REM SUB OPEN -RIGHT ****************<<<<<<<<<<<<<<<<
]401 STARTFLAG%=1
]410 IF TOTAL%=18 THEN GOTO 490
]420 GOSUB 700
]430 IF Y%=11 AND X%=3 THEN Y%=1:X%=1:GOTO 450
]440 IF Y%=11 THEN X%=X%+1:Y%=1 ELSE Y%=Y%+2
]450 XL1%=X%-1:YL1%=(Y%+1)/2:XYSRT1%=XL1%*6+YL1%
]460 IF DELFLAG%(XYSRT1%)=1 OR OPFLAG%(XYSRT1%)=1 THEN GOTO 430
]480 OLD$=M1$
]490 RETURN
]500 REM SUB OPEN -UP^^^^^^^^^^^^^^^^^^^^^^
]501 STARTFLAG%=1
]510 GOSUB 700
]520 IF X%=1 THEN X%=3 ELSE X%=X%-1
]530 XL1%=X%-1:YL1%=(Y%+1)/2:XYSRT1%=XL1%*6+YL1%
]540 IF OPFLAG%(XYSRT1%)=1 OR DELFLAG%(XYSRT1%)=1 THEN GOTO 520
]580 OLD$=M1$
]590 RETURN
]600 REM SUB OPEN -DOWN ^^^^^^^^^^^^^^^^^^^^^^^^^^
]601 STARTFLAG%=1
]610 GOSUB 700
]620 IF X%=3 THEN X%=1 ELSE X%=X%+1
]630 XL1%=X%-1:YL1%=(Y%+1)/2:XYSRT1%=XL1%*6+YL1%
]640 IF OPFLAG%(XYSRT1%)=1 OR DELFLAG%(XYSRT1%)=1 THEN GOTO 620
]680 RERUTN
]700 REM SUB SOPEN -RESTORE ***************************
]710 XL1%=X%-1:YL1%=(Y%+1)/2:XYSRT1%=XL1%*6+YL1%
]720 IF DELFLAG%(XYSRT1%)=1 OR OPFLAG%(XYSRT1%)=1 THEN GOTO 740
]730 LOCATE X%,Y%:PRINT "■";
]740 RETURN
]800 REM read----Number
]820 N=0
]830 READ CH$
]840 WHILE ASC(CH$)<>48+TMP%
]850 READ CH$
]855 WEND
]856 FOR I=1 TO 9: READ NUM$(I):NEXT I
]860 DATA "0","苣","菡","菰","蓣","蓐","葳","蒇","蕨","蕤"
]861 DATA "1","睃","眭","睦","瞵","睥","瞍","睢","瞧","睫"
]826 DATA "2","呔","嘻","喳","嗒","啖","叨","嗡","
]863 DATA "3","蛳","蚊","蜩","螨","蟒","嚏","蜓","蜞","蛴"
]864 DATA "4","蹯","蹊","跄","跟","跖","硗","蹂","蹰","踔"
]865 DATA "5","疳","疟","癃","瘾","瘼","疠","瘛","疽","痈"
]866 DATA "6","宥","寡","褰","蹇","搴","謇","甯","窦","窳"
]867 DATA "7","崦","研","岘","嵴","峒","崛","嵝","峋","崾"
]868 DATA "8","堞","垅","埒","垤","塥","垭","埚","墒"
]869 DATA "9","漭","澌","渫","潆","滠","溽","滹","滤","淠"