home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
RUN Flagazine Extra: Special 2
/
run-special-2.zip
/
PATROON.BAS
< prev
next >
Wrap
BASIC Source File
|
1992-05-31
|
5KB
|
84 lines
100 REM PATROONHERKENNING DEEL 1 GWBASIC (C) RUN-FLAGAZINE NR 4
110 CLS:KEY OFF:DIM CYF(3,50),SCAN(3,5),SC(12):CR$=STRING$(2,219):DEFINT V:PR=10
120 FOR A=1 TO 50:FOR B=1 TO 3:READ CYF(B,A):NEXT B,A:GOSUB 180:GOTO 280
130 DATA 0,0,1,0,0,1,0,0,1,0,0,1,0,0,1, 1,1,1,0,0,1,1,1,1,1,0,0,1,1,1
140 DATA 1,1,1,0,0,1,1,1,1,0,0,1,1,1,1, 1,0,1,1,0,1,1,1,1,0,0,1,0,0,1
150 DATA 1,1,1,1,0,0,1,1,1,0,0,1,1,1,1, 1,1,1,1,0,0,1,1,1,1,0,1,1,1,1
160 DATA 1,1,1,0,0,1,0,0,1,0,0,1,0,0,1, 1,1,1,1,0,1,1,1,1,1,0,1,1,1,1
170 DATA 1,1,1,1,0,1,1,1,1,0,0,1,1,1,1, 1,1,1,1,0,1,1,0,1,1,0,1,1,1,1
180 COLOR 14,0:LOCATE 16,5:PRINT CHR$(201)STRING$(69,205)CHR$(187)
190 LOCATE 22,5:PRINT CHR$(200)STRING$(69,205)CHR$(188):FOR A=12 TO 70 STEP 7
200 LOCATE 16,A:PRINT CHR$(203):LOCATE 22,A:PRINT CHR$(202):NEXT
210 FOR A=17 TO 21:FOR B=5 TO 75 STEP 7:LOCATE A,B:PRINT CHR$(186):NEXT B,A
220 Y=0:W=0:V=0:COLOR 15,0:FOR B=1 TO 50:V=V+1:IF V=6 THEN V=1:W=W+7
230 FOR C=1 TO 3:Y=Y+2:IF CYF(C,B) THEN LOCATE 16+V,Y+W+4:PRINT CR$
240 NEXT C:Y=0:NEXT B:LOCATE 4,37:PRINT CHR$(218)STRING$(6,196)CHR$(191)
250 FOR A=5 TO 9:LOCATE A,37:PRINT CHR$(179):LOCATE A,44:PRINT CHR$(179):NEXT
260 LOCATE 1,16:PRINT "<Pijltjes> <Spatie>=aan <Esc>=uit <Enter>=Herken";
270 LOCATE 10,37:PRINT CHR$(192)STRING$(6,196)CHR$(217):RETURN
280 COLOR 23,0:LOCATE 5,38:PRINT CR$;
290 I$=INKEY$:IF I$=CHR$(0) THEN 290
300 IF I$=CHR$(0)+CHR$(77) THEN GOSUB 380:GOSUB 560
310 IF I$=CHR$(0)+CHR$(75) THEN GOSUB 410:GOSUB 560
320 IF I$=CHR$(0)+CHR$(80) THEN GOSUB 440:GOSUB 560
330 IF I$=CHR$(0)+CHR$(72) THEN GOSUB 470:GOSUB 560
340 IF I$=CHR$(32) THEN GOSUB 500
350 IF I$=CHR$(27) THEN GOSUB 530
360 IF I$=CHR$(13) THEN 600
370 GOTO 290
380 IF POS(0)=44 THEN SOUND 1000,.1:GOTO 400
390 LOCATE CSRLIN,POS(0)-2:PRINT SPACE$(2);:LOCATE CSRLIN,POS(0):PRINT CR$;
400 RETURN
410 IF POS(0)=40 THEN SOUND 1000,.1:GOTO 400
420 LOCATE CSRLIN,POS(0)-2:PRINT SPACE$(2);:LOCATE CSRLIN,POS(0)-4:PRINT CR$;
430 RETURN
440 IF CSRLIN=9 THEN SOUND 1000,.1:GOTO 400
450 LOCATE CSRLIN,POS(0)-2:PRINT SPACE$(2);:LOCATE CSRLIN+1,POS(0)-2:PRINT CR$;
460 RETURN
470 IF CSRLIN=5 THEN SOUND 1000,.1:GOTO 400
480 LOCATE CSRLIN,POS(0)-2:PRINT SPACE$(2);:LOCATE CSRLIN-1,POS(0)-2
490 PRINT CR$;:RETURN
500 H=CSRLIN-4:V=POS(0)-39:IF V=3 THEN V=2 ELSE IF V=5 THEN V=3
510 SCAN(V,H)=1:COLOR 14,0:LOCATE CSRLIN,POS(0)-2:PRINT CR$;:COLOR 23,0
520 H=1:V=0:RETURN
530 H=CSRLIN-4:V=POS(0)-39:IF V=3 THEN V=2 ELSE IF V=5 THEN V=3
540 SCAN(V,H)=0:COLOR 23,0:LOCATE CSRLIN,POS(0)-2:PRINT CR$;
550 H=1:V=0:RETURN
560 R=CSRLIN:T=POS(0):FOR K=1 TO 5:FOR L=1 TO 3:COLOR 14,0
570 IF L=2 THEN U=40 ELSE IF L=3 THEN U=42 ELSE U=38
580 IF SCAN(L,K) THEN LOCATE K+4,U:PRINT CR$
590 NEXT L,K:LOCATE R,T:COLOR 23,0:RETURN
600 REM PATROONHERKENNING DEEL 2 GWBASIC (C) RUN-FLAGAZINE NR 4
601 LOCATE 15,16:PRINT SPACE$(48);
610 N=-2:W=1:COLOR 14,0:FOR A=1 TO 5:C=15:FOR B=1 TO 3:C=C+2
620 LOCATE A+4,B+C:PRINT SCAN(B,A);:NEXT B:PRINT:NEXT A:G=5:C=52
630 FOR A=1 TO 50:FOR B=1 TO 3:C=C+2:IF G=10 THEN G=5:M=0
640 LOCATE G,B+C:PRINT CYF(B,A);:GOSUB 670:NEXT B:G=G+1:C=52
650 W=W+1:IF W=6 THEN Z=Z+1:SC(Z)=PR:W=1:N=N+8:PR=10:GOSUB 720
660 PRINT:NEXT A:GOSUB 840:GOSUB 220:GOTO 760
670 IF SCAN(B,W)=CYF(B,A) THEN M=M+1:X=INT(A/5):IF X=10 THEN X=0
680 IF SCAN(B,W)=CYF(B,A) THEN PR=INT(PR+(100/15))
690 IF M=15 THEN LOCATE 12,25:PRINT X;"herkend ";
700 IF M=15 THEN PRINT "met 100% nauwkeurigheid";:N=N+7:GOTO 730
710 RETURN
720 GOSUB 890:GOSUB 830:N=N-1:RETURN
730 FOR G=1 TO 10:IF G=X THEN 750 ELSE N=N+8:IF N>75 THEN 900
740 GOSUB 830:FOR U=17 TO 21:LOCATE U,N:PRINT SPACE$(6);:NEXT U:N=N-1
750 NEXT G:IF M=15 THEN 900
760 FOR A=1 TO 11:IF SC(A)=>SC(A-1) AND SC(A)=>H2 THEN H1(A)=A:H2(A)=SC(A)
770 NEXT A:COLOR 14,0:H1(10)=0:N=-1
780 FOR T=1 TO 10:N=N+7:IF H2(T)<87 THEN GOSUB 890:GOSUB 830
790 IF H2(T)>87 THEN MM=MM+1:LOCATE MM+10,23
800 IF H2(T)>87 THEN PRINT H1(T);:PRINT "herkend met";H2(T);"% nauwkeurigheid"
810 NEXT T
820 IF MM=0 THEN LOCATE 12,30:PRINT "Patroon niet herkenbaar":GOTO 900 ELSE 900
830 FOR O=1 TO 2000:NEXT O:RETURN
840 COLOR 15,0:LOCATE 23,23:PRINT "Toets <Enter> voor patroonverwerking";
850 LOCATE 12,28:PRINT "Patroon niet direct herkend";
860 WHILE INKEY$<>CHR$(13):WEND:LOCATE 23,23:PRINT SPACE$(36);
870 FOR K=5 TO 10:LOCATE K,19:PRINT SPACE$(7):LOCATE K,56:PRINT SPACE$(7):NEXT
880 LOCATE 12,28:PRINT SPACE$(27);:RETURN
890 FOR U=17 TO 21:LOCATE U,N:PRINT SPACE$(6);:NEXT U:RETURN
900 LOCATE 23,33:COLOR 15,0:PRINT "Nogmaals (j/n)?";:COLOR 7,0
910 I$=INKEY$:IF I$="" THEN 910 ELSE IF INSTR("Jj",I$)<>0 THEN RUN