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