100'SA."PATAPATA.BAS" 110CLS:CLEAR 120DIM T(24),G(24),R(4),A(24,16),GP$(1)*17 130RANDOMIZE 140FOR I=0 TO 3:READ R(I):NEXT 150FOR I=0 TO 24:READ A(I,0):FOR J=1 TO A(I,0):READ A(I,J):NEXT:NEXT 160GP$(0)="0000000000000000":GP$(1)="007F7F7F7F7F7F7F" 170' 180LOCATE 12,0:PRINT "PATAPATA" 190LOCATE 11,2:PRINT "N)NEW" 200LOCATE 11,3:PRINT "R)RETRY" 210LOCATE 11,4:PRINT "G)GIVE UP" 220' 230ERASE F:DIM F(42) 240LINE (-1,-1)-(41,40),S,B:GOSUB *DRAW 250LOCATE 0,1:PRINT "ÓÝÀÞ²¦":PRINT "¸¯ÃϽ 270' 280GOSUB *RAND 290' 295X=2:Y=2:P=20 300GOSUB *DRAW 310GOSUB *CHECK:IF 0=J GOTO 440 320GOSUB *SEL 330C= ASC INKEY$:IF 0=C THEN 330 340IF 14=C LET X=X+1 350IF 15=C LET X=X+4 360IF 5=C LET Y=Y+1 370IF 4=C LET Y=Y+4 380IF 32=C GOSUB *REV:GOSUB *DRAW 390IF ASC "N"=C GOTO 230 400IF ASC "R"=C GOSUB *RETRY:GOTO 300 410IF ASC "G"=C GOSUB *GIVEN:GOTO 470 420X=X MOD 5:Y=Y MOD 5:P=6+Y*6+X 430GOTO 310 440' 450LOCATE 1,2:PRINT "CLEAR" 460' 470C= ASC INKEY$:IF 0=C THEN 470 480IF ASC "N"=C GOTO 230 490IF ASC "R"=C GOSUB *RETRY:GOTO 295 500GOTO 470 510*RAND 520FOR I=0 TO 5 530F(I)=2:F(I*6+11)=2:F(36+I)=2 540NEXT 550FOR I=0 TO 24 560T(I)= RND 1 MOD 2:F(I+6+INT(I/5))=T(I) 570NEXT 580GOSUB *TRUE:IF K GOTO *RAND 590RETURN 600*TRUE 610FOR I=0 TO 1 620K=0:FOR J=1 TO A(I,0):K=K+F(A(I,J)):NEXT:K=K MOD 2 630IF 1=K LET I=3 640NEXT 650RETURN 660*RETRY 670FOR I=0 TO 24 680F(I+6+ INT (I/5))=T(I) 690NEXT 700RETURN 710*CHECK 720J=0 730FOR I=0 TO 24 740J=J+F(I+6+ INT (I/5)) 750NEXT 760RETURN 770*DRAW 780FOR I=0 TO 24 790J= INT (I/5) 800IF 0=I MOD 5 GCURSOR ((I MOD 5)*8,J*8+7) 810GPRINT GP$(F(I+6+J)); 820NEXT 830Q=-20 840RETURN 850*REV 860FOR I=0 TO 4 870J=R(I)+P 880IF F(J)<2 LET F(J)=1-F(J) 890NEXT 900RETURN 910*SEL 920I=Q MOD 6:J= INT (Q/6)-1:LINE (I*8+1,J*8)-(I*8+7,J*8+6),X,&HAAAA,B 930I=P MOD 6:J= INT (P/6)-1:LINE (I*8+1,J*8)-(I*8+7,J*8+6),X,&HAAAA,B:Q=P 940RETURN 950*GIVEN 960L=0 970FOR I=2 TO 24 980K=0:IF 0