home *** CD-ROM | disk | FTP | other *** search
/ The Glitch Apple Disk Collection / 2014.glitch.apple.collection.zip / indexed / PRISONER.DSK / PR.WILD.bas < prev    next >
BASIC Source File  |  2014-09-09  |  5KB  |  74 lines

  1. 1 ZZ =  FRE(0): POKE  -16368,0
  2. 2  ONERR  GOTO 32000
  3. 5  POKE 232,0: POKE 233,86
  4. 8  HCOLOR= 7: ROT= 0:PI = 3.1415926:E = 2.7182818: SCALE= 1
  5. 9  GOTO 1000
  6. 10  RETURN 
  7. 350  POKE P1,17: POKE P2,255: CALL P3: RETURN 
  8. 395 T1% = L4% -L3% +1: VTAB H3%: FOR I3 = H3% TO H4%: HTAB L3%: PRINT  SPC( T1%): PRINT : NEXT I3: RETURN 
  9. 500  IF (  NOT (X1%  OR Y1%)  AND  INT( RND(1) *1.3) = 0)  OR VE%  THEN  RETURN 
  10. 502 T5% = 1:T6 = 20000: IF T3%  AND X1%  AND Y1%  THEN  XDRAW 2 AT X1%,Y1%:T1% = T1%(X1%/14,Y1%/10): IF T1%  THEN  DRAW T1% AT X1%,Y1%
  11. 503  IF T9%  THEN X1% = X1% +  NOT (X1% = X%) * SGN(X% -X1%) *14:Y1% = Y1% +  NOT (Y1% = Y%) * SGN(Y% -Y1%) *10: GOTO 505
  12. 504 X1% = X1% + INT( RND(1) *2) *14:Y1% = Y1% + INT( RND(1) *2) *10: IF X1% >266  OR Y1% >150  THEN X1% = 0:Y1% = 0: RETURN 
  13. 505 T1% = T1%(X1%/14,Y1%/10):T3% = 0:T7 = (X% -X1%) *25:T8 = (Y% -Y1%) *25:T4 = T7 *T7 +T8 *T8: ON T1% GOSUB 10,10,20100,20200,20300: IF E ^ -( SQR(T4) *(3 +T5%)/T6) < RND(1)  THEN T3% = 1: IF X1%  AND Y1%  THEN  DRAW 2 AT X1%,Y1%
  14. 508 T1% = T1%(X%/14,Y%/10):T6 = 20000: ON T1% GOSUB 10,10,20100,20200,20300:T9% = 1: IF E ^ -( SQR(T4) *(1 +T5%)/T6) > RND(1)  THEN T9% = 0: RETURN 
  15. 510  GOSUB 350: IF 500/(PI * SQR(T4)) > RND(1)  THEN 520
  16. 515  HCOLOR= 7: HPLOT X1% +7,Y1% +5 TO X%,Y%: FOR I = 1 TO 1000: NEXT I: HCOLOR= 0: HPLOT X1% +7,Y1% +5 TO X%,Y%: HCOLOR= 7: RETURN 
  17. 520  HCOLOR= 2: HPLOT X1% +7,Y1% +5 TO X% +7,Y% +5: HCOLOR= 7: POP : POP : TEXT : PRINT : PRINT CH$
  18. 523  CALL 520"PR.SQ1"
  19. 599  RETURN 
  20. 600 CT% = CT% +1: IF CT% =  INT(CT%/10) *10  THEN  GOSUB 500
  21. 610  RETURN 
  22. 800  VTAB 22: HTAB 1: INVERSE : PRINT "SECTOR " INT( RND(1) *10)"-" INT( RND(1) *10)
  23. 803  HGR : FOR I = 0 TO 19: FOR J = 0 TO 15:T1% = T1%(I,J): IF T1%  THEN  DRAW T1% AT I *14,J *10
  24. 810  NEXT J,I: RETURN 
  25. 900 T1% =  RND(1) *20:T2% =  RND(1) *16: RETURN 
  26. 950  HOME : FOR I = 1 TO 100:T1% =  RND(1) *20:T2% =  RND(1) *16:T1%(T1%,T2%) = 0: IF  INT( RND(1) *2)  THEN T1%(T1%,T2%) =  INT( RND(1) *3) +3
  27. 955  NEXT I: GOSUB 800:T3% = 0: IF   NOT ( INT( RND(1) *3))  THEN T1%(T1%,T2%) = 6
  28. 958  RETURN 
  29. 1000  GOSUB 10000: HOME :X% = 0:Y% =  INT( RND(1) *15) *10:X1% = 0:Y1% = 0:T3% = 0:ID% = ID% +15
  30. 1010  GOSUB 2001
  31. 1050  GOSUB 2003
  32. 1999  END 
  33. 2000  XDRAW 1 AT X2%,Y2%
  34. 2001  DRAW 1 AT X%,Y%:CT% = 0:T1% = T1%(X2%/14,Y2%/10): IF T1%  THEN  DRAW T1% AT X2%,Y2%
  35. 2002  IF T1%(X%/14,Y%/10) = 6  THEN  POP : GOTO 3000
  36. 2003 A% =  PEEK( -16384): IF A% <127  THEN  GOSUB 600: GOTO 2003
  37. 2005  POKE  -16368,0:A% = A% -128: GOSUB 500:X2% = X%:Y2% = Y%: IF  INT( RND(1) *7) <T1%  AND T1% <6  THEN 2003
  38. 2008  IF A% = 78  THEN 2100
  39. 2010  IF A% = 83  THEN 2200
  40. 2013  IF A% = 69  THEN 2300
  41. 2014  IF A% = 87  THEN 2400
  42. 2020  GOTO 2000
  43. 2100 Y% = Y% -10: IF Y% <0  THEN Y% = 160: GOSUB 950: GOTO 2001
  44. 2199  GOTO 2000
  45. 2200 Y% = Y% +10: IF Y% >150  THEN Y% = 0: GOSUB 950: GOTO 2001
  46. 2299  GOTO 2000
  47. 2300 X% = X% +14: IF X% >266  THEN X% = 0: GOSUB 950: GOTO 2001
  48. 2399  GOTO 2000
  49. 2400 X% = X% -14: IF X% <0  THEN X% = 266: GOSUB 950: GOTO 2001
  50. 2499  GOTO 2000
  51. 2999  END 
  52. 3000  TEXT : HOME : INVERSE : VTAB 1: FOR I = 0 TO 9: HTAB 19 -2 *I: PRINT "  ";: HTAB 20 +2 *I: PRINT "  ": NEXT I:H3% = 9:H4% = 23:L3% = 5:L4% = 35: GOSUB 395
  53. 3003  VTAB 7: HTAB 14: PRINT  SPC( 13): PRINT : HTAB 14: PRINT " TRAIN DEPOT ": NORMAL :L3% = 8:L4% = 24:H3% = 11:H4% = 16: GOSUB 395:H3% = 18:H4% = 20:L4% = 33: GOSUB 395
  54. 3005  VTAB 12: HTAB 8: PRINT "NEXT DESTINATION:": PRINT : IF VE%  THEN  HTAB 11: PRINT "THE CITY": GOTO 3010
  55. 3008  HTAB 10: PRINT "THE ISLAND"
  56. 3010  VTAB 19: HTAB 8: PRINT "WANT A TICKET?";: GET A$: IF A$ < >"Y"  THEN  POKE  -16304,0: HOME : GOTO 1050
  57. 3013  IF VE%  THEN 4000
  58. 3015  GOSUB 395: VTAB 18: HTAB 8: PRINT "NOWHERE TO RUN?": HTAB 8: PRINT "FREEDOM IS SLAVERY"
  59. 3018 ID% = ID% -25: TEXT : PRINT CH$
  60. 3020  CALL 520"PR.SQ1"
  61. 4000  TEXT : VTAB 1: HTAB 1: INVERSE : FOR I = 1 TO 24: PRINT  SPC( 40): NEXT I
  62. 4003  NORMAL : PRINT : PRINT CH$
  63. 4005  CALL 520"PR.HOME"
  64. 10000  FOR I = 0 TO 19: FOR J = 0 TO 15:T1%(I,J) = 0: NEXT J,I
  65. 10003  FOR I = 1 TO 100: GOSUB 900:T1%(T1%,T2%) = 3: NEXT I: FOR I = 1 TO 65: GOSUB 900:T1%(T1%,T2%) = 4: NEXT I: FOR I = 1 TO 20: GOSUB 900:T1%(T1%,T2%) = 5: NEXT I
  66. 10008  HOME : GOSUB 800: RETURN 
  67. 12000  VTAB 22: PRINT "HIT!": END 
  68. 20100 T5% = 2:T6 = 40000: RETURN 
  69. 20200 T5% = 3:T6 = 100000: RETURN 
  70. 20300 T5% = 5:T6 = 400000: RETURN 
  71. 32000 T1% =  PEEK(222): CALL 1002: IF T1% = 5  OR T1% = 6  OR T1% = 7  OR T1% = 13  THEN  RESUME 
  72. 32003  NORMAL : PRINT : PRINT CH$
  73. 32005  IF T1% = 255  THEN  CALL 520"PR.SAVE"
  74. 32008  CALL 520"PR.ERR"