home *** CD-ROM | disk | FTP | other *** search
/ Softdisk G-S 156 / SGDS 156.2mg / SDGS.156 / A / COBY.PRG (.txt) < prev    next >
Encoding:
Applesoft BASIC Source Code  |  1994-08-27  |  3.3 KB  |  89 lines  |  [FC] Applesoft BASIC Program (0x6001)

  1. 0 L$ =  CHR$(12):T$ =  CHR$(20): DIM BL(14,14)
  2. 1  PRINT  CHR$(21): SPEED= 255:D$ =  CHR$(4): PRINT D$;"-windowbox.ml"
  3. 2  VTAB 10: HTAB 10: PRINT "Loading...  "
  4. 3  POKE 2060,0: POKE 2061,30: REM        MEM BOUNDARY 7680
  5. 5  POKE 48688, PEEK(0): POKE 48689, PEEK(1):BOX = 2051:OBOX = 2054:CBOX = 2057
  6. 6 L = 1:LV = 3
  7. 10  PRINT D$;"bload cobalt,a5632"
  8. 20 DR = 5632:A = 6144
  9. 25  PRINT L$: GOTO 200
  10. 29  REM ...draw a shape
  11. 30  POKE 2,X *2: POKE 3,Y *12
  12. 32  IF SH = 16  THEN  POKE 3,Y *12 +2
  13. 33 Z = SH *26 +A: POKE 0,Z - INT(Z/256) *256: POKE 1,Z/256: CALL DR
  14. 34  RETURN 
  15. 35  PRINT T$: HTAB 35: POKE 32,30: POKE 33,10: PRINT L$: HOME 
  16. 40  PRINT "  Coby's": PRINT " Dreamcap": PRINT : PRINT "   by": PRINT "      Paul  Connelly"
  17. 45  VTAB 12: PRINT "    A": PRINT "    |": PRINT "  <-+->": PRINT "    |": PRINT "    Z"
  18. 46  PRINT : PRINT "Escape for Options": PRINT : PRINT "? for Help"
  19. 47  PRINT T$
  20. 50  VTAB 8: HTAB 32: PRINT "Level: ";L: HTAB 32: PRINT "Lives: ";LV: HTAB 32: PRINT "Fruit: ";FR: RETURN 
  21. 100  CALL OBOX,7,9,15,3: PRINT "Loading Level"
  22. 105  PRINT D$;"open coby.levels,l600": PRINT D$;"read coby.levels,r";L
  23. 110  FOR I = 0 TO 14: FOR J = 0 TO 14: INPUT BL(J,I): NEXT : NEXT 
  24. 113  CALL CBOX: PRINT L$
  25. 115 X = 0:Y = 0: FOR I = 0 TO 14: FOR J = 0 TO 14:SH = BL(J,I): GOSUB 30:X = X +1: NEXT :X = 0:Y = Y +1: NEXT 
  26. 120  INPUT SX: INPUT SY: INPUT NF: PRINT D$;"close": RETURN 
  27. 200  GOSUB 100: GOSUB 35
  28. 210 SH = 16:X = SX:Y = SY: GOSUB 30: GET A$
  29. 215  IF A$ =  CHR$(21)  THEN 300
  30. 220  IF A$ =  CHR$(8)  THEN 325
  31. 225  IF A$ = "A"  OR A$ = "a"  OR A$ =  CHR$(11)  OR A$ = "8"  THEN 350
  32. 230  IF A$ = "Z"  OR A$ = "z"  OR A$ =  CHR$(10)  OR A$ = "2"  THEN 375
  33. 235  IF A$ =  CHR$(27)  THEN 600
  34. 240  IF A$ = "?"  OR A$ = "/"  THEN 700
  35. 243  IF  VAL(A$) = 0  THEN 210
  36. 245  IF A$ = "6"  THEN 300
  37. 250  IF A$ = "4"  THEN 325
  38. 255  IF A$ = "2"  THEN 350
  39. 260  IF A$ = "8"  THEN 375
  40. 265  GOTO 210
  41. 300  IF SX = 14  THEN 210
  42. 305 BL = BL(SX +1,SY): IF BL >6  AND BL < >13  AND BL < >12  THEN 210
  43. 310 SH = BL(SX,SY):X = SX:Y = SY: GOSUB 30:SX = SX +1: GOTO 400
  44. 325  IF SX = 0  THEN 210
  45. 330 BL = BL(SX -1,SY): IF BL >6  AND BL < >13  AND BL < >12  THEN 210
  46. 335 SH = BL(SX,SY):X = SX:Y = SY: GOSUB 30:SX = SX -1: GOTO 400
  47. 350  IF SY = 0  THEN 210
  48. 355 BL = BL(SX,SY): IF BL < >12  THEN 210
  49. 360 SH = BL:X = SX:Y = SY: GOSUB 30:SY = SY -1: GOTO 400
  50. 375  IF SY = 14  THEN  RETURN 
  51. 380 BL = BL(SX,SY +1): IF BL < >12  THEN 210
  52. 385 SH = BL(SX,SY):X = SX:Y = SY: GOSUB 30:SY = SY +1: GOTO 400
  53. 400 BL = BL(SX,SY): IF BL >0  AND BL <6  THEN SH = 0:X = SX:Y = SY: GOSUB 30:BL(SX,SY) = 0: IF BL = 4  THEN 800
  54. 405  IF BL = 5  THEN 875
  55. 410  IF BL <4  AND BL >0  THEN FR = FR +1: GOSUB 50: IF FR = NF  THEN 850
  56. 415 SH = 16:X = SX:Y = SY: GOSUB 30
  57. 420  IF SY = 14  THEN 800
  58. 425 BL = BL(SX,SY +1): IF BL = 7  THEN 800
  59. 430  IF BL <6  OR BL = 13  OR BL = 15  THEN 500
  60. 435  GOTO 210
  61. 500 SH = BL(SX,SY):X = SX:Y = SY: GOSUB 30:SY = SY +1: GOTO 400
  62. 600  CALL OBOX,7,7,16,6: PRINT "S>tart Over": PRINT "R>estart LevelC>ontinue": PRINT "Q>uit Game": GET A$
  63. 605  IF A$ = "S"  OR A$ = "s"  THEN  CALL CBOX:L = 1:FR = 0:LV = 3: GOTO 200
  64. 610  IF A$ = "R"  OR A$ = "r"  THEN LV = LV -1: IF LV = 0  THEN  CALL CBOX: GOTO 825
  65. 615  IF A$ = "R"  OR A$ = "r"  THEN FR = 0: CALL CBOX: GOTO 200
  66. 620  IF A$ = "C"  OR A$ = "c"  OR A$ =  CHR$(27)  THEN  CALL CBOX: GOTO 210
  67. 625  IF A$ = "Q"  OR A$ = "q"  THEN  CALL CBOX: CALL OBOX,3,9,23,4: PRINT "You can't be serious! REALLY Quit (Y/N)?": GET A$: IF A$ = "n"  OR A$ = "N"  THEN  CALL CBOX: GOTO 210
  68. 630  IF A$ = "Y"  OR A$ = "y"  THEN  CALL CBOX: PRINT D$;"bye"
  69. 635  CALL CBOX:A$ = "Q": GOTO 625
  70. 700  CALL OBOX,3,5,24,10
  71. 703  PRINT "You must help Coby": PRINT "find his lost DreamcapMove him with the leftand right arrows. Use"
  72. 705  PRINT "`A' and `Z' to climb."
  73. 708  PRINT "Escape will bring up": PRINT "the Options Menu.": PRINT "     Press a Key": GET A$
  74. 710  CALL CBOX: CALL OBOX,3,4,24,12: PRINT "Coby must gobble all": PRINT "the fruit on a level"
  75. 713  PRINT "before he advances.": PRINT "Watch for Sinkholes": PRINT "which give out beneath";
  76. 715  PRINT "Coby's weight, and": PRINT "Flaz juice, which willpoison him."
  77. 718  PRINT : PRINT "     Press a Key": GET A$
  78. 720  CALL CBOX: CALL OBOX,3,6,24,9: PRINT "Plan you path care-": PRINT "fully, or you will getstuck. If you can't goanywhere, use Restart"
  79. 723  PRINT "the Level from the": PRINT "Options Menu.": PRINT "     Press a Key": GET A$: CALL CBOX: GOTO 210
  80. 750  DATA  3,5,24,10
  81. 800  CALL OBOX,10,9,9,3: PRINT "Whoops!": FOR I = 1 TO 750: NEXT :LV = LV -1: IF LV = 0  THEN 825
  82. 805  CALL CBOX:FR = 0: GOTO 200
  83. 825  CALL CBOX: CALL OBOX,9,9,11,3: PRINT "You Lost!": FOR I = 1 TO 750: NEXT 
  84. 830  CALL CBOX:FR = 0:LV = 3:L = 1: CALL OBOX,9,10,11,3: PRINT "Game Over": GET A$: GOTO 200
  85. 850 L = L +1:FR = 0: GOTO 200
  86. 875  FOR X = 4 TO 0  STEP  -1:SH = 5:Y = 0: GOSUB 30: FOR I = 1 TO 175: NEXT :SH = 0: GOSUB 30: NEXT 
  87. 880  CALL OBOX,3,4,24,12: PRINT "Good Work! You found": PRINT "the Dreamcap! Coby"
  88. 883  PRINT "thanks you... but his": PRINT "mission is not yet": PRINT "complete! Be ready": PRINT "to help him again nextmonth!": PRINT 
  89. 885  PRINT "     Press a Key": GET A$: PRINT D$;"bye"