home *** CD-ROM | disk | FTP | other *** search
/ RUN Flagazine Extra: Special 2 / run-special-2.zip / PATROON.BAS < prev    next >
BASIC Source File  |  1992-05-31  |  5KB  |  84 lines

  1. 100 REM PATROONHERKENNING DEEL 1 GWBASIC (C) RUN-FLAGAZINE NR 4
  2. 110 CLS:KEY OFF:DIM CYF(3,50),SCAN(3,5),SC(12):CR$=STRING$(2,219):DEFINT V:PR=10
  3. 120 FOR A=1 TO 50:FOR B=1 TO 3:READ CYF(B,A):NEXT B,A:GOSUB 180:GOTO 280
  4. 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
  5. 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
  6. 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
  7. 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
  8. 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
  9. 180 COLOR 14,0:LOCATE 16,5:PRINT CHR$(201)STRING$(69,205)CHR$(187)
  10. 190 LOCATE 22,5:PRINT CHR$(200)STRING$(69,205)CHR$(188):FOR A=12 TO 70 STEP 7
  11. 200 LOCATE 16,A:PRINT CHR$(203):LOCATE 22,A:PRINT CHR$(202):NEXT
  12. 210 FOR A=17 TO 21:FOR B=5 TO 75 STEP 7:LOCATE A,B:PRINT CHR$(186):NEXT B,A
  13. 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
  14. 230 FOR C=1 TO 3:Y=Y+2:IF CYF(C,B) THEN LOCATE 16+V,Y+W+4:PRINT CR$
  15. 240 NEXT C:Y=0:NEXT B:LOCATE 4,37:PRINT CHR$(218)STRING$(6,196)CHR$(191)
  16. 250 FOR A=5 TO 9:LOCATE A,37:PRINT CHR$(179):LOCATE A,44:PRINT CHR$(179):NEXT
  17. 260 LOCATE 1,16:PRINT "<Pijltjes> <Spatie>=aan <Esc>=uit <Enter>=Herken";
  18. 270 LOCATE 10,37:PRINT CHR$(192)STRING$(6,196)CHR$(217):RETURN
  19. 280 COLOR 23,0:LOCATE 5,38:PRINT CR$;
  20. 290 I$=INKEY$:IF I$=CHR$(0) THEN 290
  21. 300 IF I$=CHR$(0)+CHR$(77) THEN GOSUB 380:GOSUB 560
  22. 310 IF I$=CHR$(0)+CHR$(75) THEN GOSUB 410:GOSUB 560
  23. 320 IF I$=CHR$(0)+CHR$(80) THEN GOSUB 440:GOSUB 560
  24. 330 IF I$=CHR$(0)+CHR$(72) THEN GOSUB 470:GOSUB 560
  25. 340 IF I$=CHR$(32) THEN GOSUB 500
  26. 350 IF I$=CHR$(27) THEN GOSUB 530
  27. 360 IF I$=CHR$(13) THEN 600
  28. 370 GOTO 290
  29. 380 IF POS(0)=44 THEN SOUND 1000,.1:GOTO 400
  30. 390 LOCATE CSRLIN,POS(0)-2:PRINT SPACE$(2);:LOCATE CSRLIN,POS(0):PRINT CR$;
  31. 400 RETURN
  32. 410 IF POS(0)=40 THEN SOUND 1000,.1:GOTO 400
  33. 420 LOCATE CSRLIN,POS(0)-2:PRINT SPACE$(2);:LOCATE CSRLIN,POS(0)-4:PRINT CR$;
  34. 430 RETURN
  35. 440 IF CSRLIN=9 THEN SOUND 1000,.1:GOTO 400
  36. 450 LOCATE CSRLIN,POS(0)-2:PRINT SPACE$(2);:LOCATE CSRLIN+1,POS(0)-2:PRINT CR$;
  37. 460 RETURN
  38. 470 IF CSRLIN=5 THEN SOUND 1000,.1:GOTO 400
  39. 480 LOCATE CSRLIN,POS(0)-2:PRINT SPACE$(2);:LOCATE CSRLIN-1,POS(0)-2
  40. 490 PRINT CR$;:RETURN
  41. 500 H=CSRLIN-4:V=POS(0)-39:IF V=3 THEN V=2 ELSE IF V=5 THEN V=3
  42. 510 SCAN(V,H)=1:COLOR 14,0:LOCATE CSRLIN,POS(0)-2:PRINT CR$;:COLOR 23,0
  43. 520 H=1:V=0:RETURN
  44. 530 H=CSRLIN-4:V=POS(0)-39:IF V=3 THEN V=2 ELSE IF V=5 THEN V=3
  45. 540 SCAN(V,H)=0:COLOR 23,0:LOCATE CSRLIN,POS(0)-2:PRINT CR$;
  46. 550 H=1:V=0:RETURN
  47. 560 R=CSRLIN:T=POS(0):FOR K=1 TO 5:FOR L=1 TO 3:COLOR 14,0
  48. 570 IF L=2 THEN U=40 ELSE IF L=3 THEN U=42 ELSE U=38
  49. 580 IF SCAN(L,K) THEN LOCATE K+4,U:PRINT CR$
  50. 590 NEXT L,K:LOCATE R,T:COLOR 23,0:RETURN
  51. 600 REM PATROONHERKENNING DEEL 2 GWBASIC (C) RUN-FLAGAZINE NR 4
  52. 601 LOCATE 15,16:PRINT SPACE$(48);
  53. 610 N=-2:W=1:COLOR 14,0:FOR A=1 TO 5:C=15:FOR B=1 TO 3:C=C+2
  54. 620 LOCATE A+4,B+C:PRINT SCAN(B,A);:NEXT B:PRINT:NEXT A:G=5:C=52
  55. 630 FOR A=1 TO 50:FOR B=1 TO 3:C=C+2:IF G=10 THEN G=5:M=0
  56. 640 LOCATE G,B+C:PRINT CYF(B,A);:GOSUB 670:NEXT B:G=G+1:C=52
  57. 650 W=W+1:IF W=6 THEN Z=Z+1:SC(Z)=PR:W=1:N=N+8:PR=10:GOSUB 720
  58. 660 PRINT:NEXT A:GOSUB 840:GOSUB 220:GOTO 760
  59. 670 IF SCAN(B,W)=CYF(B,A) THEN M=M+1:X=INT(A/5):IF X=10 THEN X=0
  60. 680 IF SCAN(B,W)=CYF(B,A) THEN PR=INT(PR+(100/15))
  61. 690 IF M=15 THEN LOCATE 12,25:PRINT X;"herkend ";
  62. 700 IF M=15 THEN PRINT "met 100% nauwkeurigheid";:N=N+7:GOTO 730
  63. 710 RETURN
  64. 720 GOSUB 890:GOSUB 830:N=N-1:RETURN
  65. 730 FOR G=1 TO 10:IF G=X THEN 750 ELSE N=N+8:IF N>75 THEN 900
  66. 740 GOSUB 830:FOR U=17 TO 21:LOCATE U,N:PRINT SPACE$(6);:NEXT U:N=N-1
  67. 750 NEXT G:IF M=15 THEN 900
  68. 760 FOR A=1 TO 11:IF SC(A)=>SC(A-1) AND SC(A)=>H2 THEN H1(A)=A:H2(A)=SC(A)
  69. 770 NEXT A:COLOR 14,0:H1(10)=0:N=-1
  70. 780 FOR T=1 TO 10:N=N+7:IF H2(T)<87 THEN GOSUB 890:GOSUB 830
  71. 790 IF H2(T)>87 THEN MM=MM+1:LOCATE MM+10,23
  72. 800 IF H2(T)>87 THEN PRINT H1(T);:PRINT "herkend met";H2(T);"% nauwkeurigheid"
  73. 810 NEXT T
  74. 820 IF MM=0 THEN LOCATE 12,30:PRINT "Patroon niet herkenbaar":GOTO 900 ELSE 900
  75. 830 FOR O=1 TO 2000:NEXT O:RETURN
  76. 840 COLOR 15,0:LOCATE 23,23:PRINT "Toets <Enter> voor patroonverwerking";
  77. 850 LOCATE 12,28:PRINT "Patroon niet direct herkend";
  78. 860 WHILE INKEY$<>CHR$(13):WEND:LOCATE 23,23:PRINT SPACE$(36);
  79. 870 FOR K=5 TO 10:LOCATE K,19:PRINT SPACE$(7):LOCATE K,56:PRINT SPACE$(7):NEXT
  80. 880 LOCATE 12,28:PRINT SPACE$(27);:RETURN
  81. 890 FOR U=17 TO 21:LOCATE U,N:PRINT SPACE$(6);:NEXT U:RETURN
  82. 900 LOCATE 23,33:COLOR 15,0:PRINT "Nogmaals (j/n)?";:COLOR 7,0
  83. 910 I$=INKEY$:IF I$="" THEN 910 ELSE IF INSTR("Jj",I$)<>0 THEN RUN
  84.