home *** CD-ROM | disk | FTP | other *** search
/ CP/M / CPM_CDROM.iso / simtel / cpmug / cpmug054.ark / FISHING.BAS < prev    next >
Encoding:
BASIC Source File  |  1984-04-29  |  2.6 KB  |  77 lines

  1. 5 !    SET PROBABILITIES AND DENSITY
  2. 10 DIM P(8,8),D(8,8)
  3. 11 PRINT "YOU ARE AT A DOCK AT THE NORTH WEST CORNER OF A SQUARE"
  4. 12 PRINT "8X8 UNIT LAKE.  YOU ARE TO MOVE YOUR BOAT, ONE UNIT AT"
  5. 13 PRINT "A TIME, THROUGH THE LAKE AND RETURN TO THE DOCK WITH"
  6. 14 PRINT "YOUR CATCH BY RESPONDING TO THE 'MOVE' QUESTION WITH A"
  7. 15 PRINT "COMPASS DIRECTION - N,S,E,W - OR F IF YOU WISH TO STAY"
  8. 16 PRINT "IN A FIXED POSITION.  A RESPONSE OF B WILL RE-START"
  9. 17 PRINT "THE GAME FROM THE BEGINNING.  IF YOU HIT THE SHORE,"
  10. 18 PRINT "YOU WILL BE GROUNDED AND SINK.  IF NOT BACK TO DOCK IN"
  11. 19 PRINT "6 HR, HALF YOUR CATCH WILL SPOIL.  OTHER HAZZARDS TOO."
  12. 20 FOR I=1 TO 8:FOR J=1 TO 8
  13. 30 P(I,J)=.7*RND(1)
  14. 40 D(I,J)=INT(RND(1)*5+1)
  15. 50 NEXT J:NEXT I
  16. 60 P(1,1)=0:P=0:R=1:C=1
  17. 145 !      MAIN LOOP
  18. 150 FOR T=0 TO 6 STEP .1
  19. 160 IF RND(1)>P(R,C) OR D(R,C)<1 THEN PRINT "NO BITES":GOTO 220
  20. 170 N=INT(RND(1)*D(R,C)+1)
  21. 180 W=INT(RND(1)*R*C)+1
  22. 190 P=P+N*W
  23. 200 PRINT "YOU CAUGHT" N " FISH, EACH WEIGHING" W " POUNDS,"
  24. 220 PRINT "AT LOCATION" R "," C
  25. 230 PRINT "TOTAL POUNDS THIS TRIP --" P "."
  26. 325 !    UNEXPECTED EXPERIENCES
  27. 330 IF RND(1)<T/60 THEN PRINT "STORM -- LOST 1/2 HOUR":T=T+.5
  28. 340 J=INT(100*RND(1))+1
  29. 350 IF J>4 THEN 370
  30. 360 ON J GOSUB 600,700,800,900
  31. 370 PRINT "YOU HAVE FISHED FOR" T "HOURS."
  32. 380 INPUT "MOVE (N,S,E,W,F,B)";M$
  33. 390 IF M$="E" THEN C=C+1
  34. 400 IF M$="N" THEN R=R-1
  35. 410 IF M$="W" THEN C=C-1
  36. 420 IF M$="S" THEN R=R+1
  37. 430 IF M$="B" THEN RUN
  38. 440 IF R<1 OR R>8 OR C<1 OR C>8 THEN PRINT "GROUNDED -- SUNK!":GOTO 550
  39. 450 IF R=1 AND C=1 THEN GOTO 510
  40. 460 NEXT T
  41. 470 PRINT "TIME UP. THE SUN HAS SET."
  42. 480 PRINT "HALF OF YOU CATCH HAS SPOILED"
  43. 490 P=P/2
  44. 495 !    SUMMARY OF TRIP
  45. 500 IF T=0 THEN PRINT "STILL AT DOCK":GOTO 20
  46. 510 PRINT "YOU ARE BACK AT DOCK"
  47. 520 PRINT "AFTER" T "HOURS  OF FISHING."
  48. 530 PRINT "CLEAN" P " POUNDS OF FISH."
  49. 540 PRINT "YOU RATE" INT(P/5) " AS A FISHERMAN."
  50. 550 INPUT "ANOTHER FISHING FISHING TRIP (Y,N)";X$
  51. 560 IF X$="Y" THEN RUN
  52. 570 END
  53. 595 !    SUBROUTINES
  54. 600 IF R+C<9 THEN RETURN
  55. 610 PRINT "FISH SCARED BY SHARK."
  56. 620 PRINT "NOT BITING AS OFTEN."
  57. 630 FOR I=1 TO 8:FOR J=1 TO 8
  58. 640 P(I,J)=P(I,J)-.1
  59. 650 NEXT J:NEXT I
  60. 660 RETURN
  61. 700 PRINT "SEAGULLS ATE SOME OF YOUR BAIT."
  62. 710 PRINT "CATCH WILL BE SMALLER THIS TRIP."
  63. 720 FOR I=1 TO 8:FOR J=1 TO 8
  64. 730 D(I,J)=D(I,J)-1
  65. 740 NEXT J:NEXT I
  66. 750 RETURN
  67. 800 PRINT "WATER SPOUT DISPLACES YOU"
  68. 810 R=INT(8*RND(1)+1)
  69. 820 C=INT(8*RND(1)+1)
  70. 830 PRINT "YOU ARE NOW AT LOCATION" R","C
  71. 840 T=T+.2
  72. 850 RETURN
  73. 900 PRINT "YOU CAUGHT A 50 POUND SHARK."
  74. 910 P=P+50
  75. 920 PRINT "TOTAL POUNDS THIS TRIP IS" P "."
  76. 930 RETURN
  77.