home *** CD-ROM | disk | FTP | other *** search
/ RUN Flagazine: Run 14 / unpacked-run14.zip / ZESHOEK.BAS < prev   
BASIC Source File  |  1995-01-01  |  2KB  |  38 lines

  1. 100 REM ZESHOEK-PUZZEL GW-QBASIC DOOR WIM VERSLOOT (C) RUN FLAGAZINE
  2. 110 CLS:KEY OFF:SCREEN 9:DIM H(12,2),X(7,2),P(12,2),G(6),A(7,6),L(6,2),Z(7),T(7)
  3. 120 PRINT "[1..7] Kies-[Tab] Wissel-[Spatie] Terug-[Enter] Roteer-[Esc] Einde";
  4. 130 FOR I=1 TO 12:READ P(I,1),P(I,2),H(I,1),H(I,2):NEXT I:FOR I=1 TO 7
  5. 140 T(I)=1:READ X(I,1),X(I,2):NEXT I:FOR I=1 TO 7:FOR J=1 TO 6
  6. 150 READ A(I,J):NEXT J:NEXT I:FOR I=1 TO 6:READ L(I,1),L(I,2)
  7. 160 NEXT I:X=68:Y=278:P=1:U$=CHR$(9):FOR J=1 TO 7:FOR I=1 TO 11
  8. 170 LINE (X(J,1)+H(I,1),X(J,2)+H(I,2))-(X(J,1)+H(I+1,1),X(J,2)+H(I+1,2))
  9. 180 NEXT I:FOR I=0 TO 11:CIRCLE (X(J,1),X(J,2)),I,0:NEXT I
  10. 190 CIRCLE (X(J,1),X(J,2)),11,15:NEXT J:CIRCLE (X(1,1),X(1,2)),7,15
  11. 200 PAINT (X(1,1)+1,X(1,2)+1),7,15:LOCATE 25,32:PRINT "Door Wim Versloot";
  12. 210 FOR J=0 TO 6:LOCATE 23,8+10 * J:PRINT J+1:FOR I=1 TO 11
  13. 220 LINE (X+J * 80+P(I,1),Y+P(I,2))-(X+J * 80+P(I+1,1),Y+P(I+1,2))
  14. 230 NEXT I:NEXT J:FOR J=0 TO 6:FOR I=1 TO 6
  15. 240 PAINT (X+J * 80+L(I,1),Y+L(I,2)),A(J+1,I)+8,15:NEXT I:NEXT J
  16. 250 K$=INKEY$:IF K$="" THEN GOTO 250 ELSE N=ASC(K$)
  17. 260 IF K$=U$ THEN GOSUB 300 ELSE IF N>48 AND N<56 THEN GOSUB 330
  18. 270 IF K$=" " AND Z(P)>0 THEN GOSUB 360
  19. 280 IF K$=CHR$(13) AND Z(P)>0 THEN GOSUB 380
  20. 290 IF K$=CHR$(27) THEN END ELSE 250
  21. 300 PAINT (X(P,1),X(P,2)),0,15:CIRCLE (X(P,1),X(P,2)),7,0
  22. 310 IF P=7 THEN P=1 ELSE P=P+1
  23. 320 CIRCLE (X(P,1),X(P,2)),7,15:PAINT (X(P,1),X(P,2)),7,15:RETURN
  24. 330 IF Z(P)=0 AND T(N-48)=1 THEN GOSUB 340:RETURN ELSE RETURN
  25. 340 Z(P)=N-48:T(N-48)=0:FOR J=1 TO 6:W=0:GOSUB 410:NEXT J
  26. 350 FOR J=1 TO 6:W=A(N-48,J)+8:GOSUB 400:NEXT J:RETURN
  27. 360 T(Z(P))=1:FOR J=1 TO 6:W=0:GOSUB 400:NEXT J
  28. 370 FOR J=1 TO 6:W=A(Z(P),J)+8:GOSUB 410:NEXT J:Z(P)=0:RETURN
  29. 380 B=A(Z(P),1):FOR J=1 TO 5:A(Z(P),J)=A(Z(P),J+1):NEXT J
  30. 390 A(Z(P),6)=B:FOR J=1 TO 6:W=A(Z(P),J)+8:GOSUB 400:NEXT J:RETURN
  31. 400 PAINT (X(P,1)+2 * L(J,1),X(P,2)+2 * L(J,2)),W,15:RETURN
  32. 410 PAINT (X+(Z(P)-1) * 80+L(J,1),Y+L(J,2)),W,15:RETURN
  33. 420 DATA -25,-10,-40,-15,0,-20,0,-30,25,-10,40,-15,25,10,40,15,0,20,0,30,-25,10
  34. 430 DATA -40,15,25,-10,40,-15,25,10,40,15,-25,-10,-40,-15,-25,10,-40,15,0,20
  35. 440 DATA 0,30,0,-20,0,-30,300,140,255,88,345,88,390,140,345,192,255,192,210,140
  36. 450 DATA 3,4,2,5,1,6,4,3,6,2,1,5,1,2,5,3,4,6,3,1,5,6,4,2,1,4,6,5,2,3,3,1,5,6,4
  37. 460 DATA 2,4,6,3,5,1,2,-10,-10,10,-10,10,0,10,10,-10,10,-10,0
  38.