' [ INITIALIZE ] RANDOMIZE TIMER REM WASHAW GAMES REM REM IGRID=1 TO 9 DIM GXPOS(9),GYPOS(9),GXDIR(9),GYDIR(9) FOR I=1 TO 9 READ X,Y GXPOS(I)=X*8 GYPOS(I)=Y*8 NEXT I DATA 4,2,8,2,12,2,12,6,12,10,8,10,4,10,4,6,8,6 FOR I=1 TO 9 READ GXDIR(I),GYDIR(I) NEXT I DATA 1,0,1,0,0,1,0,1,-1,0,-1,0,0,-1,0,-1,0,0 REM REM ICARD=1 TO 5 DIM CCHAR(5),CATTR(5) FOR I=1 TO 5 READ CCHAR(I) CATTR(I)=I NEXT I DATA 4,8,12,64,68 REM 72=CARD BACK FACE=72 REM REM ISPRITE=1 TO 9 DIM SGRID(9),SCARD(9),SSTATUS(9) REM STATUS: REM 0=FACE DOWN REM 1=PEAK, FACE UP REM 2=MATCHED, FACE UP REM REM SPRITE 0,-1,-1,1 IHIDE=0 GAMESCORE=0 TIMESTART=128 DIM CPICK(5) ' [ BEGIN ] NEWGAME: TIMESTART=TIMESTART-9 TIMESPIN=TIMESTART*3 GAMETIME=60*TIMESTART+TIMER MISS=0 FOR I=1 TO 5 CPICK(I)=2 NEXT I FOR I=1 TO 9 IDEAL=0 WHILE IDEAL=0 D=INT(RND*5)+1 IF CPICK(D)>0 THEN IDEAL=1 CPICK(D)=CPICK(D)-1 SCARD(I)=D SGRID(I)=I SSTATUS(I)=0 END IF WEND NEXT I IMATCH=0 ISPIN=0 DSPIN=0 GOSUB SHOWCARDS ' [ MAIN LOOP ] ITOUCH=0 TSPIN=TIMER+TIMESPIN DO IF TIMER>TSPIN AND ISPIN=0 THEN ISPIN=1 DSPIN=0 END IF SCORE=INT((GAMETIME-TIMER)/100) IF GAMETIME-TIMER<0 THEN GOTO ENDGAME ENDSCORE=SCORE-MISS NUMBER 0,0,SCORE,2 TEXT 0,1,"-"+STR$(MISS) TEXT 0,2,"==" NUMBER 0,3,ENDSCORE,2 IF TOUCH THEN SPRITE 0,TOUCH.X,TOUCH.Y, IF ITOUCH<2 THEN IF SPRITE HIT(0) THEN IF SSTATUS(HIT)=0 THEN ITOUCH=ITOUCH+1 SSTATUS(HIT)=1 GOSUB SHOWCARDS IF ITOUCH=2 THEN IHIDE=50 END IF END IF END IF ELSE SPRITE 0,-1,-1, END IF IF IHIDE>0 THEN IHIDE=IHIDE-1 IF IHIDE=0 THEN IMISS=0 FOR I=1 TO 9 IF SSTATUS(I)=1 THEN SSTATUS(I)=0 IMISS=1 END IF NEXT I MISS=MISS+IMISS GOSUB SHOWCARDS ITOUCH=0 END IF END IF IF IMATCH=4 THEN GOTO SCOREIT IF ISPIN>0 THEN DSPIN=DSPIN+1 IF DSPIN=4*8+1 THEN FOR GI=1 TO 8 SGRID(GI)=SGRID(GI)+1 IF SGRID(GI)>8 THEN SGRID(GI)=1 NEXT GI DSPIN=0 ISPIN=0 TSPIN=TIMER+TIMESPIN END IF GOSUB SHOWCARDS END IF WAIT VBL LOOP SCOREIT: WAIT 60 TEXT 0,0," " TEXT 0,1," " TEXT 0,2," " TEXT 0,3," " GAMESCORE=GAMESCORE+ENDSCORE NUMBER 8,0,GAMESCORE,4 WAIT 60 GOTO NEWGAME ENDGAME: TEXT 0,0," " TEXT 0,1," " TEXT 0,2," " TEXT 0,3," " TEXT 5,2,"GAME OVER" FOR I=1 TO 9 SPRITE I,200,200, NEXT I END SHOWCARDS: CARD1=0 CARD2=0 IC1=0 IC2=0 FOR I=1 TO 9 G=SGRID(I) C=SCARD(I) S=SSTATUS(I) X=GXPOS(G)+(GXDIR(G)*DSPIN) Y=GYPOS(G)+(GYDIR(G)*DSPIN) CC=CCHAR(C) A=CATTR(C) IF S=0 THEN SPRITE.A I,(0,,,,3) SPRITE I,X,Y,FACE ELSE IF S=1 THEN IF CARD1=0 THEN CARD1=CC ELSE CARD2=CC IF IC1=0 THEN IC1=I ELSE IC2=I END IF SPRITE.A I,(A,,,,3) SPRITE I,X,Y,CC END IF NEXT I IF CARD1=CARD2 AND CARD1<>0 THEN SSTATUS(IC1)=2 SSTATUS(IC2)=2 IMATCH=IMATCH+1 END IF RETURN ' [ CARTRIDGE ROM ] #1:MAIN PALETTES 053F2F00003F3A30003F0C08003F3C34 003F3B37003F0F0A003F2A15003F2A15 #2:MAIN CHARACTERS 00000000000000000000000000000000 80000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 0000000000000000007F7F7F7F7F7F7F 000000000000000000FFFFFFFFFFFFFF 000000000000000000FFFFFFFFFFFFFF 000000000000000000FEFEFEFEFEFEFE 0000000000000000007F7F7F7F7F7F7F 000000000000000000FFFFFFFFFFFFFF 000000000000000000FFFFFFFFFFFFFF 000000000000000000FEFEFEFEFEFEFE 0000000000000000007F7F7F7F7F7F7F 000000000000000000FFFFFFFFFFFFFF 000000000000000000FFFFFFFFFFFFFF 000000000000000000FEFEFEFEFEFEFE 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000007F7F7F7F7F7F7F7F 0000101010101000FFFFFFFFFFFFFFFF 0000000000000000FFFFFFFFFFFFFFFF 0000000000000000FEFEFEFEFEFEFEFE 00000000000000007F7F7F7F7F7F7F7F 0000380838203800FFFFFFFFFFFFFFFF 0000000000000000FFFFFFFFFFFFFFFF 0000000000000000FEFEFEFEFEFEFEFE 00000000000000007F7F7F7F7F7F7F7F 00003C040C043C00FFFFFFFFFFFFFFFF 0000000000000000FFFFFFFFFFFFFFFF 0000000000000000FEFEFEFEFEFEFEFE 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000007F7F7F7F7F7F7F7F 0000000000000000FFFFFFFFFFFFFFFF 0000000000000000FFFFFFFFFFFFFFFF 0000000000000000FEFEFEFEFEFEFEFE 00000000000000007F7F7F7F7F7F7F7F 0000000000000000FFFFFFFFFFFFFFFF 0000000000000000FFFFFFFFFFFFFFFF 0000000000000000FEFEFEFEFEFEFEFE 00000000000000007F7F7F7F7F7F7F7F 0000000000000000FFFFFFFFFFFFFFFF 0000000000000000FFFFFFFFFFFFFFFF 0000000000000000FEFEFEFEFEFEFEFE 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000007F7F7F7F7F7F7F00 0000000000000000FFFFFFFFFFFFFF00 0000000000000000FFFFFFFFFFFFFF00 0000000000000000FEFEFEFEFEFEFE00 00000000000000007F7F7F7F7F7F7F00 0000000000000000FFFFFFFFFFFFFF00 0000000000000000FFFFFFFFFFFFFF00 0000000000000000FEFEFEFEFEFEFE00 00000000000000007F7F7F7F7F7F7F00 0000000000000000FFFFFFFFFFFFFF00 0000000000000000FFFFFFFFFFFFFF00 0000000000000000FEFEFEFEFEFEFE00 0000000000000000007F7F7F7F7F7F7F 000000000000000000FFFFFFFFFFFFFF 000000000000000000FFFFFFFFFFFFFF 000000000000000000FEFEFEFEFEFEFE 0000000000000000007F7F7F7F7F7F7F 000000000000000000FFFFFFFFFFFFFF 000000000000000000FFFFFFFFFFFFFF 000000000000000000FEFEFEFEFEFEFE 007F7F7F7F7F7F7F0000000000000000 00FFFFFFFFFFFFFF0000000000000000 00FFFFFFFFFFFFFF0000000000000000 00FEFEFEFEFEFEFE0000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000007F7F7F7F7F7F7F7F 0000282838080800FFFFFFFFFFFFFFFF 0000000000000000FFFFFFFFFFFFFFFF 0000000000000000FEFEFEFEFEFEFEFE 00000000000000007F7F7F7F7F7F7F7F 0000382038083800FFFFFFFFFFFFFFFF 0000000000000000FFFFFFFFFFFFFFFF 0000000000000000FEFEFEFEFEFEFEFE 7F7F7F7F7F7F7F7F0000000000000000 FFFFFFFFFFFFFFFF0000000000000000 FFFFFFFFFFFFFFFF0000000000000000 FEFEFEFEFEFEFEFE0000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000007F7F7F7F7F7F7F7F 0000000000000000FFFFFFFFFFFFFFFF 0000000000000000FFFFFFFFFFFFFFFF 0000000000000000FEFEFEFEFEFEFEFE 00000000000000007F7F7F7F7F7F7F7F 0000000000000000FFFFFFFFFFFFFFFF 0000000000000000FFFFFFFFFFFFFFFF 0000000000000000FEFEFEFEFEFEFEFE 7F7F7F7F7F7F7F7F0000000000000000 FFFFFFFFFFFFFFFF0000000000000000 FFFFFFFFFFFFFFFF0000000000000000 FEFEFEFEFEFEFEFE0000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000007F7F7F7F7F7F7F00 0000000000000000FFFFFFFFFFFFFF00 0000000000000000FFFFFFFFFFFFFF00 0000000000000000FEFEFEFEFEFEFE00 00000000000000007F7F7F7F7F7F7F00 0000000000000000FFFFFFFFFFFFFF00 0000000000000000FFFFFFFFFFFFFF00 0000000000000000FEFEFEFEFEFEFE00 7F7F7F7F7F7F7F000000000000000000 FFFFFFFFFFFFFF000000000000000000 FFFFFFFFFFFFFF000000000000000000 FEFEFEFEFEFEFE000000000000000000