home *** CD-ROM | disk | FTP | other *** search
- 20 K = 1000 : REM number of stations in contest
- 30 PRINT "ARRL SWEEPSTAKES CONTEST SIMULATION VERSION 2.13"
- 40 Q4 = 18 : K7 = 74 : K6 = 66 : P1 = .1 : P5 = .5 : Z0 = 0 : Z1 = 1 : Z2 = 2 : Z3 = 3 : Q = (RND(Z1) * Z2)
- 50 N1 = Z1 : Z2 = 2 : Z3 = 3 : Z4 = 4 : Z5 = 5 : Z6 = 6 : Z7 = 7 : Z8 = 8 : Z9 = 9 : B1 = 100 : B2 = 200 : B3 = 300 : T3 = 12
- 60 DIM L(Z7),L$(Z5),C$(K),C(K),S(K7),S$(K7),P(85),P$(Z4),Z$(Q4),B$(Z4)
- 70 Z$(13) = "DUPLICATE" : B$(Z0) = "10" : B$(Z1) = "15" : B$(Z2) = "20" : B$(Z3) = "40"
- 80 P$(Z0) = "W" : P$(Z1) = "K" : P$(Z2) = "WA" : Q$ = "QWERTYUIOPASDFGHJKLZXCVBNM"
- 90 B$(Z4) = "80" : Z$(Z0) = "CALL" : Z$(Z1) = "LOG" : Z$(Z2) = "BAND " : Z$(Z3) = "CHECK" : X$ = ""
- 100 P$(Z3) = "WB" : Z$(Z4) = "STATUS" : Z$(Z5) = "BREAK" : Z$(Z6) = "QSL" : E$ = " DE "
- 110 B4 = 400 : B5 = 500 : T4 = 16 : T5 = 20 : T6 = 24 : T7 = 60 : Z$(Z8) = "REPEAT" : Z$(Z9) = "QRT"
- 120 DIM M$(Z5) : M$(Z0) = "NUMBER" : M$(Z1) = "POWER" : M$(Z4) = Z$(Z3) : M$(Z5) = "SECTION"
- 130 M$(Z2) = Z$(Z0) : A$ = "G3ZCZ/W3" : H = 21 : D = 19 : R$ = " !# * " : D$ = "NOVEMBER" : N = 1968
- 140 K$ = "CK" : Z$(7) = "SEND" : Z$(10) = "TUNE" : Z$(11) = "DATA " : Z$(T3) = "TIME" : M$(3) = Z$(3)
- 150 P$(Z4) = "N" : PRINT "COPYRIGHT (C) JOE KASSER [G3ZCZ] 1979 "
- 160 FOR I = Z0 TO 85 : READ P(I) : NEXT
- 170 DATA .3,.58,.66,.76,.84,.88,1,.17,.34,.53,.78,1,.04,.41,.85,1,.04
- 180 DATA .14,.22,.32,.41,.44,.51,.59,.97,1,.11,.16,.25,.31,.62,.7,.99,1
- 190 DATA .11,.26,.33,.38,.69,.76,.83,.93,.97,1,.17,.23,.28,.34,.48,.52
- 200 DATA .95,.98,1,.61,.95,1,.48,.79,1,.16,.29,.4,.63,.82,.89,.92,1
- 210 DATA .11,.25,.52,.67,.72,.84,.98,1,.08,.21,.31,.42,.48,.58,.65,.79
- 220 DATA .89,.97,1
- 230 Z$(14) = M$(Z5) : Z$(15) = "HELP" : Z$(T4) = "CQ" : Z$(17) = "WORKED" : Z$(18) = "DEBUG"
- 240 S$(Z0) = "CT" : S$(Z1) = "EMASS" : S$(Z2) = "ME" : S$(Z3) = "NH" : S$(Z4) = "RI"
- 250 S$(Z5) = "VT" : S$(Z6) = "WMASS" : S$(Z7) = "ENY" : S$(Z8) = "NY - LI" : S$(Z9) = "NNJ"
- 260 S$(10) = "SNJ" : S$(11) = "WNY" : S$(12) = "DE" : S$(13) = "E.PA" : S$(14) = "M.DC"
- 270 S$(15) = "W.PA" : S$(16) = "ALA" : S$(17) = "GA" : S$(18) = "KY" : S$(19) = "NC"
- 280 S$(20) = "NFLA" : S$(21) = "SC" : S$(22) = "SFLA" : S$(23) = "TN" : S$(24) = "VA"
- 290 S$(25) = "WI" : S$(26) = "AK" : S$(27) = "LA" : S$(28) = "MISS" : S$(29) = "NM"
- 300 S$(30) = "N.TEX" : S$(31) = "OK" : S$(32) = "S.TEX" : S$(33) = "CZ" : S$(34) = "E BAY"
- 310 S$(35) = "LA" : S$(36) = "ORG" : S$(37) = "SB" : S$(38) = "SCV" : S$(39) = "SD" : S$(40) = "SF"
- 320 S$(41) = "SJV" : S$(42) = "SV" : S$(43) = "PCF" : S$(44) = "AZ" : S$(45) = "ID" : S$(46) = "MT"
- 330 S$(47) = "NV" : S$(48) = "OR" : S$(49) = "UT" : S$(50) = "WA" : S$(51) = "AL" : S$(52) = "WY"
- 340 S$(53) = "MI" : S$(54) = "OH" : S$(55) = "W VA" : S$(56) = "IL" : S$(57) = "IN" : S$(58) = "WSC"
- 350 S$(59) = "CO" : S$(60) = "IA" : S$(61) = "KS" : S$(62) = "MN" : S$(63) = "MO" : S$(64) = "NB"
- 360 S$(65) = "ND" : S$(66) = "SD" : S$(67) = "MAR" : S$(68) = "QB" : S$(69) = "ONT" : S$(70) = "MAN"
- 370 S$(71) = "SK" : S$(72) = "AB" : S$(73) = "BC" : S$(74) = "NWT"
- 380 INPUT "ARE YOU A HAM RADIO OPERATOR" ; I$ : IF LEFT$(I$,Z1) <> "Y" THEN 420
- 390 INPUT "YOUR CALL" ; A$ : IF RIGHT$(A$,Z2) <> "/3" THEN A$ = A$ + "/3"
- 400 INPUT "YEAR FIRST LICENSED " ; N
- 410 IF N < 1900 THEN PRINT "YOU MUST HAVE BEEN LICENSED BEFORE 1900" : GOTO 400
- 420 F$ = STR$(N - 1900) : PRINT : PRINT "OK","THE STATION CALL IS",A$
- 430 PRINT ,"THE QTH IS SILVER SPRING, MARYLAND " : PRINT
- 440 INPUT "DO YOU NEED INSTRUCTIONS " ; I$ : IF LEFT$(I$,Z1) = "Y" THEN GOSUB 3300
- 450 PRINT : PRINT "SETTING UP CALLS OF CONTESTANTS"
- 460 PRINT "THIS IS GOING TO TAKE ABOUT" ; INT(K / (T7 * Z2)) + Z1 ; " MINUTES"
- 470 PRINT "WHY DON'T YOU GET A CUP OF COFFEE OR SOMETHING"
- 480 FOR I = Z0 TO K - Z1 : X = RND(Z1) : FOR J = 75 TO 86 : IF X > P(J) THEN NEXT J
- 490 X = RND(Z1) : N = J - K7 : ON J - 75 GOTO 510,520,530,540,550,560,570,580,590,600
- 500 Y = Z0 : Z = Z6 : GOTO 610
- 510 Y = Z7 : Z = 11 : GOTO 610
- 520 Y = T3 : Z = 15 : GOTO 610
- 530 Y = 16 : Z = 25 : GOTO 610
- 540 Y = 26 : Z = 33 : GOTO 610
- 550 Y = 34 : Z = 43 : GOTO 610
- 560 Y = 44 : Z = 52 : GOTO 610
- 570 Y = 53 : Z = 55 : GOTO 610
- 580 Y = 56 : Z = 58 : GOTO 610
- 590 Y = 59 : Z = K6 : GOTO 610
- 600 Y = 67 : Z = K7
- 610 FOR T = Y TO Z : IF X > P(T) THEN NEXT T
- 620 Y = INT(RND(Z1) * Z5) : J$ = P$(Y) : C(I) = T : IF T > K6 THEN J$ = "VE" : N = T - K6
- 630 IF T = 51 THEN J$ = "KL" : GOTO 670
- 640 IF T = 33 THEN J$ = "KZ" : GOTO 670
- 650 IF T = 43 THEN J$ = "KH" : IF RND(Z1) < P1 THEN J$ = "KG" : IF RND(Z1) > P5 THEN J$ = "KM"
- 660 IF T = 25 THEN J$ = "KP" : IF RND(Z1) > P5 THEN J$ = "KV" : IF RND(Z1) > P5 THEN J$ = "KC"
- 670 C$(I) = J$ + RIGHT$(STR$(N),Z1) : GOSUB 2920 : GOSUB 2920 : GOSUB 2920
- 680 PRINT K - I : NEXT I : N = Z1 : PRINT "IT IS 2100 HRS ON" ; D ; " " + D$
- 690 PRINT "THE CONTEST HAS STARTED" + X$ : GOTO 1050
- 700 PRINT : IF N >= K THEN 2010
- 710 IF Q1 = Z0 AND RND(Z1) < P1 THEN 2930
- 720 IF H1 > T6 OR D >= 21 AND H > T5 THEN PRINT "CONTEST IS OVER" : GOTO 1480
- 730 INPUT "QRU" ; I$ : IF LEN(I$) < Z2 THEN PRINT "WHAT" + X$ : GOTO 730
- 740 FOR I = Z0 TO Q4 : IF I$ = LEFT$(Z$(I),LEN(I$)) THEN 760
- 750 NEXT : FOR I = Z0 TO Q4 - Z1 : PRINT Z$(I), : NEXT : PRINT : GOTO 730
- 760 IF I > Z8 THEN ON I - Z8 GOTO 1480,1490,1420,1170,1980,3270,1340,930,1750,1730
- 770 ON I GOTO 840,1040,1090,1140,1240,1300,1350,1450
- 780 Q6 = Z0 : ON Q1 GOTO 800,1670,1700,1620
- 790 PRINT "CALL WHOM ?" + X$ : PRINT "TRY TUNING OR PUT OUT A CQ" : GOTO 700
- 800 IF L(Z7) = Z0 AND RND(Z1) > P5 THEN 1030
- 810 PRINT "TRY SEND OR REPEAT, DON'T WASTE TIME" ; X$ : GOTO 700
- 820 IF L(Z6) = Z0 AND RND(Z1) < P1 THEN PRINT "REPEAT PLEASE" : GOTO 700
- 830 Q1 = Z0 : GOTO 700
- 840 IF C(P) > K7 THEN PRINT "IN THE LOG ALREADY" : GOTO 700
- 850 IF Q5 = Z0 THEN PRINT X$ + "WHY DON'T YOU SEND HIM HIS REPORT FIRST" : GOTO 730
- 860 FOR I = Z0 TO Z7 : IF L(I) = Z0 THEN I = Z1 : GOSUB 1580 : GOTO 700
- 870 Q7 = Z0 : NEXT : Y = C(P) : N = N + Z1
- 880 IF Y > K7 THEN Y = Y - B : GOTO 880
- 890 S(Y) = Z1 : C(P) = C(P) + B : GOSUB 920 : Q1 = Z0 : PRINT "NEXT QSO = " ; N
- 900 IF Q6 = Z1 AND RND(Z1) > P5 OR RND(Z1) < P1 THEN 930
- 910 GOTO 700
- 920 Q5 = Z0 : FOR I = Z0 TO Z7 : L(I) = Z0 : NEXT : RETURN
- 930 Q6 = Z1 : Y = T6 : GOSUB 1770 : IF Y = Z0 THEN 700
- 940 IF RND(Z1) < P1 THEN PRINT "FREQUENCY IS IN USE OM" : GOTO 700
- 950 IF RND(Z1) < P1 OR B = B4 AND H >= T5 AND RND(Z1) > P5 THEN PRINT "QRM" : GOTO 700
- 960 IF Q7 = Z0 THEN GOSUB 1970
- 970 IF Q7 = Z1 AND Q1 = Z1 THEN N1 = N1 + Z1
- 980 GOSUB 1900 : Q1 = Z1 : PRINT A$ ; E$ ; C$(P) : L(Z2) = Z1
- 990 IF C(P) > K7 AND Q6 = Z1 AND RND(Z1) < Z2 * P1 THEN 700
- 1000 IF C(P) > K7 AND Q6 = Z1 THEN 1020
- 1010 IF C(P) > K7 AND RND(Z1) > P5 THEN PRINT "WE'VE WORKED OM !" : GOTO 700
- 1020 IF RND(Z1) > P5 THEN PRINT : GOTO 700
- 1030 J$ = A$ : GOSUB 1860 : PRINT : GOTO 700
- 1040 PRINT Z$(Z2) ; " = " ; B$(INT(B - Z1) / B1)
- 1050 INPUT "WHICH BAND " ; I$ : FOR I = Z0 TO Z4 : IF I$ = B$(I) THEN 1070
- 1060 NEXT : FOR I = Z0 TO Z4 : PRINT B$(I), : NEXT : PRINT : GOTO 1050
- 1070 IF B = (Z1 + I) * B1 THEN 700
- 1080 B = (Z1 + I) * B1 : GOSUB 920 : GOTO 700
- 1090 IF L(Z2) = Z0 AND L(Z5) = Z0 THEN PRINT "CHECK WHAT" : GOTO 700
- 1100 IF C(P) >= B1 THEN PRINT C$(P) ; " WORKED ON " ; B$(INT(C(P) / B1) - Z1) : GOTO 700
- 1110 Y = C(P) : IF Y >= B1 THEN Y = Y - B1 : GOTO 1110
- 1120 IF L(Z5) = Z1 THEN PRINT "SECTION " ; : IF S(Y) = Z1 THEN PRINT "WORKED" : GOTO 700
- 1130 PRINT "NOT WORKED YET" : GOTO 700
- 1140 GOSUB 1150 : GOTO 700
- 1150 PRINT Z$(Z4) ; : PRINT TAB(T6) ; D ; D$ : PRINT Z$(Z2) ; : PRINT TAB(T6) ;
- 1160 PRINT B$(INT(B/B1-Z1))
- 1170 PRINT "GMT. TIME" ; : PRINT TAB(T6) ; : PRINT H ; " HRS",M ; " MIN"
- 1180 PRINT "ELAPSED TIME" ; : PRINT TAB(T6) ; H1 ; " HRS",M1 ; " MIN" : IF I = T3 THEN 700
- 1190 PRINT "QSO'S" ; : PRINT TAB(T6) ; N - Z1 : PRINT M$(Z5) + "S WORKED" ;
- 1200 PRINT TAB(T6) ; : Y = Z0 : FOR J = Z0 TO K7 : IF S(J) = Z1 THEN Y = Y + Z1
- 1210 NEXT : PRINT Y : PRINT "SCORE" ; : PRINT TAB(T6) ; Z2 * (N - Z1) * Y : PRINT "RATE" ;
- 1220 IF H1 = Z0 AND M1 = Z0 THEN PRINT TAB(T6) ; " - - - " : RETURN
- 1230 PRINT TAB(T6) ; (N - Z1) * T7 / (H1 * T7 + M1) ; "QSO'S PER HOUR" : RETURN
- 1240 INPUT "HRS" ; X : INPUT "MIN" ; Y : IF X = Z0 AND Y < 15 THEN GOSUB 1580 : GOTO 1240
- 1250 IF X >= T6 OR Y >= T7 THEN GOSUB 1290 : IF LEFT$(I$,Z1) <> "Y" THEN 1240
- 1260 M = M + Y : IF M >= T7 THEN M = M - T7 : H = H + Z1
- 1270 H = H + X : IF H >= T6 THEN H = H - T6 : D = D + 1
- 1280 GOSUB 1150 : GOSUB 920 : Q1 = Z0 : GOTO 700
- 1290 INPUT "ARE YOU SURE YOU MEANT THAT" ; I$ : RETURN
- 1300 IF L(Z7) = Z1 THEN PRINT "73, SEE YOU LATER" : GOTO 700
- 1310 IF RND(Z1) > P1 THEN L(Z7) = Z1 : PRINT "ROGER" : GOTO 700
- 1320 IF RND(Z1) >= P1 THEN PRINT "DO YOU QSL ?"
- 1330 GOTO 700
- 1340 GOSUB 3300 : GOTO 700
- 1350 IF L(Z2) = Z0 OR Q1 = Z0 THEN PRINT X$ + "TO WHOM" : GOTO 700
- 1360 IF Q1 <> Z1 THEN PRINT "TUT TUT - CALL HIM FIRST" ; X$ : GOTO 700
- 1370 PRINT L$(Z2) ; " UR" ; N ; : PRINT "A" ; E$ ; A$ ; : PRINT " " ; K$ ; " " ; F$ ; " MD K"
- 1380 IF RND(Z1) < P1 THEN PRINT A$ ; " PLEASE REPEAT" ; E$ ; C$(P) : GOTO 700
- 1390 Q5 = Z1 : L(Z6) = Z1 : IF L(Z7) = Z1 THEN PRINT "QSL" : GOTO 700
- 1400 IF RND(Z1) > P5 THEN J$ = A$ : GOSUB 1860 : PRINT "DO YOU QSL ?"
- 1410 GOTO 700
- 1420 FOR I = Z0 TO Z5 : IF L(I) = Z1 THEN NEXT : PRINT " GOT IT ALL" : GOTO 700
- 1430 PRINT "STILL NEED", : FOR J = I TO Z5 : IF L(J) = Z0 THEN PRINT " " ; M$(J) ;
- 1440 NEXT : PRINT : GOTO 700
- 1450 IF Q1 <> Z1 THEN PRINT "CALL HIM FIRST" + X$ : GOTO 700
- 1460 IF RND(Z1) > P1 THEN J$ = A$ : GOSUB 1860 : GOTO 700
- 1470 PRINT "SORRY OM, QRM ... TRY AGAIN" : GOTO 700
- 1480 PRINT "FINAL " ; : GOSUB 1150 : GOTO 3500
- 1490 IF B < 400 AND H > T4 AND RND(Z1) < P1 THEN GOSUB 3110 : GOTO 700
- 1500 IF RND(Z1) >= P5 + P1 AND B = B4 AND (H >= T5 OR H < Z6) THEN GOSUB 3170 : GOTO 700
- 1510 GOSUB 920 : Q1 = Z0 : Y = T7 : GOSUB 1770 : IF Y = Z0 THEN 700
- 1520 L(Z2) = Z1 : Q1 = INT(RND(Z1) * Z3) + Z2 : ON Q1 GOTO 1530,1540,1550
- 1530 PRINT "QRZ" ; E$ ; C$(P) : GOTO 700
- 1540 FOR T = 0 TO INT(RND(1) * 3) : PRINT "CQ CQ CQ" ; E$ ; C$(P) ; " " ; : NEXT : PRINT "K" : GOTO 700
- 1550 GOSUB 1810 : PRINT C$(K) ; E$ ; C$(P) : IF RND(Z1) > P5 THEN 700
- 1560 Q7 = Z1 : GOSUB 1970
- 1570 GOSUB 1900 : J$ = C$(K) : GOSUB 1860 : GOTO 700
- 1580 PRINT "THAT'S AGAINST THE RULES" : PRINT X$
- 1590 IF I = Z1 THEN PRINT "QSO NOT COMPLETED"
- 1600 IF I = Z5 THEN PRINT "15 MINUTE MINIMUM"
- 1610 RETURN
- 1620 IF RND(Z1) > P5 THEN 1850
- 1630 IF Q7 = Z1 AND RND(Z1) > P5 THEN 970
- 1640 IF RND(Z1) > P5 THEN Q1 = Z2 : GOTO 1530
- 1650 IF RND(Z1) < P5 THEN PRINT "PLEASE, I'M IN QSO" : GOTO 700
- 1660 PRINT C$(K) ; E$ ; C$(P) ; " SORRY QRM, REPEAT" : GOTO 700
- 1670 IF RND(Z1) > P5 THEN 1530
- 1680 IF RND(Z1) < P1 THEN Q1 = Z3 : GOTO 1540
- 1690 Q1 = Z1 : GOTO 960
- 1700 IF RND(Z1) > P5 THEN 1540
- 1710 IF RND(Z1) > P5 THEN Q1 = Z2 : GOTO 1530
- 1720 Q1 = Z1 : GOTO 960
- 1730 FOR J = Z0 TO K - Z1 : PRINT C$(J) ; : IF C(J) > K7 THEN PRINT " * " ;
- 1740 PRINT , : NEXT : GOTO 700
- 1750 FOR J = Z0 TO K - Z1 : IF C(J) > K7 THEN PRINT C$(J),
- 1760 NEXT : GOTO 700
- 1770 Y = RND(Z1) * Y + Z4 : FOR T = Z0 TO Z2 : GOSUB 2860 : GOSUB 2820 : GOSUB 2030
- 1780 IF Y = Z0 OR RND(Z1) < P1 THEN NEXT : Y = Z0
- 1790 IF Y = Z1 THEN GOSUB 1900
- 1800 RETURN
- 1810 I = K : T = INT(RND(Z1) * Z3 + Z2) : J$ = P$(INT(RND(Z1) * Z3))
- 1820 C$(I) = J$ + RIGHT$(STR$(T),Z1) : GOSUB 2920 : GOSUB 2920 : GOSUB 2920
- 1830 IF C$(I) = A$ THEN 1810
- 1840 RETURN
- 1850 GOSUB 1810 : J$ = C$(K) : GOSUB 1860 : N1 = N1 + Z1 : Q7 = Z1 : GOTO 700
- 1860 L$(Z0) = STR$(N1) : L(Z7) = Z1 : PRINT J$ ; " UR" ; :
- 1870 FOR J = Z0 TO Z5 : IF L(J) = Z1 OR RND(Z1) >= P1 THEN L(J) = Z1 : PRINT " " ; L$(J) ; : GOTO 1890
- 1880 PRINT R$ ;
- 1890 NEXT : PRINT : RETURN
- 1900 FOR J = Z1 TO 26 : IF RIGHT$(C$(P),Z1) <> MID$(Q$,J,Z1) THEN NEXT
- 1910 L$(Z1) = "A" : IF J >= T3 THEN L$(Z1) = "B"
- 1920 Y = Z0 : FOR J = Z1 TO Z3 : Y = Y + ASC(MID$(RIGHT$(C$(P),Z3),J,Z1)) : NEXT
- 1930 L$(Z4) = STR$(INT(Y / Z2 - 57)) : L$(Z0) = STR$(N1)
- 1940 L$(Z2) = C$(P) : L$(Z3) = K$ : Y = C(P)
- 1950 IF Y > K7 THEN Y = Y - B1 : GOTO 1950
- 1960 L$(Z5) = S$(Y) : RETURN
- 1970 N1 = Z1 + INT(N * T3 * P1 * RND(Z1)) : RETURN
- 1980 IF RND(Z1) < P1 THEN 700
- 1990 IF RND(Z1) > P5 THEN PRINT "SORRY"
- 2000 Q1 = Z0 : GOTO 900
- 2010 PRINT "ANTENNA BLEW DOWN IN WIND"
- 2020 PRINT " NO WAY TO FIX IT - QRT" : GOTO 1480
- 2030 IF C(P) < B1 THEN 2070
- 2040 X = C(P)
- 2050 C(P) = C(P) - B1 : IF C(P) > B1 THEN 2050
- 2060 GOSUB 2070 : C(P) = X : RETURN
- 2070 Y = 0 : IF C(P) = 14 OR C(P) = T6 THEN 2810
- 2080 IF C(P) < Z8 THEN 2230
- 2090 IF C(P) < T3 THEN 2280
- 2100 IF C(P) < T4 THEN 2310
- 2110 IF C(P) = 25 THEN 2710
- 2120 IF C(P) < 25 THEN 2340
- 2130 IF C(P) = 33 THEN 2750
- 2140 IF C(P) < 33 THEN 2380
- 2150 IF C(P) = 43 THEN 2640
- 2160 IF C(P) < 43 THEN 2420
- 2170 IF C(P) = 51 THEN 2640
- 2180 IF C(P) < 53 THEN 2480
- 2190 IF C(P) < 56 THEN 2530
- 2200 IF C(P) < 59 THEN 2550
- 2210 IF C(P) < 67 THEN 2580
- 2220 ON C(P) - 67 GOTO 2280,2530,2550,2580,2480,2480,2480
- 2230 IF B = B4 OR B = B5 AND H < T3 OR B = B3 AND H >= T5 AND RND(Z1) > P5 THEN 2810
- 2240 IF B = B3 AND (H < T5 AND H >= T3 OR RND(Z1) > P5 AND H >= Z8) THEN 2810
- 2250 IF B = B2 AND (H >= T5 OR H >= Z8 AND H < T3) AND RND(Z1) < P1 THEN 2810
- 2260 IF B = B1 AND (H >= T3 AND Q = Z2 AND H < T5 OR H >= T5 AND RND(Z1) > P5) THEN 2810
- 2270 RETURN
- 2280 IF B = B3 AND (H >= Z8 AND H < T3 OR H >= T5) AND RND(Z1) > P5 THEN 2810
- 2290 IF B >= B4 OR B = B1 AND Q = Z1 AND RND(Z1) < P5 AND H < T4 AND H >= T3 THEN 2810
- 2300 RETURN
- 2310 IF B = B5 OR B = B4 AND H < Z8 AND RND(Z1) > P5 THEN 2810
- 2320 IF B = B4 AND (H >= T5 OR H >= Z8 AND H < T3) THEN 2810
- 2330 RETURN
- 2340 IF B = B4 OR B = B3 AND H >= Z8 OR B = B1 AND Q = Z3 AND H >= T3 AND RND(Z1) > P5 THEN 2810
- 2350 IF B = B2 AND H < T5 AND H >= T3 AND RND(Z1) > P5 THEN 2810
- 2360 IF B = B5 AND H < T4 OR (H >= T5 OR H < T3) AND RND(Z1) > P5 THEN 2810
- 2370 RETURN
- 2380 IF B < B4 AND H >= T3 AND H < T5 OR B = B4 AND H < Z8 THEN 2810
- 2390 IF B = B5 AND (H < Z8 AND H >= Z4 OR H < Z4 AND RND(Z1) > P5) THEN 2810
- 2400 IF RND(Z1) > P5 AND (H >= T5 OR H >= Z8 AND H < T3) THEN 2810
- 2410 RETURN
- 2420 IF H < Z8 AND H >= T3 AND RND(Z1) < P1 THEN 2810
- 2430 IF B < B4 AND H >= T3 AND H < T5 OR B >= B3 AND H < Z8 AND H >= 4 THEN 2810
- 2440 IF H >= T5 AND B < B3 AND RND(Z1) > P5 THEN 2810
- 2450 IF H >= T5 AND (B = B3 OR B = B4 AND RND(Z1) < P1) THEN 2810
- 2460 IF H < Z4 AND (B = B4 OR B = B5 AND RND(Z1) > P5) THEN 2810
- 2470 RETURN
- 2480 IF B < B4 AND H < T5 AND H >= T3 THEN 2810
- 2490 IF H >= T5 AND B > B1 AND B < B5 AND RND(Z1) > P5 THEN 2810
- 2500 IF B = B4 AND (H < Z8 OR H >= T5 AND RND(Z1) > P5) THEN 2810
- 2510 IF B = B5 AND (H < Z8 AND H >= Z4 OR H < Z4 AND RND(Z1) > P5) THEN 2810
- 2520 RETURN
- 2530 IF B = B5 OR B = B4 AND (H >= Z8 OR RND(Z1) > P5) THEN 2810
- 2540 RETURN
- 2550 IF B = B4 OR B = B5 AND (H < Z8 OR RND(Z1) > P5 AND H < T3 OR H >= T5) THEN 2810
- 2560 IF B = B3 AND H >= T3 AND H < T5 THEN 2810
- 2570 RETURN
- 2580 IF B > B3 AND H < Z8 OR H < T3 AND RND(Z1) > P5 THEN 2810
- 2590 IF B = B1 AND Q = Z5 AND H >= T3 AND RND(Z1) > P5 THEN 2810
- 2600 IF B = B2 AND H < T5 AND H >= T3 AND RND(Z1) > P5 THEN 2810
- 2610 IF B = B3 AND (H < T5 AND H >= T3 OR H >= T5 AND RND(Z1) > P5) THEN 2810
- 2620 IF H >= T5 AND (B = B4 AND RND(Z1) > P5 OR B = B5 AND RND(Z1) < P1) THEN 2810
- 2630 RETURN
- 2640 IF B < B4 AND H < T5 AND H >= T4 THEN 2810
- 2650 IF B = B3 AND (H >= T3 AND RND(Z1) > P5 OR H >= Z8 AND H < T3 AND RND(Z1) < P1) THEN 2810
- 2660 IF B = B1 AND H >= T3 AND (H < T5 OR RND(Z1) > P5) THEN 2810
- 2670 IF B = B2 AND (H < T4 AND H >= T3 AND RND(Z1) > P5 OR H >= T5 AND RND(Z1) < P1) THEN 2810
- 2680 IF B = B4 AND H < Z8 AND (H >= Z4 OR RND(Z1) > P5) THEN 2810
- 2690 IF B = B5 AND H >= Z4 AND H < Z8 AND RND(Z1) > P5 THEN 2810
- 2700 RETURN
- 2710 IF B = B5 AND H < Z8 OR B < B4 AND H >= Z8 AND H < T5 THEN 2810
- 2720 IF H >= T5 AND (B = B1 AND RND(Z1) > P5 OR B = B2 OR B = B3) THEN 2810
- 2730 IF B = B4 AND (H >= Z4 AND H < Z8 OR H < Z4 AND RND(Z1) < P1) THEN 2810
- 2740 RETURN
- 2750 IF B < B3 AND H < T5 AND (H >= T3 AND H < T4 OR H >= Z8 AND RND(Z1) > P5) THEN 2810
- 2760 IF H >= T5 AND (B = B2 OR B = B4) AND RND(Z1) > P5 THEN 2810
- 2770 IF H >= T4 AND B = B3 OR B = B4 AND H < Z8 THEN 2810
- 2780 IF B = B4 AND RND(Z1) > P5 AND H < T3 THEN 2810
- 2790 IF B = B5 AND H < Z8 AND (H >= Z4 OR RND(Z1) > P5) THEN 2810
- 2800 RETURN
- 2810 Y = 1 : RETURN
- 2820 IF I = Z0 THEN P = INT(RND(Z1) * K)
- 2830 P = P + INT(RND(Z1) * Z9) : IF P >= K THEN P = P - K
- 2840 IF B = B1 AND RND(Z1) > P1 * P1 THEN Q = Q + INT(RND(Z1) + Z4) : IF Q > Z5 THEN Q = Q - Z5
- 2850 RETURN
- 2860 S1 = S1 + Y : IF S1 < T7 THEN RETURN
- 2870 S1 = S1 - T7 : M1 = M1 + Z1 : M = M + Z1 : IF S1 >= T7 THEN 2870
- 2880 IF M >= T7 THEN M = M - T7 : H = H + Z1 : GOTO 2880
- 2890 IF M1 >= T7 THEN M1 = M1 - T7 : H1 = H1 + Z1 : GOTO 2890
- 2900 IF H < T6 THEN RETURN
- 2910 H = H - T6 : D = D + Z1 : RETURN
- 2920 I$ = MID$(Q$,INT(RND(Z1) * 26) + Z1,Z1) : C$(I) = C$(I) + I$ : RETURN
- 2930 IF RND(Z1) > P1 * Z2 THEN 700
- 2940 X = INT(RND(Z1) * 10) + Z1
- 2950 ON X GOTO 2960,2970,2980,2960,2960,2960,2960,2960,3070,3020,2960
- 2960 PRINT "TIMEOUT IN THE BATHROOM" : Y = T5 : GOTO 2990
- 2970 PRINT "TIMEOUT TO CLEAR UP SPILT COFFEE" : Y = Z5 : GOTO 2990
- 2980 PRINT "KIDS ARE FIGHTING..TIMEOUT" : Y = T4
- 2990 Y = INT(RND(Z1) * Y) + Z3 : PRINT "OFF THE AIR FOR " ; Y ; " MIN"
- 3000 IF Y > 14 THEN X = Z0 : GOTO 1260
- 3010 Y = Y * T7 : GOSUB 2860 : GOTO 700
- 3020 IF RND(Z1) * 10 < P5 THEN 2010
- 3030 PRINT "POWER LINE BLACKOUT" : X = INT(RND(Z1) * Z5) : Y = INT(RND(Z1) * T6) + Z8
- 3040 PRINT "POWER CAME BACK ON AFTER " ; X ; " HRS",Y," MIN"
- 3050 IF X = Z0 AND Y < 15 THEN Y = Y * T7 : GOSUB 2860 : GOTO 700
- 3060 GOTO 1260
- 3070 PRINT "FINAL TUBES BLEW OUT"
- 3080 IF H < T3 THEN PRINT "WHERE ARE YOU GOING TO GET SPARES AT THIS TIME"
- 3090 PRINT "LUCKY YOU, SPARES ARE TO HAND "
- 3100 PRINT "REPLACING THEM NOW" : Y = T7 : GOTO 2990
- 3110 I$ = "YV4XYZ" : IF RND(Z1) > P5 THEN I$ = "HK3ZZZ"
- 3120 J$ = "MIAMI" : IF RND(Z1) > P5 THEN J$ = "LOS ANGELES"
- 3130 PRINT "CQ CQ CQ DE " ; I$
- 3140 PRINT "THIS IS " ; I$ ; " LOOKING FOR A PHONE PATCH IN TO " ; J$
- 3150 IF RND(Z1) < P5 - P1 THEN 3140
- 3160 RETURN
- 3170 X = INT(RND(Z1) * Z4) : IF RND(Z1) > P5 THEN 3190
- 3180 PRINT "YOU ARE LISTENING TO " ; : ON X + Z1 GOTO 3200,3210,3220,3230
- 3190 PRINT "THIS IS " ; : ON X GOTO 3210,3220,3230
- 3200 PRINT "RADIO MOSCOW" : GOTO 3240
- 3210 PRINT "RADIO PEKING" : GOTO 3240
- 3220 PRINT "RADIO ALBANIA" : GOTO 3240
- 3230 PRINT "THE BBC" : IF RND(Z1) < P1 * Z2 THEN PRINT "THIS IS RADIO NEWSREEL" : RETURN
- 3240 IF RND(Z1) > P5 THEN PRINT "A NEWS BROADCAST FOLLOWS" : RETURN
- 3250 IF RND(Z1) > P5 THEN PRINT "YOU HAVE BEEN LISTENING TO A COMMENTARY ON THE NEWS"
- 3260 RETURN
- 3270 PRINT Z$(14) + "S NEEDED" : J = K7 : FOR I = Z0 TO K7
- 3280 IF S(I) = Z0 THEN PRINT S$(I), : J = J - Z1
- 3290 NEXT : PRINT : PRINT J + Z1,Z$(14) + "S WORKED" : PRINT : GOTO 700
- 3300 PRINT Z$(Z0),"CALL OTHER STATION"
- 3310 PRINT Z$(Z1),"ENTER CONTACT IN LOG"
- 3320 PRINT Z$(Z2),"CHANGE BANDS"
- 3330 PRINT Z$(Z3),"CHECK TO SEE IF WORKED"
- 3340 PRINT Z$(Z4),"SEE HOW WELL YOU ARE DOING"
- 3350 PRINT Z$(Z5),"TAKE A BREAK (TIMEOUT)"
- 3360 PRINT Z$(Z6),"CONFIRM RECEPTION OF CONTEST DATA "
- 3370 PRINT Z$(Z7),"SEND YOUR DATA TO OTHER STATION"
- 3380 PRINT Z$(Z8),"REQUEST REPEAT OF OTHER STATION'S DATA "
- 3390 PRINT Z$(Z9),"GIVE UP AND SWITCH OFF EQUIPMENT"
- 3400 PRINT Z$(10),"TUNE ACROSS BAND "
- 3410 PRINT Z$(11),"DETERMINE WHICH DATA ARE MISSING FROM REPORT"
- 3420 PRINT Z$(T3),"LOOK AT TIME OF DAY"
- 3430 PRINT Z$(13),"TELL OTHER STATION THAT YOU HAVE WORKED BEFORE"
- 3440 PRINT Z$(14),"LIST SECTIONS STILL NEEDED"
- 3450 PRINT Z$(15),"RECEIVE SUMMARY OF INSTRUCTIONS"
- 3460 PRINT Z$(T4),"CALL " ; Z$(T4)
- 3470 PRINT Z$(17),"LIST OF STATIONS WORKED (UNSORTED)"
- 3480 PRINT "YOU MAY TYPE FIRST TWO LETTERS FOR ALL ENTRIES, EXCEPT",
- 3490 PRINT Z$(14) ; " (TYPE 3)" : RETURN
- 3500 PRINT "HOPE YOU ENJOYED THE CONTEST"