home *** CD-ROM | disk | FTP | other *** search
/ RUN Flagazine: Run 1 / run1.zip / YINYANG.BAS < prev    next >
BASIC Source File  |  2014-09-03  |  3KB  |  39 lines

  1. 100 REM YING/YANG-SCHUIFPUZZEL GWBASIC CGA (C) W. VERSLOOT - HEERJANSDAM
  2. 110 DATA 50,18,250,18,50,18,50,183,50,183,250,183,250,18,250,183
  3. 120 DATA 38,8,262,8,38,8,38,193,262,8,262,193,262,193,38,193
  4. 130 DATA 90,18,90,183,130,18,130,183,170,18,170,183,210,18,210,183
  5. 140 DATA 50,51,250,51,50,84,250,84,50,117,250,117,50,150,250,150
  6. 150 T$=CHR$(0):K$=T$+CHR$(80):I$=T$+CHR$(72):J$=T$+CHR$(75):L$=T$+CHR$(77)
  7. 160 KEY OFF:CLS:SCREEN 1:FOR I=1 TO 8:READ A,B,C,D:LINE(A,B)-(C,D):NEXT
  8. 170 PAINT(53,23),2,3:CIRCLE(150,99),74:CIRCLE(150,68),37,,1.571,4.712:H=19
  9. 180 CIRCLE(150,130),37,,4.712,1.571:CIRCLE(150,130),10:CIRCLE(150,68),10
  10. 190 PAINT(150,130),5,3:PAINT(190,68),5,3:PAINT(168,158),5,3:DIM S$(10000)
  11. 200 FOR I=1 TO 8:READ A,B,C,D:LINE(A,B)-(C,D):NEXT:PAINT(43,15),1,3:D=1:Y=0
  12. 210 DIM X(100):GET(211,19)-(249,50),X:PUT(211,19),X:RANDOMIZE -TIMER:G=211
  13. 220 GOSUB 420:WHILE INKEY$="":WEND:GOTO 240
  14. 230 BEEP:FOR V=1 TO 5000:NEXT V
  15. 240 FOR I=0 TO 250:Z=INT(RND*4):IF Z=1 THEN Z=5 ELSE IF Z=2 THEN Z=8
  16. 250 B$=T$+CHR$(72+Z):P=0:GOTO 290
  17. 260 B$=INKEY$:IF B$="" THEN 260 ELSE T=T+1
  18. 270 IF T=10 THEN BEEP:LOCATE 1,8:PRINT "Toets <o> voor oplossing";
  19. 280 IF B$="q" THEN CLS:END ELSE IF B$="r" THEN RUN ELSE IF B$="o" THEN 360
  20. 290 IF (B$=I$ AND H=151) OR (B$=K$ AND H=19) THEN 350
  21. 300 IF (B$=L$ AND G=51) OR (B$=J$ AND G=211) THEN 350
  22. 310 IF B$=I$ THEN GET(G,H+33)-(G+38,H+64),X:PUT(G,H+33),X:PUT(G,H),X:H=H+33:        IF D=1 THEN S$(Y)=K$:Y=Y+1
  23. 320 IF B$=K$ THEN GET(G,H-33)-(G+38,H-2),X:PUT(G,H-33),X:PUT(G,H),X:H=H-33:         IF D=1 THEN S$(Y)=I$:Y=Y+1
  24. 330 IF B$=L$ THEN GET(G-40,H)-(G-2,H+31),X:PUT(G-40,H),X:PUT(G,H),X:G=G-40:         IF D=1 THEN S$(Y)=J$:Y=Y+1
  25. 340 IF B$=J$ THEN GET(G+40,H)-(G+78,H+31),X:PUT(G+40,H),X:PUT(G,H),X:G=G+40:        IF D=1 THEN S$(Y)=L$:Y=Y+1
  26. 350 IF P=2 THEN RETURN ELSE IF P=1 THEN GOTO 260 ELSE NEXT I:P=1:GOTO 260
  27. 360 GOSUB 420::D=0:P=2:FOR I=Y-1 TO 0 STEP -1:FOR V=1 TO 750:NEXT V
  28. 370 IF I>1 THEN IF (S$(I)=K$) AND (S$(I-1)=I$) THEN I=I-2:GOTO 370
  29. 380 IF I>1 THEN IF (S$(I)=I$) AND (S$(I-1)=K$) THEN I=I-2:GOTO 370
  30. 390 IF I>1 THEN IF (S$(I)=J$) AND (S$(I-1)=L$) THEN I=I-2:GOTO 370
  31. 400 IF I>1 THEN IF (S$(I)=L$) AND (S$(I-1)=J$) THEN I=I-2:GOTO 370
  32. 410 B$=S$(I):GOSUB 310:NEXT I:Y=0:P=0:D=1:B$="":GOTO 230
  33. 420 LOCATE 1,8:PRINT SPACE$(25);:LOCATE 1,15:PRINT "Yin en Yang":T=0:RETURN
  34. 430 REM /* 32/.2994,2838,3090,2976,3916,4014,3891,3717,3803,4113
  35. 440 REM /*/....4080,2399,1592,3633,1675,2088,4405,3860,2412,2405
  36. 450 REM /*/....5598,5550,5537,5590,3975,3570,3258,3258,3260,3260
  37. 460 REM /*/....3024,4606
  38. 470 REM Checksum...............:  114387
  39.