0 'VOYAGE.BA Geoff Beneze 12/86 1 'CLUB 100 Library - 415/939-1246 BBS, 937-5039 NEWSLETTER, 932-8856 VOICE 10 CLS 20 ' THE BORDERS 30 LINE (0,0)-(239,63),1,BF:LINE (5,5)-(234,58),2,BF 40 PRINT@50,"THE VOYAGERS LOGBOOK":PRINT@94,"By Geoff Beneze - 12/86":PRINT@132,"Keeps a running log of your" 50 PRINT@172,"sailing adventures.":PRINT@213,"GEOFF'S BBS (602) 887-8848":PRINT@263,"PRESS ANY KEY" 60 ' BOAT BODY 70 LINE (10,45)-(70,55),1,BF:LINE (70,45)-(62,55),2:LINE (70,45)-(63,55),2 80 LINE (70,45)-(64,55),2:LINE (70,45)-(65,55),2:LINE (70,45)-(66,55),2: LINE (70,45)-(67,55),2 90 LINE (70,45)-(68,55),2: LINE (69,52)-(69,55),2: LINE (70,48)-(70,55),2 100 PRESET (10,55):PRESET(10,54):PRESET(11,55) 110 ' MAST 120 LINE (40,10)-(40,45),1:LINE (41,10)-(41,45),1 130 ' JIB 140 LINE (42,10)-(68,45):LINE (64,41)-(42,41) 150 ' MAIN 160 LINE (39,40)-(10,40):LINE (39,39)-(10,39):LINE (10,39)-(39,10) 170 Z$=INKEY$:IF Z$="" THEN 170 ELSE 180 180 CLS:PRINT "This program creates a text file called 'LOG.DO'. This file keeps a running log of conditions and comments you make on your sailing trips." 190 PRINT" The log will automatically include the date, day and time of the entry." 200 PRINT," PRESS ANY KEY" 210 X$=INKEY$:IF X$="" THEN 210 ELSE 220 220 CLS:X=0:Y=0:Z=0:R=0 230 FOR Q=1TO5 240 READ CT$(Q) 250 NEXT Q 260 DATA "General","Crew","Equipment","Repairs","Weather" 270 OPEN "RAM:LOG.DO" FOR APPEND AS#1 280 PRINT #1,"=======================================" 290 PRINT #1," ==>>Log Entry<<==" 300 PRINT#1," >>";DATE$;"<<" 310 PRINT#1," ** ";DAY$;" == ";TIME$;" **":PRINT#1, 320 PRINT"**************************************" 330 PRINT "Log entry for ";DATE$;"=";TIME$:PRINT 340 PRINT "Who is making this entry?":INPUT A$ 350 PRINT:PRINT#1,"Entry by: ";A$:PRINT#1, 360 CLS:FL=0:PRINT"1) Sails","2) Wind" 370 PRINT"3) Heading","4) Comments" 380 PRINT"E)xit":PRINT 390 D$=INKEY$:IF D$="" THEN 390 400 IF ASC(D$)>96 THEN D$=CHR$(ASC(D$)-32) 410 IF D$="E" THEN 1210 420 D=VAL(D$) 430 ON D GOTO 440,600,740,920:GOTO 390 440 CLS:PRINT"1) Genoa","2) Jib" 450 PRINT"3) Spinnaker","4) Reefed" 460 PRINT"E)xit":PRINT 470 IF Y=1 THEN 500 480 PRINT "Sails: ";:PRINT#1,"Sails: "; 490 Y=1 500 S$=INKEY$:IF S$="" THEN 500 510 IF ASC(S$)>96 THEN S$=CHR$(ASC(S$)-32) 520 IF S$="E" THEN GOSUB 1220:PRINT:PRINT:GOTO 360 530 S=VAL(S$) 540 ON S GOTO 550,560,570,580:GOTO 500 550 PRINT"Genoa ";:PRINT#1 ,"Genoa: ";:GOTO 500 560 PRINT "Jib ";:PRINT#1,"Jib: ";:GOTO 500 570 PRINT "Spinnaker ";:PRINT#1,"Spinnaker: ";:GOTO 500 580 PRINT "Reefed ";:PRINT#1,"Reefed: ";:GOTO 500 590 GOTO 360 600 CLS:PRINT:PRINT"1) Drifters","2) 1-5 610 PRINT"3) 6-10","4) 11 Plus" 620 PRINT "E)xit":PRINT 630 IF Z=1 THEN 650 640 PRINT "Wind: ";:PRINT#1,"Wind: "; 650 Z=1:W$=INKEY$:IF W$="" THEN 650 660 IF ASC(W$)>96 THEN W$=CHR$(ASC(W$)-32) 670 IF W$="E" THEN GOSUB 1220:PRINT:GOTO 360 680 W=VAL(W$) 690 ON W GOTO 700,710,720,730:GOTO 650 700 PRINT "Drifters: ";:PRINT#1,"Drifters: ";:PRINT:GOTO 600 710 PRINT "1-5 ";:PRINT#1,"1-5 ";:PRINT:GOTO 600 720 PRINT "6-10 ";:PRINT#1,"6-10 ";:PRINT:GOTO 600 730 PRINT "11 Plus ";:PRINT#1,"11 Plus ";:PRINT:GOTO 600 740 CLS:PRINT@1,"1) Lee: ":PRINT@21,"2) Windward: ": PRINT@41,"3) Close-Hauled ":PRINT@61,"4) Close Reach" 750 PRINT@81,"5) Beam Reach":PRINT@101,"6) Broad Reach" 760 PRINT@121,"7) Run":PRINT@141,"E)xit":PRINT 770 IF R=1 THEN 790 780 PRINT"Heading: ";:PRINT#1,"Heading: "; 790 R=1 800 H$=INKEY$:IF H$="" THEN 800 810 IF ASC(H$)>96 THEN H$=CHR$(ASC(H$)-32) 820 IF H$="E" THEN GOSUB 1220:PRINT:GOTO 360 830 H=VAL(H$) 840 ON H GOTO 850,860,870,880,890,900,910 850 PRINT"Lee: ";:PRINT#1,"Lee:";:GOTO 800 860 PRINT"Windward: ";:PRINT#1,"Windward:";:GOTO 800 870 PRINT"Close-Hauled ":PRINT#1,"Close-Hauled ";:GOTO 800 880 PRINT"Close Reach ":PRINT#1,"Close Reach ";:GOTO 800 890 PRINT"Beam Reach ":PRINT#1,"Beam Reach ";:GOTO 800 900 PRINT"Broad Reach ":PRINT#1,"Broad Reach ";:GOTO 800 910 PRINT"Run ":PRINT#1,"Run ";:GOTO 800 920 CLS:PRINT"1) General","2) Crew" 930 PRINT"3) Equipment","4) Repairs" 940 PRINT"5) Weather","E)xit" 950 X=0:PRINT 960 C$=INKEY$:IF C$=""THEN 960 970 IF ASC(C$)>96 THEN C$=CHR$(ASC(C$)-32) 980 IF C$="E" THEN PRINT #1,:PRINT:GOTO 360 990 C=VAL(C$) 1000 IF FL = 1 THEN PRINT #1, 1010 IF X=0 THEN PRINT#1,CT$(C);" Comments: ";:FL=1 1020 CN=0: PRINT CT$(C);" Comments: "; 1030 A$=INKEY$:GOSUB1190:IF A$="" THEN 1030 1040 IF LEN(J$)=0 AND A$=CHR$(8) THEN 1030 1050 PRINT A$; 1060 IF CN=126 THEN J$=J$+A$:PRINT#1,J$;:J$="":CN=0:GOTO 1030 1070 IF A$=CHR$(13) THEN PRINT#1,J$;:PRINT:GOTO 1120 1080 J$=J$+A$ 1090 CN=CN+1 1100 IF A$=CHR$(8) THEN J$=LEFT$(J$,LEN(J$)-2):CN=CN-1:PRINT" ";CHR$(8);CHR$(8); 1110 GOTO 1030 1120 X=1:J$="":CN=0 1130 PRINT "More? (Y/N)" 1140 B$= INKEY$:IF B$="" THEN 1140 1150 IF ASC(B$)>96 THEN B$=CHR$(ASC(B$)-32) 1160 IF B$="N" THEN:PRINT #1,:PRINT:GOTO 920 1170 IF B$="Y" THEN PRINT #1,: GOTO 1020 1180 GOTO 1140 1190 CX=PEEK(63040):CY=PEEK(63041):PA=CX*40+CY-41:PRINT@PA,CHR$(239);CHR$(8); 1200 RETURN 1210 PRINT#1,TIME$:GOSUB 1230:MENU 1220 PRINT#1,:PRINT#1,:RETURN 1230 CLS:PRINT"I am placing this program in the public domain for all to use. Please give proper credit. You're welcome to modify the program or make improvements." 1240 PRINT"If you have problems or suggestions, please call my BBS, 'Geoff's Board', (602) 887-8848, Tucson, AZ. HIT ANY KEY" 1250 P$=INKEY$:IF P$=""THEN 1250 ELSE 1260 1260 CLS:PRINT:PRINT"Special thanks to my partners Jim Lowell and Steven Garno who continue to teach me things about my toys." 1270 PRINT:PRINT" HIT ANY KEY" 1280 P$=INKEY$:IF P$="" THEN 1280 ELSE 1290 1290 RETURN