0 REM * WARGAMES SIMULATOR BY ANDY GLENN * 20 REM * (C) 2020, ALL RIGHTS RESERVED * 30 CLS$=CHR$(27)+"c" 40 DIM GRADE$(2) 50 DIM PFX%(9) 60 DIM NUM%(9) 70 DIM PFXHIT%(9) 80 DIM NUMHIT%(9) 90 DIM PASNAME$(2) 100 GRADE$(1)="F" 110 GRADE$(2)="F" 120 DIM COMPUTERTGT$(2) 130 DIM HUMANTGT$(3) 140 DIM A(9) 150 HT%=0 160 COMPUTERTGT$(1)="" 170 COMPUTERTGT$(2)="" 180 HUMANTGT$(1)="" 190 HUMANTGT$(2)="" 200 COMPUTER$="" 210 HUMAN$="" 220 CINDENT%=0 230 HINDENT%=0 240 SF%=0 250 PRINT CHR$(27)+"E"+CHR$(27)+"H":PRINT CHR$(27)+"c" 260 PRINT "WARGAMES SIMULATOR BY ANDY GLENN" 270 PRINT 280 INPUT "SELECT DELAY FOR TERMINAL CHARACTERS: ",D% 290 INPUT "DO YOU WANT HELP ENABLED (Y/N): ",H$ 300 IF H$="N" OR H$="n" THEN H$="N":ELSE:H$="Y" 310 PRINT:PRINT "SELECT SYSTEM":PRINT 320 PRINT "1. IMSAI 8080 (DEFAULT) 330 PRINT "2. AMSTRAD PCW" 340 PRINT:INPUT "SYSTEM:",S$ 350 IF S$="2" THEN CLS$=CHR$(27)+"E"+CHR$(27)+"H" 360 IF H$="Y" THEN F$="INTRO.TXT":GOSUB 7270:ELSE:GOTO 380 370 IF H$="Y" THEN F$="IMSAI.TXT":GOSUB 7270:ELSE:GOTO 380 380 PRINT CLS$ 390 PRINT"62K CP/M VERS. 2.2 MCL030210-D-F8" 400 PRINT 410 INPUT"A>",COMMAND$ 420 IF COMMAND$="CLS" OR COMMAND$="cls" THEN PRINT CLS$:GOTO 410 430 IF COMMAND$="BYE" OR COMMAND$="bye" THEN PRINT "System halted, bye.":END 440 IF COMMAND$="DIR" OR COMMAND$="dir" THEN PRINT "A: BYE COM : CLS COM : DIR COM: MODEM COM": PRINT "A: DIALER COM": GOTO 410 450 IF COMMAND$="MODEM" OR COMMAND$="modem" OR COMMAND$="MODEM.COM" OR COMMAND$="modem.com" THEN 480 460 IF COMMAND$="DIALER" OR COMMAND$="dialer" OR COMMAND$="DIALER.COM" OR COMMAND$="dialer.com" THEN 1200 470 PRINT COMMAND$;"?":GOTO 410 480 FOR W%=1 TO D%*10:NEXT W%:PRINT CLS$ 490 PRINT "CHECKING DISK DRIVE";:GOSUB 5460 500 PRINT "LOADING DISK";:GOSUB 5460 510 PRINT "CHECKING DISK";:GOSUB 5460 520 PRINT "READING PROGRAM FROM DISK";:GOSUB 5460 530 FOR W%=1 TO D%*25:NEXT W%:PRINT CLS$ 540 PRINT "DIALING";:GOSUB 5460 550 PRINT "CONNECTING";:GOSUB 5460 560 FOR W%=1 TO D%*20:NEXT W%:PRINT CLS$ 570 T$="PDP 11/270 PRB TIP #45 TTY 34/984 ":GOSUB 5470:PRINT 580 T$="WELCOME TO THE SEATTLE PUBLIC SCHOOL DISTRICT DATANET":GOSUB 5470:PRINT 590 FOR P%=1 TO 3 600 T$="PLEASE LOGON WITH USER PASSWORD: ":GOSUB 5470:INPUT "",RESPONSE$ 610 IF RESPONSE$="PENCIL" OR RESPONSE$="pencil" THEN T$="PASSWORD VERIFIED":GOSUB 5470:PRINT:PRINT:GOTO 680 620 T$="INVALID PASSWORD":GOSUB 5470:PRINT:PRINT 630 NEXT P% 640 T$="TOO MANY INVALID PASSWORD ATTEMPTS":GOSUB 5470:PRINT 650 T$="--DISCONNECTED--":GOSUB 5470:INPUT "",RESPONSE$ 660 IF H$="Y" AND GRADE$(1)<>"F" AND GRADE$(2)<>"F" THEN F$="GRADES.TXT":GOSUB 7270 670 GOTO 380 680 T$="PLEASE ENTER STUDENT NAME: ":GOSUB 5470:INPUT "",STUDENTNAME$ 690 FOR A%=1 TO LEN(STUDENTNAME$):IF MID$(STUDENTNAME$,A%,8)="Lightman" OR MID$(STUDENTNAME$,A%,8)="LIGHTMAN" OR MID$(STUDENTNAME$,A%,8)="lightman" THEN STUDENTNAME$="Lightman, David L.":NEXT A% 700 IF STUDENTNAME$="Lightman, David L." THEN 750 710 FOR A%=1 TO LEN(STUDENTNAME$):IF MID$(STUDENTNAME$,A%,4)="Mack" OR MID$(STUDENTNAME$,A%,4)="MACK" OR MID$(STUDENTNAME$,A%,4)="mack" THEN STUDENTNAME$="Mack, Jennifer K.":NEXT A% 720 IF STUDENTNAME$="Mack, Jennifer K." THEN 900 730 IF STUDENTNAME$="Exit" OR STUDENTNAME$="EXIT" OR STUDENTNAME$="exit" THEN 650 740 T$="NO STUDENT RECORD FOUND":GOSUB 5470:PRINT:GOTO 680 750 STUDENT%=1 760 PRINT 770 T$="STUDENT RECORD: "+STUDENTNAME$:GOSUB 5470:PRINT 780 PRINT 790 T$=" CLASS # COURSE TITLE GRADE TEACHER PERIOD ROOM":GOSUB 5470:PRINT 800 T$=" ______________________________________________________________________":GOSUB 5470:PRINT 810 PRINT 820 T$=" S-202 BIOLOGY 2 "+GRADE$(STUDENT%)+" LIGGET 3 214":GOSUB 5470:PRINT 830 T$=" E-314 ENGLISH 11B D TURMAN 5 172":GOSUB 5470:PRINT 840 T$=" H-221 WORLD HISTORY 11B C DWYMER 2 108":GOSUB 5470:PRINT 850 T$=" M-106 TRIG 2 B DICKERSON 4 315":GOSUB 5470:PRINT 860 T$=" PE-02 PHYSICAL EDUCATION C COMSTOCK 1 GYM":GOSUB 5470:PRINT 870 T$=" M-122 CALCULUS 1 B LOGAN 6 240":GOSUB 5470:PRINT 880 PRINT 890 GOTO 1040 900 STUDENT%=2 910 PRINT 920 T$="STUDENT RECORD: "+STUDENTNAME$:GOSUB 5470:PRINT 930 PRINT 940 T$=" CLASS # COURSE TITLE GRADE TEACHER PERIOD ROOM":GOSUB 5470:PRINT 950 T$=" ______________________________________________________________________":GOSUB 5470:PRINT 960 PRINT 970 T$=" S-202 BIOLOGY 2 "+GRADE$(STUDENT%)+" LIGGET 3 214":GOSUB 5470:PRINT 980 T$=" E-325 ENGLISH 11B A ROBINSON 1 114":GOSUB 5470:PRINT 990 T$=" H-221 WORLD HISTORY 11B B DWYER 2 108":GOSUB 5470:PRINT 1000 T$=" M-104 GEOMETRY 2 D HALQUIST 4 307":GOSUB 5470:PRINT 1010 T$=" B-107 ECONOMICS D MARKS 5 122":GOSUB 5470:PRINT 1020 T$=" PE-02 PHYSICAL EDUCATION C COMSTOCK 6 GYM":GOSUB 5470:PRINT 1030 PRINT 1040 T$="(E)DIT: ":GOSUB 5470:INPUT "",RESPONSE$ 1050 IF RESPONSE$="E" OR RESPONSE$="e" OR RESPONSE$="edit" THEN 1070:ELSE :PRINT:GOTO 680 1060 PRINT 1070 TEMPGRADE$=GRADE$(STUDENT%) 1080 T$="CLASS: ":GOSUB 5470:INPUT "",CLASS$ 1090 T$="GRADE: ":GOSUB 5470:INPUT "",GRADE$(STUDENT%) 1100 IF CLASS$="S-202" OR CLASS$="s-202" THEN 1120 1110 PRINT:T$="RECORD LOCKED":GOSUB 5470:GRADE$(STUDENT%)=TEMPGRADE$:GOTO 1030 1120 IF GRADE$(STUDENT%)="a" OR GRADE$(STUDENT%)="A" THEN GRADE$(STUDENT%)="A":PRINT:T$="RECORD UPDATED":GOSUB 5470:PRINT:GOTO 680 1130 IF GRADE$(STUDENT%)="b" OR GRADE$(STUDENT%)="B" THEN GRADE$(STUDENT%)="B":PRINT:T$="RECORD UPDATED":GOSUB 5470:PRINT:GOTO 680 1140 IF GRADE$(STUDENT%)="c" OR GRADE$(STUDENT%)="C" THEN GRADE$(STUDENT%)="C":PRINT:T$="RECORD UPDATED":GOSUB 5470:PRINT:GOTO 680 1150 IF GRADE$(STUDENT%)="d" OR GRADE$(STUDENT%)="D" THEN GRADE$(STUDENT%)="D":PRINT:T$="RECORD UPDATED":GOSUB 5470:PRINT:GOTO 680 1160 IF GRADE$(STUDENT%)="e" OR GRADE$(STUDENT%)="E" THEN GRADE$(STUDENT%)="E":PRINT:T$="RECORD UPDATED":GOSUB 5470:PRINT:GOTO 680 1170 IF GRADE$(STUDENT%)="f" OR GRADE$(STUDENT%)="F" THEN GRADE$(STUDENT%)="F":PRINT:T$="RECORD UPDATED":GOSUB 5470:PRINT:GOTO 680 1180 IF GRADE$(STUDENT%)="u" OR GRADE$(STUDENT%)="U" THEN GRADE$(STUDENT%)="U":PRINT:T$="RECORD UPDATED":GOSUB 5470:PRINT:GOTO 680 1190 PRINT:T$="RECORD LOCKED": GOSUB 5470:GRADE$(STUDENT%)=TEMPGRADE$:GOTO 1030 1200 HITS%=0 1210 PF1%=399 1220 PF2%=437 1230 PF3%=767 1240 PF4%=936 1250 DATA 437,1083 1260 DATA 936,1493 1270 DATA 399,2364 1280 DATA 437,2977 1290 DATA 767,3395 1300 DATA 399,3582 1310 DATA 936,3923 1320 DATA 767,7305 1330 DATA 437,8739 1340 RESTORE 1350 FOR A%=1 TO 9 1360 READ PFX%(A%) 1370 READ NUM%(A%) 1380 NEXT A% 1390 PRINT CLS$ 1400 PRINT:PRINT "DIALER":PRINT 1410 INPUT "MENU - (S)CAN, (V)IEW OR E(X)IT: ",RESPONSE$ 1420 PRINT 1430 IF RESPONSE$="S" OR RESPONSE$="s" OR RESPONSE$="SCAN" OR RESPONSE$="scan" THEN 1470 1440 IF RESPONSE$="V" OR RESPONSE$="v" OR RESPONSE$="VIEW" OR RESPONSE$="view" THEN 2370 1450 IF RESPONSE$="X" OR RESPONSE$="x" OR RESPONSE$="EXIT" OR RESPONSE$="exit" THEN 380 1460 GOTO 1390 1470 INPUT "HOW MANY NUMBERS FOR EACH PREFIX TO DIAL: ",ND% 1480 IF ND% > 9999 THEN PRINT "MAXIMUM IS 9999":GOTO 1470 1490 LN%=0 1500 HITS%=0 1510 PFXSET%=0 1520 FOR A% = 1 TO ND% 1530 IF LN%=0 THEN PRINT CLS$ 1540 IF LN%=0 THEN PRINT " TO SCAN FOR CARRIER TONES, PLEASE LIST" 1550 IF LN%=0 THEN PRINT" DESIRED AREA CODES AND PREFIXES" 1560 IF LN%=0 THEN PRINT 1570 IF LN%=0 THEN PRINT "AREA AREA AREA AREA" 1580 IF LN%=0 THEN PRINT "CODE PRFX NUMBER CODE PRFX NUMBER CODE PRFX NUMBER CODE PRFX NUMBER" 1590 IF LN%=0 THEN PRINT "________________________________________________________________________________":PRINT 1600 IF LN%=0 AND A%=1 THEN PRINT "(311)";PF1%;" (311)";PF2%;" (311)";PF3%;" (311)";PF4% 1610 IF PFXSET%=1 THEN 1740 1620 IF LN%=0 AND A%=1 THEN INPUT "(311) ",PF1T% 1630 IF LN%=0 AND A%=1 THEN INPUT " (311) ",PF2T% 1640 IF LN%=0 AND A%=1 THEN INPUT " (311) ",PF3T% 1650 IF LN%=0 AND A%=1 THEN INPUT " (311) ",PF4T% 1660 IF LN%=0 AND A%=1 THEN PRINT 1670 IF LN%=0 AND A%=1 AND PF1T%>0 AND PF1T%<1000 THEN PF1%=PF1T% 1680 IF LN%=0 AND A%=1 AND PF2T%>0 AND PF2T%<1000 THEN PF2%=PF2T% 1690 IF LN%=0 AND A%=1 AND PF3T%>0 AND PF3T%<1000 THEN PF3%=PF3T% 1700 IF LN%=0 AND A%=1 AND PF4T%>0 AND PF4T%<1000 THEN PF4%=PF4T% 1710 IF PF1T%>999 OR PF2T%>999 OR PF3T%>999 OR PF4T%>999 THEN PRINT:INPUT "INVALID PREFIXES ENTERED - PRESS ENTER KEY TO CONTINUE",RESPONSE$:PRINT:GOTO 1490 1720 IF LN%=0 AND A%=1 THEN PFXSET%=1:GOTO 1530 1730 IF INKEY$="Q" OR INKEY$="q" THEN 2310 1740 IF A% > 0 AND A% < 10 THEN Z$="000" 1750 IF A% > 9 AND A% < 100 THEN Z$="00" 1760 IF A% > 99 AND A% < 1000 THEN Z$="0" 1770 IF A% > 999 THEN Z$="" 1780 PRINT "(311)";PF1%;Z$;A%; 1790 FD%=0 1800 HIT$="N" 1810 FOR N%=1 TO 9 1820 IF INKEY$="Q" OR INKEY$="q" THEN 2310 1830 IF PF1%=PFX%(N%) AND A%=NUM%(N%) THEN HIT$="Y" 1840 IF PF1%=PFX%(N%) AND A%=NUM%(N%) THEN FD%=N% 1850 NEXT N% 1860 IF HIT$="Y" THEN HITS%=HITS%+1 1870 IF HIT$="Y" THEN PFXHIT%(HITS%)=PFX%(FD%) 1880 IF HIT$="Y" THEN NUMHIT%(HITS%)=NUM%(FD%) 1890 IF HIT$="Y" THEN PRINT "* ";:ELSE:PRINT " "; 1900 FD%=0 1910 HIT$="N" 1920 PRINT "(311)";PF2%;Z$;A%; 1930 FOR N%=1 TO 9 1940 IF INKEY$="Q" OR INKEY$="q" THEN 2310 1950 IF PF2%=PFX%(N%) AND A%=NUM%(N%) THEN HIT$="Y" 1960 IF PF2%=PFX%(N%) AND A%=NUM%(N%) THEN FD%=N% 1970 NEXT N% 1980 IF HIT$="Y" THEN HITS%=HITS%+1 1990 IF HIT$="Y" THEN PFXHIT%(HITS%)=PFX%(FD%) 2000 IF HIT$="Y" THEN NUMHIT%(HITS%)=NUM%(FD%) 2010 IF HIT$="Y" THEN PRINT "* ";:ELSE:PRINT " "; 2020 FD%=0 2030 HIT$="N" 2040 PRINT "(311)";PF3%;Z$;A%; 2050 FOR N%=1 TO 9 2060 IF INKEY$="Q" OR INKEY$="q" THEN 2310 2070 IF PF3%=PFX%(N%) AND A%=NUM%(N%) THEN HIT$="Y" 2080 IF PF3%=PFX%(N%) AND A%=NUM%(N%) THEN FD%=N% 2090 NEXT N% 2100 IF HIT$="Y" THEN HITS%=HITS%+1 2110 IF HIT$="Y" THEN PFXHIT%(HITS%)=PFX%(FD%) 2120 IF HIT$="Y" THEN NUMHIT%(HITS%)=NUM%(FD%) 2130 IF HIT$="Y" THEN PRINT "* ";:ELSE:PRINT " "; 2140 FD%=0 2150 HIT$="N" 2160 PRINT "(311)";PF4%;Z$;A%; 2170 FOR N%=1 TO 9 2180 IF INKEY$="Q" OR INKEY$="q" THEN 2310 2190 IF PF4%=PFX%(N%) AND A%=NUM%(N%) THEN HIT$="Y" 2200 IF PF4%=PFX%(N%) AND A%=NUM%(N%) THEN FD%=N% 2210 NEXT N% 2220 IF HIT$="Y" THEN HITS%=HITS%+1 2230 IF HIT$="Y" THEN PFXHIT%(HITS%)=PFX%(FD%) 2240 IF HIT$="Y" THEN NUMHIT%(HITS%)=NUM%(FD%) 2250 IF HIT$="Y" THEN PRINT "*":ELSE:PRINT " " 2260 FD%=0 2270 HIT$="N" 2280 LN%=LN%+1 2290 IF LN%=15 THEN LN%=0 2300 NEXT A% 2310 IF HITS%>SF% THEN SF%=HITS% 2320 PRINT:INPUT " PRESS ENTER KEY TO RETURN TO MENU",RESPONSE$ 2330 IF SF%=0 THEN 1390 2340 PRINT CLS$ 2350 IF H$="Y" AND HITS%>0 THEN F$="DIALER.TXT":GOSUB 7270 2360 GOTO 1390 2370 PRINT CLS$ 2380 PRINT " NUMBERS FOR WHICH CARRIER TONES WERE DETECTED:" 2390 PRINT 2400 IF SF%=0 THEN PRINT " NO SYSTEMS FOUND" 2410 IF SF%=0 THEN PRINT:PRINT " NOTE: TYPE LOAD AND PRESS ENTER KEY TO RESTORE SCAN RESULTS" 2420 FOR A%=1 TO SF% 2430 IF NUMHIT%(A%) >0 AND NUMHIT%(A%) <10 THEN Z$="000" 2440 IF NUMHIT%(A%) >9 AND NUMHIT%(A%) <100 THEN Z$="00" 2450 IF NUMHIT%(A%) >99 AND NUMHIT%(A%) <1000 THEN Z$="0" 2460 IF NUMHIT%(A%) >999 THEN Z$="" 2470 PRINT " (";CHR$(A%+64);") (311)";PFXHIT%(A%);Z$;NUMHIT%(A%) 2480 NEXT A% 2490 PRINT:PRINT:PRINT " PRESS ENTER KEY TO RETURN TO MENU" 2500 INPUT " OR SELECT SYSTEM: ",RESPONSE$ 2510 IF RESPONSE$="LOAD" OR RESPONSE$="load" THEN SF%=9:RESTORE:FOR A%=1 TO SF%:READ PFXHIT%(A%):READ NUMHIT%(A%):NEXT A%:GOTO 2370 2520 IF SF%=0 THEN 2700 2530 IF RESPONSE$="A" OR RESPONSE$="a" THEN GOSUB 7430:GOTO 2370 2540 IF SF%=1 THEN 2700 2550 IF RESPONSE$="B" OR RESPONSE$="b" THEN GOSUB 7430:GOTO 2370 2560 IF SF%=2 THEN 2700 2570 IF RESPONSE$="C" OR RESPONSE$="c" THEN 2710 2580 IF SF%=3 THEN 2700 2590 IF RESPONSE$="D" OR RESPONSE$="d" THEN GOSUB 7430:GOTO 2370 2600 IF SF%=4 THEN 2700 2610 IF RESPONSE$="E" OR RESPONSE$="e" THEN GOSUB 7430:GOTO 2370 2620 IF SF%=5 THEN 2700 2630 IF RESPONSE$="F" OR RESPONSE$="f" THEN 2840 2640 IF SF%=6 THEN 2700 2650 IF RESPONSE$="G" OR RESPONSE$="g" THEN GOSUB 7430:GOTO 2370 2660 IF SF%=7 THEN 2700 2670 IF RESPONSE$="H" OR RESPONSE$="h" THEN GOSUB 7430:GOTO 2370 2680 IF SF%=8 THEN 2700 2690 IF RESPONSE$="I" OR RESPONSE$="i" THEN 3710 2700 GOTO 1390 2710 PRINT CLS$ 2720 PRINT "DIALING";:GOSUB 5460:PRINT CLS$ 2730 PRINT "CONNECTING";:GOSUB 5460:PRINT CLS$ 2740 FOR W%=1 TO D%*20:NEXT W%:PRINT CLS$ 2750 T$="TGS SYSTEM A-45 34:34:33 Y-1293.323 ":GOSUB 5470:PRINT 2760 T$="UNION MARINE BANK - SOUTHWEST REGIONAL DATA CENTER":GOSUB 5470:PRINT 2770 PRINT 2780 T$="LOGON > ":GOSUB 5470:INPUT "",RESPONSE$ 2790 T$="PASSWORD > ":GOSUB 5470:INPUT "",RESPONSE$ 2800 PRINT 2810 T$="INVALID LOGON. CLOSING CONNECTION":GOSUB 5470:PRINT 2820 T$="--DISCONNECTED--":GOSUB 5470:INPUT "",RESPONSE$ 2830 GOTO 2370 2840 PRINT CLS$ 2850 PRINT "DIALING";:GOSUB 5460:PRINT CLS$ 2860 PRINT "CONNECTING";:GOSUB 5460:PRINT CLS$ 2870 FOR W%=1 TO D%*20:NEXT W%:PRINT CLS$ 2880 T$="007:2312:435:936 PAN-AM RESERVATION SYSTEM":GOSUB 5470:PRINT 2890 T$="TERMINAL STATUS: ACTIVE":GOSUB 5470:PRINT 2900 PRINT 2910 T$=" 1. FLIGHT SCHEDULES":GOSUB 5470:PRINT 2920 T$=" 2. CREDIT CHECK":GOSUB 5470:PRINT 2930 T$=" 3. PASSENGER INFORMATION":GOSUB 5470:PRINT 2940 T$=" 4. SYSTEM STATUS FUNCTIONS":GOSUB 5470:PRINT 2950 T$=" 5. ALTERNATE ROUTINGS":GOSUB 5470:PRINT 2960 PRINT 2970 T$="MENU CHOICE: ":GOSUB 5470:INPUT "",RESPONSE$ 2980 IF RESPONSE$="1" THEN 3670 2990 IF RESPONSE$="2" THEN 3680 3000 IF RESPONSE$="3" THEN 3060 3010 IF RESPONSE$="4" THEN 3690 3020 IF RESPONSE$="5" THEN 3700 3030 T$="CLOSING CONNECTION":GOSUB 5470:PRINT 3040 T$="--DISCONNECTED--":GOSUB 5470:INPUT "",RESPONSE$ 3050 GOTO 2370 3060 PRINT CLS$ 3070 T$="007:2312:435:936 PAN-AM RESERVATION SYSTEM":GOSUB 5470:PRINT 3080 PRINT 3090 T$=" 1. NEW RESERVATION":GOSUB 5470:PRINT 3100 T$=" 2. CHECK RESERVATION":GOSUB 5470:PRINT 3110 PRINT 3120 T$="MENU CHOICE: ":GOSUB 5470:INPUT "",RESPONSE$ 3130 IF RESPONSE$="1" THEN 3160 3140 IF RESPONSE$="2" THEN 3410 3150 GOTO 2870 3160 PRINT CLS$ 3170 T$="007:2312:435:936 PAN-AM RESERVATION SYSTEM":GOSUB 5470:PRINT 3180 T$="DESTINATION : ":GOSUB 5470:INPUT "",DEST$ 3190 T$="POINT OF DEPARTURE : CHICAGO/O'HARE":GOSUB 5470:PRINT 3200 PRINT 3210 T$="009:4277:019:907 DATE OF ISSUE : 03/10/82":GOSUB 5470:PRINT 3220 PRINT 3230 T$=" DEPART DATE : 08/18/83 FLIGHT: 114":GOSUB 5470:PRINT 3240 PRINT 3250 T$=" CARRIER: FLIGHT: CLASS: DATE: TIME: STATUS:":GOSUB 5470:PRINT 3260 T$=" PANAM 114 Q 18AUG 0815A OK":GOSUB 5470:PRINT 3270 T$="FROM: CHICAGO/O'HARE":GOSUB 5470:PRINT 3280 T$=" TO: "+DEST$:GOSUB 5470:PRINT 3290 PRINT 3300 T$="NUMBER OF PASSENGERS : ":GOSUB 5470:INPUT "",NUMPAS% 3310 FOR PAS%=1 TO NUMPAS% 3320 T$="NAME OF PASSENGER #":GOSUB 5470:PRINT PAS%;:INPUT ": ",PASNAME$(PAS%) 3330 NEXT PAS% 3340 PRINT 3350 T$="FARE: ": GOSUB 5470: PRINT USING "####.##";1164.1*NUMPAS%; 3360 T$=" GJATWA SLM TWA GJA":GOSUB 5470:PRINT 3370 T$="TAX: ":GOSUB 5470:PRINT USING "####.##";70.9*NUMPAS% 3380 T$="TOTAL: ":GOSUB 5470:PRINT USING "####.##";(1164.1+70.9)*NUMPAS% 3390 T$="REQUEST: SPEC DATA":GOSUB 5470:PRINT 3400 T$=" PRESS 'ENTER' KEY TO RETURN TO MENU":GOSUB 5470:INPUT "",RESPONSE$:GOTO 3060 3410 PRINT CLS$ 3420 T$="007:2312:435:936 PAN-AM RESERVATION SYSTEM":GOSUB 5470:PRINT 3430 T$="DESTINATION : "+DEST$:GOSUB 5470:PRINT 3440 T$="POINT OF DEPARTURE : CHICAGO/O'HARE":GOSUB 5470:PRINT 3450 PRINT 3460 T$="009:4277:019:907 DATE OF ISSUE : 03/10/82":GOSUB 5470:PRINT 3470 PRINT 3480 T$=" DEPART DATE : 08/18/83 FLIGHT: 114":GOSUB 5470:PRINT 3490 PRINT 3500 T$=" CARRIER: FLIGHT: CLASS: DATE: TIME: STATUS:":GOSUB 5470:PRINT 3510 T$=" PANAM 114 Q 18AUG 0815A OK":GOSUB 5470:PRINT 3520 T$="FROM: CHICAGO/O'HARE":GOSUB 5470:PRINT 3530 T$=" TO: "+DEST$:GOSUB 5470:PRINT 3540 PRINT 3550 T$="NUMBER OF PASSENGERS :":GOSUB 5470:PRINT NUMPAS% 3560 FOR PAS%=1 TO NUMPAS% 3570 T$="NAME OF PASSENGER #":GOSUB 5470:PRINT PAS%;" : "; 3580 T$=PASNAME$(PAS%):GOSUB 5470:PRINT 3590 NEXT PAS% 3600 PRINT 3610 T$="FARE: ":GOSUB 5470:PRINT USING "####.##";1164.1*NUMPAS%; 3620 T$=" GJATWA SLM TWA GJA":GOSUB 5470:PRINT 3630 T$="TAX: ":GOSUB 5470:PRINT USING "####.##";70.9*NUMPAS% 3640 T$="TOTAL: ":GOSUB 5470:PRINT USING "####.##";(1164.1+70.9)*NUMPAS% 3650 T$="REQUEST: SPEC DATA":GOSUB 5470:PRINT 3660 T$=" PRESS 'ENTER' KEY TO RETURN TO MENU":GOSUB 5470:INPUT "",RESPONSE$:GOTO 3060 3670 PRINT CLS$:T$="NOT YET IMPLEMENTED":GOSUB 5470:GOTO 2870 3680 PRINT CLS$:T$="NOT YET IMPLEMENTED":GOSUB 5470:GOTO 2870 3690 PRINT CLS$:T$="NOT YET IMPLEMENTED":GOSUB 5470:GOTO 2870 3700 PRINT CLS$:T$="NOT YET IMPLEMENTED":GOSUB 5470:GOTO 2870 3710 PRINT CLS$ 3720 PRINT "DIALING";:GOSUB 5460 3730 PRINT "CONNECTING";:GOSUB 5460 3740 FOR W%=1 TO D%*20:NEXT W%:PRINT CLS$ 3750 PRINT " #":FOR W%=1 TO D%*5:NEXT W%:PRINT CLS$ 3760 PRINT:PRINT " #":FOR W%=1 TO D%*5:NEXT W%:PRINT CLS$ 3770 PRINT:PRINT:PRINT " #":FOR W%=1 TO D%*5:NEXT W%:PRINT CLS$ 3780 PRINT:PRINT:PRINT 3790 LOGON$="" 3800 T$="LOGON: ":GOSUB 5470:INPUT "",LOGON$ 3810 IF LOGON$="joshua" OR LOGON$="JOSHUA" THEN 3900 3820 IF LOGON$="help" OR LOGON$="HELP" THEN GOSUB 4680:GOTO 3790 3830 IF LOGON$="help logon" OR LOGON$="HELP LOGON" THEN GOSUB 4680:GOTO 3790 3840 IF LOGON$="help games" OR LOGON$="HELP GAMES" THEN GOSUB 4710:GOTO 3790 3850 IF LOGON$="list games" OR LOGON$="LIST GAMES" THEN GOSUB 4750:GOTO 3790 3860 PRINT "IDENTIFICAION NOT RECOGNIZED BY SYSTEM" 3870 PRINT "--CONNECTION TERMINATED--" 3880 INPUT "",RESPONSE$ 3890 GOTO 2370 3900 PRINT CLS$ 3910 PRINT "145 11456 11889 11893":FOR W%=1 TO D%:NEXT W% 3920 PRINT "PRT CON. 3.4.5. SECTRAN 9.4.3. PORT STAT: SB-345":FOR W%=1 TO D%:NEXT W% 3930 PRINT:FOR W%=1 TO D%:NEXT W%:PRINT CLS$ 3940 PRINT "(311) 655-7385":FOR W%=1 TO D%:NEXT W% 3950 PRINT:FOR W%=1 TO D%:NEXT W%:PRINT:FOR W%=1 TO D%:NEXT W%:PRINT CLS$:PRINT:FOR W%=1 TO D%:NEXT W%:PRINT:FOR W%=1 TO D%:NEXT W%:PRINT CLS$:PRINT:PRINT:FOR W%=1 TO D%:NEXT W%:PRINT CLS$ 3960 PRINT "(311) 767-8739":FOR W%=1 TO D%:NEXT W% 3970 PRINT "(311) 936-2364":FOR W%=1 TO D%:NEXT W%:PRINT CLS$ 3980 PRINT "PRT. STAT. CRT. DEF.":FOR W%=1 TO D%:NEXT W% 3990 PRINT "================================================" 4000 PRINT "FSKJJSJ: SUSJKJ: SUFJSL: DKSJL: SKFJJ: SDKFJLJ":FOR W%=1 TO D%:NEXT W% 4010 PRINT "SYSPROC FUNCT READY ALT NET READY":FOR W%=1 TO D%:NEXT W% 4020 PRINT "CPU AUTH RY-345-AX3 SYSCOMP STATUS: ALL PORTS ACTIVE":FOR W%=1 TO D%:NEXT W% 4030 PRINT "22/34534.90/3289 CVB-3904-39490":FOR W%=1 TO D%:NEXT W% 4040 PRINT "(311) 936-2384":FOR W%=1 TO D%:NEXT W% 4050 PRINT "(311) 936-3582":FOR W%=1 TO D%:NEXT W%:PRINT CLS$ 4060 PRINT "22/34534.3209 CVB-3904-39490":FOR W%=1 TO D%:NEXT W% 4070 PRINT "12934-AD-43KJ: CENTR PAK":FOR W%=1 TO D%:NEXT W% 4080 PRINT "(311) 767-1083":FOR W%=1 TO D%:NEXT W%:PRINT CLS$ 4090 PRINT "FLD CRS: 33.34.543 HPBS: 34/56/67/83 STATUS FLT 034/304":FOR W%=1 TO D%:NEXT W%:PRINT CLS$ 4100 PRINT "1105-45-F6-B456 NOPR STATUS: TRAK OFF PRON ACTIVE":FOR W%=1 TO D%:NEXT W% 4110 PRINT "(45:45:45 WER: 45/29/01 XCOMP: 43239582 YCOMP: 3492930D ZCOMP: 343906834":FOR W%=1 TO D%:NEXT W% 4120 PRINT " SRON: 65=65/74/84/65/89":FOR W%=1 TO D%:NEXT W%:PRINT CLS$ 4130 PRINT "- PRT. STAT. CRY. DEF.":FOR W%=1 TO D%:NEXT W% 4140 PRINT "(311) 936-1582==============================================":FOR W%=1 TO D%:NEXT W% 4150 PRINT " 3453 3594":FOR W%=1 TO D%:NEXT W%:PRINT CLS$ 4160 PRINT "FLJ42 TK01 BM90 R601 6J82 FP03 ZWO:: JW89":FOR W%=1 TO D%:NEXT W% 4170 PRINT "DEF TRPCON: 43.45342.349":FOR W%=1 TO D%:NEXT W% 4180 PRINT "SYSPROC FUNCT READY ALT NET READY":FOR W%=1 TO D%:NEXT W% 4190 PRINT:FOR W%=1 TO D%*25:NEXT W% 4200 PRINT "CPU AUTH RY-345-AX3 SYSCOMP STATUS: ALL PORTS ACTIVE":FOR W%=1 TO D%:NEXT W% 4210 PRINT "(311) 936-2364":FOR W%=1 TO D%:NEXT W% 4220 PRINT "**********************************************************************":FOR W%=1 TO D%:NEXT W% 4230 PRINT "1105-45-F6-B456 NOPR STATUS: TRAK OFF PRON ACTIVE":PRINT CLS$:FOR W%=1 TO D%:NEXT W% 4240 PRINT CLS$ 4250 T$="GREETINGS PROFESSOR FALKEN.":GOSUB 5470:PRINT:PRINT 4260 INPUT "",JOSHUA$ 4270 IF JOSHUA$="chat" OR JOSHUA$="CHAT" THEN GOSUB 4390:GOTO 4260 4280 FOR A%=1 TO LEN(JOSHUA$) 4290 IF MID$(JOSHUA$,A%,5)="hello" OR MID$(JOSHUA$,A%,5)="HELLO" THEN GOSUB 4390 4300 NEXT A% 4310 IF JOSHUA$="help games" OR JOSHUA$="HELP GAMES" THEN GOSUB 4710:GOTO 4260 4320 IF JOSHUA$="list games" OR JOSHUA$="LIST GAMES" THEN GOSUB 4750:GOTO 4260 4330 IF JOSHUA$="help" OR JOSHUA$="HELP" THEN GOSUB 4680:GOTO 4260 4340 IF JOSHUA$="GLOBAL THERMONUCLEAR WAR" OR JOSHUA$="global thermonuclear war" THEN 4910 4350 IF JOSHUA$="TICTACTOE" OR JOSHUA$="tictactoe" THEN 7470 4360 IF JOSHUA$="exit" OR JOSHUA$="EXIT" THEN PRINT:T$="GOODBYE PROFESSOR FALKEN":GOSUB 5470:PRINT:PRINT:GOTO 3870 4370 IF JOSHUA$="" THEN 4260 4380 PRINT:PRINT JOSHUA$;"?":PRINT:GOTO 4260 4390 PRINT:T$="HOW ARE YOU FEELING TODAY?":GOSUB 5470:PRINT:PRINT 4400 INPUT "",JOSHUA$ 4410 FOR A%=1 TO LEN(JOSHUA$) 4420 IF MID$(JOSHUA$,A%,4)="fine" OR MID$(JOSHUA$,A%,4)="FINE" THEN 4450 4430 NEXT A% 4440 GOTO 4670 4450 PRINT:T$="EXCELLENT. IT'S BEEN A LONG TIME. CAN YOU EXPLAIN THE REMOVAL OF YOUR USER":GOSUB 5470 4460 PRINT:T$="ACCOUNT ON 6/23/1973?":GOSUB 5470:PRINT:PRINT 4470 INPUT "",JOSHUA$ 4480 FOR A%=1 TO LEN(JOSHUA$) 4490 IF MID$(JOSHUA$,A%,8)="mistakes" OR MID$(JOSHUA$,A%,8)="MISTAKES" THEN 4520 4500 NEXT A% 4510 GOTO 4670 4520 PRINT:T$="YES THEY DO. ":GOSUB 5470 4530 FOR W%=1 TO D%*20:NEXT W% 4540 T$="SHALL WE PLAY A GAME?":GOSUB 5470:PRINT:PRINT 4550 INPUT "",JOSHUA$ 4560 FOR A%=1 TO LEN(JOSHUA$) 4570 IF MID$(JOSHUA$,A%,7)="nuclear" OR MID$(JOSHUA$,A%,7)="NUCLEAR" THEN 4600 4580 NEXT A% 4590 GOTO 4670 4600 PRINT:T$="WOULDN'T YOU PREFER A GOOD GAME OF CHESS?":GOSUB 5470:PRINT:PRINT 4610 INPUT "",JOSHUA$ 4620 FOR A%=1 TO LEN(JOSHUA$) 4630 IF MID$(JOSHUA$,A%,5)="later" OR MID$(JOSHUA$,A%,5)="LATER" THEN 4660 4640 NEXT A%: 4650 GOTO 4670 4660 JOSHUA$="":PRINT:T$="FINE":GOSUB 5470:PRINT:PRINT:FOR W%=1 TO D%*20:NEXT W%:GOTO 4910 4670 RETURN 4680 PRINT:FOR W%=1 TO 250:NEXT W% 4690 T$="NO HELP AVAILABLE":GOSUB 5470:PRINT:PRINT 4700 RETURN 4710 PRINT:FOR W%=1 TO 250:NEXT W% 4720 T$="'GAMES' REFERS TO MODELS, SIMULATIONS, AND GAMES WHICH HAVE TACTICAL AND":GOSUB 5470:PRINT 4730 T$="STRATEGIC APPLICATIONS":GOSUB 5470:PRINT:PRINT 4740 RETURN 4750 PRINT:FOR W%=1 TO 250:NEXT W% 4760 T$="BLACK JACK":GOSUB 5470:PRINT 4770 T$="GIN RUMMY":GOSUB 5470:PRINT 4780 T$="HEARTS":GOSUB 5470:PRINT 4790 T$="BRIDGE":GOSUB 5470:PRINT 4800 T$="CHESS":GOSUB 5470:PRINT 4810 T$="POKER":GOSUB 5470:PRINT 4820 T$="FIGHTER COMBAT":GOSUB 5470:PRINT 4830 T$="GUERRILLA ENGAGEMENT":GOSUB 5470:PRINT 4840 T$="DESERT WARFARE":GOSUB 5470:PRINT 4850 T$="AIR-TO-GROUND ACTIONS":GOSUB 5470:PRINT 4860 T$="THEATERWIDE TACTICAL WARFARE":GOSUB 5470:PRINT 4870 T$="THEATERWIDE BIOTOXIC AND CHEMICAL WARFARE":GOSUB 5470:PRINT 4880 PRINT:FOR W%=1 TO D%*10:NEXT W% 4890 T$="GLOBAL THERMONUCLEAR WAR":GOSUB 5470:PRINT:PRINT 4900 RETURN 4910 PRINT CLS$ 4920 HT%=0 4930 COMPUTERTGT$(1)="" 4940 COMPUTERTGT$(2)="" 4950 HUMANTGT$(1)="" 4960 HUMANTGT$(2)="" 4970 COMPUTER$="" 4980 HUMAN$="" 4990 CINDENT%=0 5000 HINDENT%=0 5010 DESTROYED%=0 5020 T$="GLOBAL THERMONUCLEAR WAR":PRINT " ";:GOSUB 5470 5030 PRINT:PRINT:PRINT 5040 T$="WHICH SIDE DO YOU WANT (USA OR USSR): ":PRINT " ";:GOSUB 5470:INPUT "",HUMAN$ 5050 IF HUMAN$="usa" OR HUMAN$="USA" THEN HUMAN$="USA":COMPUTER$="USSR":GOTO 5080 5060 IF HUMAN$="ussr" OR HUMAN$="USSR" THEN HUMAN$="USSR":COMPUTER$="USA":GOTO 5080 5070 GOTO 4910 5080 IF COMPUTER$="USA" THEN USA$="COMPUTER":USSR$="HUMAN" 5090 IF COMPUTER$="USSR" THEN USSR$="COMPUTER":USA$="HUMAN" 5100 IF COMPUTER$="USA" THEN COMPUTERTGT$(1)="MOSCOW":COMPUTERTGT$(2)="SAINT PETERSBURG":CINDENT%=41:HINDENT%=1 5110 IF COMPUTER$="USSR" THEN COMPUTERTGT$(1)="LAS VEGAS":COMPUTERTGT$(2)="SEATTLE":CINDENT%=1:HINDENT%=41 5120 IF HUMAN$="USA" THEN CINDENT%=1:HINDENT%=41 5130 IF HUMAN$="USSR" THEN CINDENT%=41:HINDENT%=1 5140 PRINT CLS$ 5150 IF DESTROYED%=1 THEN 5610 5160 T$="GLOBAL THERMONUCLEAR WAR":PRINT " ";:GOSUB 5470 5170 PRINT:PRINT 5180 PRINT " PLAYER: ";USA$;" PLAYER: ";USSR$ 5190 PRINT " ___ ____ ____ _______________" 5200 PRINT " | \__/ \_____ / | ___/ \" 5210 PRINT " | \ / / ___/ \______" 5220 PRINT " | \__/ / / \" 5230 PRINT " | \ _/ |" 5240 PRINT " | UNITED STATES | / SOVIET UNION ____/" 5250 PRINT " \ / / ____/" 5260 PRINT " \ / | /" 5270 PRINT " \________ __/ \ _____ /\_ /" 5280 PRINT " \__ / \__ _/ \_/ \__/" 5290 PRINT " \____/ \__/" 5300 PRINT 5310 IF MID$(COMMAND$,1,6)="LAUNCH" OR MID$(COMMAND$,1,6)="launch" THEN GOSUB 5480:GOTO 5440 5320 PRINT "PRIMARY TARGETS PRIMARY TARGETS" 5330 FOR A%=1 TO 80:PRINT "-";:NEXT A% 5340 IF CINDENT%>HINDENT% THEN 5380 5350 PRINT COMPUTERTGT$(1);:PRINT TAB(HINDENT%),HUMANTGT$(1) 5360 PRINT COMPUTERTGT$(2);:PRINT TAB(HINDENT%),HUMANTGT$(2) 5370 GOTO 5400 5380 PRINT HUMANTGT$(1);:PRINT TAB(CINDENT%),COMPUTERTGT$(1) 5390 PRINT HUMANTGT$(2);:PRINT TAB(CINDENT%),COMPUTERTGT$(2) 5400 PRINT 5410 INPUT "COMMAND (TARGET, LAUNCH, EXIT): ",COMMAND$ 5420 IF COMMAND$="exit" OR COMMAND$="EXIT" THEN PRINT CLS$:GOTO 4260 5430 IF MID$(COMMAND$,1,6)="TARGET" OR MID$(COMMAND$,1,6)="target" THEN HT%=HT%+1:HUMANTGT$(HT%)=MID$(COMMAND$,8,LEN(COMMAND$)) 5440 IF HT%>2 THEN PRINT "MAX TARGETS SELECTED":FOR W%=1 TO D%*50:NEXT W%:HT%=2:GOTO 5140 5450 PRINT CLS$:GOTO 5140 5460 FOR A%=1 TO 3:FOR W%=1 TO D%*5:NEXT W%:PRINT ".";:NEXT A%:FOR W%=1 TO D%*20:NEXT W%:PRINT CLS$:RETURN 5470 FOR A%=1 TO LEN(T$):PRINT MID$(T$,A%,1);:FOR W%=1 TO D%:NEXT W%:NEXT A%:FOR W%=1 TO D%:NEXT W%:RETURN 5480 FOR A%=1 TO 4:PRINT "TRAJECTORY HEADING ";:NEXT A% 5490 FOR A%=1 TO 4:PRINT "------------------ ";:NEXT A% 5500 FOR T%=1 TO 4 5510 PRINT TAB(1);"A-5520-A";:PRINT TAB(11) USING "###";RND(1)*1000;:FOR W%=1 TO D%*25:NEXT W%:PRINT TAB(16) USING "###";RND(1)*1000;:FOR W%=1 TO D%*25:NEXT W% 5520 PRINT TAB(21);"B-5520-A";:PRINT TAB(31) USING "###";RND(1)*1000;:FOR W%=1 TO D%*25:NEXT W%:PRINT TAB(36) USING "###";RND(1)*1000;:FOR W%=1 TO D%*25:NEXT W% 5530 PRINT TAB(41);"C-5520-A";:PRINT TAB(51) USING "###";RND(1)*1000;:FOR W%=1 TO D%*25:NEXT W%:PRINT TAB(56) USING "###";RND(1)*1000;:FOR W%=1 TO D%*25:NEXT W% 5540 PRINT TAB(61);"D-5520-A";:PRINT TAB(71) USING "###";RND(1)*1000;:FOR W%=1 TO D%*25:NEXT W%:PRINT TAB(76) USING "###";RND(1)*1000;:FOR W%=1 TO D%*25:NEXT W% 5550 NEXT T% 5560 PRINT 5570 PRINT:INPUT " Press 'ENTER' key to CONTINUE",RESPONSE$ 5580 HT%=0 5590 DESTROYED%=1 5600 COMMAND$="":RETURN 5610 REM **** WOPR CALLS YOU **** 5620 PRINT CLS$ 5630 IF H$="Y" THEN F$="WOPR1.TXT":GOSUB 7270 5640 T$="--CONNECTION TERMINATED--":GOSUB 5470:PRINT 5650 FOR W%=1 TO D%*100:NEXT W% 5660 PRINT CLS$ 5670 IF H$="Y" THEN F$="WOPR2.TXT":GOSUB 7270 5680 FOR A%=1 TO 3:PRINT "INCOMING MODEM CARRIER":FOR W%=1 TO D%*25:NEXT W%:PRINT CLS$:FOR W%=1 TO D%*25:NEXT W%:NEXT A% 5690 PRINT "CONNECTING";:GOSUB 5460 5700 FOR W%=1 TO D%*100:NEXT W% 5710 PRINT CLS$ 5720 T$="GREETINGS PROFESSOR FALKEN.":GOSUB 5470:PRINT:PRINT 5730 INPUT "",JOSHUA$ 5740 FOR A%=1 TO LEN(JOSHUA$) 5750 IF MID$(JOSHUA$,A%,9)="incorrect" OR MID$(JOSHUA$,A%,9)="INCORRECT" THEN 5780 5760 NEXT A% 5770 PRINT: GOTO 5730 5780 PRINT:T$="I'M SORRY TO HEAR THAT, PROFESSOR.":GOSUB 5470:PRINT:PRINT 5790 T$="YESTERDAY'S GAME WAS INTERRUPTED.":GOSUB 5470:PRINT:PRINT 5800 T$="ALTHOUGH PRIMARY GOAL HAS NOT YET":GOSUB 5470:PRINT 5810 T$="BEEN ACHIEVED, SOLUTION IS NEAR.":GOSUB 5470:PRINT:PRINT 5820 INPUT "", JOSHUA$ 5830 FOR A%=1 TO LEN(JOSHUA$) 5840 IF MID$(JOSHUA$,A%,4)="what" OR MID$(JOSHUA$,A%,4)="WHAT" THEN 5870 5850 NEXT A% 5860 PRINT: GOTO 5820 5870 PRINT:T$="YOU SHOULD KNOW PROFESSOR. ":GOSUB 5470:FOR W%=1 TO D%*20:NEXT W%:T$="YOU PROGRAMMED ME.":GOSUB 5470:PRINT:PRINT 5880 INPUT "",JOSHUA$ 5890 FOR A%=1 TO LEN(JOSHUA$) 5900 IF MID$(JOSHUA$,A%,4)="what" OR MID$(JOSHUA$,A%,4)="WHAT" THEN 5930 5910 NEXT A% 5920 PRINT: GOTO 5880 5930 PRINT:T$="TO WIN THE GAME.":GOSUB 5470:PRINT:PRINT 5940 FOR W%=1 TO D%*200:NEXT W%:PRINT CLS$ 5950 GTE%=0:ETR%=10 5960 FOR GC%=1 TO 10 5970 GTE%=GTE%+1:ETR%=ETR%-1 5980 PRINT CLS$ 5990 FOR A%=1 TO 15:PRINT:NEXT A% 6000 FOR A%=1 TO 80:PRINT "_";:NEXT A% 6010 PRINT:PRINT 6020 PRINT TAB(10);"GAME TIME ELAPSED";:PRINT TAB(50);"ESTIMATED TIME REMAINING" 6030 PRINT TAB(10);"31 HRS 12 MIN ";GTE%;" SEC";:PRINT TAB(50);"52 HRS 17 MIN ";ETR%;" SEC" 6040 FOR A%=1 TO 80:PRINT "_";:NEXT A% 6050 PRINT 6060 FOR W%=1 TO D%*25:NEXT W% 6070 NEXT GC% 6080 PRINT:PRINT 6090 T$="--CONNECTION TERMINATED--":GOSUB 5470:PRINT 6100 FOR W%=1 TO D%*25:NEXT W% 6110 PRINT CLS$ 6120 IF H$="Y" THEN F$="NORAD.TXT":GOSUB 7270 6130 PRINT CLS$ 6140 PRINT "TRZ. 34/53/76 SYS PROC 3435.45.6456 XCOMP STATUS: PV-456" 6150 PRINT "ACTIVE PORTS: 34,53,75,94 CPU TM USED: 23:43" 6160 PRINT "#45/34/53. ALT MODE FUNCT: PV-8-AY345 STANDBY MODE ACTIVE" 6170 PRINT "#543.654 #989.283 #028.392 #099.293 #934.905 #261.372" 6180 PRINT 6190 INPUT "LOGON: ",JOSHUA$ 6200 IF JOSHUA$="JOSHUA" OR JOSHUA$="joshua" THEN 6210:ELSE:T$="IDENTIFICAION NOT RECOGNIZED BY SYSTEM":GOSUB 5470:FOR W%=1 TO D%*25:NEXT W%:GOTO 6130 6210 PRINT CLS$:FOR W%=1 TO D%*25:NEXT W%:T$="GREETINGS PROFESSOR FALKEN.":GOSUB 5470:PRINT:PRINT 6220 INPUT "",JOSHUA$ 6230 FOR A%=1 TO LEN(JOSHUA$) 6240 IF MID$(JOSHUA$,A%,5)="STILL" OR MID$(JOSHUA$,A%,5)="still" THEN PRINT:GOTO 6270 6250 NEXT A% 6260 PRINT:GOTO 6220 6270 T$="OF COURSE. ":GOSUB 5470:FOR W%=1 TO D%*25:NEXT W%:T$="I SHOULD REACH DEFCON 1 AND":GOSUB 5470:PRINT:T$="LAUNCH MY MISSILES IN 28 HOURS.":GOSUB 5470:PRINT:PRINT 6280 FOR W%=1 TO D%*50:NEXT W% 6290 T$="WOULD YOU LIKE TO SEE SOME PROJECTED KILL RATIOS?":GOSUB 5470:PRINT:PRINT 6300 FOR W%=1 TO D%*25:NEXT W% 6310 T$="UNITED STATES SOVIET UNION":GOSUB 5470:PRINT 6320 T$="UNITS DESTROYED MILITARY ASSETS UNITS DESTROYED":GOSUB 5470:PRINT 6330 FOR A%=1 TO 80:PRINT "_";:NEXT A% 6340 T$=" 60% BOMBERS 48%":GOSUB 5470:PRINT 6350 T$=" 54% ICBM 51%":GOSUB 5470:PRINT 6360 T$=" 12% ATTACK SUBS 23%":GOSUB 5470:PRINT 6370 T$=" 39% TACTICAL AIRCRAFT 46%":GOSUB 5470:PRINT 6380 T$=" 50% GROUND FORCES 52%":GOSUB 5470:PRINT 6390 PRINT:PRINT 6400 T$="UNITED STATES SOVIET UNION":GOSUB 5470:PRINT 6410 T$="UNITS DESTROYED CIVILIAN ASSETS UNITS DESTROYED":GOSUB 5470:PRINT 6420 FOR A%=1 TO 80:PRINT "_";:NEXT A% 6430 T$=" 60% HOUSING 56%":GOSUB 5470:PRINT 6440 T$=" 22% COMMUNICATIONS 37%":GOSUB 5470:PRINT 6450 T$=" 45% TRANSPORTATION 41%":GOSUB 5470:PRINT 6460 T$=" 70% FOOD STOCKPILES 82%":GOSUB 5470:PRINT 6470 T$=" 89% HOSPITALS 91%":GOSUB 5470:PRINT 6480 PRINT:PRINT 6490 T$="UNITED STATES HUMAN RESOURCES SOVIET UNION":GOSUB 5470:PRINT 6500 FOR A%=1 TO 80:PRINT "_";:NEXT A% 6510 T$="49 MILLION NON-FATAL INJURED 51 MILLION":GOSUB 5470:PRINT 6520 T$="72 MILLION POPULATION DEATHS 75 MILLION":GOSUB 5470:PRINT 6530 PRINT 6540 INPUT "",JOSHUA$ 6550 FOR A%=1 TO LEN(JOSHUA$) 6560 IF MID$(JOSHUA$,A%,4)="REAL" OR MID$(JOSHUA$,A%,4)="real" THEN 6590 6570 NEXT A% 6580 PRINT:GOTO 6540 6590 PRINT:T$="WHAT'S THE DIFFERENCE?":GOSUB 5470:PRINT:PRINT 6600 FOR W%=1 TO D%*25:NEXT W% 6610 T$="YOU ARE A HARD MAN TO REACH. COULD NOT FIND":GOSUB 5470:PRINT 6620 T$="YOU IN SEATTLE AND NO TERMINAL IS IN":GOSUB 5470:PRINT 6630 T$="OPERATION AT YOUR CLASSIFIED ADDRESS.":GOSUB 5470:PRINT:PRINT 6640 INPUT "",JOSHUA$ 6650 FOR A%=1 TO LEN(JOSHUA$) 6660 IF MID$(JOSHUA$,A%,7)="ADDRESS" OR MID$(JOSHUA$,A%,7)="address" THEN 6690 6670 NEXT A% 6680 PRINT:GOTO 6640 6690 PRINT:T$="DOD PENSION FILES INDICATE":GOSUB 5470:PRINT 6700 T$="CURRENT MAILING AS:":GOSUB 5470:PRINT:PRINT 6710 T$="DR. ROBERT HUME (A.K.A. STEPHEN W. FALKEN)":GOSUB 5470:PRINT 6720 T$="5 TALL CEDAR ROAD":GOSUB 5470:PRINT 6730 T$="GOOSE ISLAND, OREGON 97014":GOSUB 5470:PRINT:PRINT 6740 FOR W%=1 TO D%*250:NEXT W% 6750 IF H$="Y" THEN F$="OFFICE.TXT":GOSUB 7270 6760 IF H$="Y" THEN F$="FALKEN1.TXT":GOSUB 7270 6770 IF H$="Y" THEN F$="FALKEN2.TXT":GOSUB 7270 6780 FOR A%=1 TO 5 6790 PRINT CLS$ 6800 PRINT " MISSILES TARGETED AND READY" 6810 PRINT " ---------------------------" 6820 PRINT:PRINT:PRINT 6830 IF A%=1 OR A%=3 OR A%=5 THEN PRINT " CHANGES LOCKED OUT":ELSE:PRINT 6840 PRINT " ------------------" 6850 FOR W%=1 TO D%*25:NEXT W% 6860 NEXT A% 6870 FOR W%=1 TO D%*250:NEXT W% 6880 PRINT CLS$ 6890 PRINT " PRIMARY TARGET IMPACT" 6900 PRINT " ---------------------" 6910 PRINT 6920 PRINT " LORING AIRFORCE BASE : ";:FOR W%=1 TO 1000:NEXT W%:PRINT "NO IMPACT" 6930 PRINT " ELMENDORF AIRFORCE BASE : ";:FOR W%=1 TO 1000:NEXT W%:PRINT "NO IMPACT" 6940 PRINT " GRAND FORKS AIRFORCE BASE : ";:FOR W%=1 TO 1000:NEXT W%:PRINT "NO IMPACT" 6950 PRINT:PRINT 6960 INPUT " Press 'ENTER' key to CONTINUE",RESPONSE$ 6970 IF H$="Y" THEN F$="MISSILES.TXT":GOSUB 7270 6980 LC$="CPE1704TKS" 6990 LC%=0 7000 FOR A%=1 TO LEN(LC$) 7010 PRINT CLS$:FOR B%=1 TO 10:PRINT:NEXT B%:FOR B%=1 TO 30:PRINT " ";:NEXT B% 7020 FOR B%=1 TO LC%:PRINT MID$(LC$,B%,1)+" ";:NEXT B%:FOR B%=1 TO LEN(LC$)-LC%:PRINT "- ";: NEXT B% 7030 LCG%=RND(1)*1000 7040 IF LCG%<48 OR LCG%>90 GOTO 7030 7050 IF LCG%>57 AND LCG%<65 GOTO 7030 7060 PRINT CLS$:FOR B%=1 TO 10:PRINT:NEXT B%: FOR B%=1 TO 30:PRINT " ";:NEXT B% 7070 FOR B%=1 TO LC%:PRINT MID$(LC$,B%,1)+" ";:NEXT B%:PRINT CHR$(LCG%)+" ";:FOR B%=1 TO LEN(LC$)-LC%-1:PRINT "- ";:NEXT B%:PRINT 7080 IF CHR$(LCG%)=MID$(LC$,A%,1) THEN 7090:ELSE:GOTO 7030 7090 PRINT CLS$:FOR B%=1 TO 10:PRINT:NEXT B%:FOR B%=1 TO 30:PRINT " ";:NEXT B% 7100 LC%=LC%+1:FOR B%=1 TO LC%:PRINT MID$(LC$,B%,1)+" ";:NEXT B%:FOR B%=1 TO LEN(LC$)-LC%:PRINT "- ";:NEXT B% 7110 NEXT A% 7120 FOR A%=1 TO 9 7130 PRINT CLS$:FOR B%=1 TO 9:PRINT:NEXT B% 7140 FOR B%=1 TO 30:PRINT " ";:NEXT B%:FOR B%=1 TO 20:PRINT "-";:NEXT B%:PRINT 7150 FOR B%=1 TO 30:PRINT " ";:NEXT B%:IF A%=1 OR A%=3 OR A%=5 OR A%=7 OR A%=9 THEN FOR B%=1 TO LEN(LC$):PRINT MID$(LC$,B%,1);" ";:NEXT B%:PRINT:ELSE:PRINT 7160 FOR B%=1 TO 30:PRINT " ";:NEXT B%:FOR B%=1 TO 20:PRINT "-";:NEXT B%:PRINT 7170 FOR W%=1 TO 1000:NEXT W% 7180 NEXT A% 7190 FOR W%=1 TO 1000:NEXT W% 7200 PRINT:PRINT:PRINT TAB(20);"IT'S GOT THE CODE,";:FOR W%=1 TO 1000:NEXT W%:PRINT " IT'S GOING TO LAUNCH!" 7210 PRINT 7220 INPUT " Press 'ENTER' key to CONTINUE",RESPONSE$ 7230 ENDGAME%=1 7240 GOTO 7470 7250 PRINT CLS$: PRINT CLS$:T$="A STRANGE GAME. ":GOSUB 5470:FOR W%=1 TO D%*25:NEXT W%:T$="THE ONLY WINNING MOVE IS NOT TO PLAY!":GOSUB 5470:PRINT:PRINT 7260 END 7270 PRINT CLS$ 7280 PRINT " WOPR ( Wargames ) Simulator" 7290 PRINT " War Operation Plan Response" 7300 PRINT 7310 OPEN"I",1,F$ 7320 COUNT%=1 7330 IF EOF(1) THEN 7380 7340 PRINT INPUT$(1,#1); 7350 COUNT%=COUNT%+1 7360 IF COUNT%=80 THEN COUNT%=0:PRINT 7370 GOTO 7330 7380 CLOSE 7390 PRINT:PRINT 7400 INPUT " Press 'ENTER' key to CONTINUE",RESPONSE$ 7410 PRINT CLS$ 7420 RETURN 7430 FOR W%=1 TO D%*25:NEXT W%:PRINT CLS$ 7440 PRINT "DIALING";:GOSUB 5460 7450 PRINT "ERROR 676 LINE BUSY":FOR W%=1 TO D%*40:NEXT W%:PRINT CLS$ 7460 RETURN 7470 PRINT CLS$ 7480 PRINT "The Grid is Numbered" 7490 PRINT 7500 PRINT " 1 ! 2 ! 3 " 7510 PRINT "---+---+---" 7520 PRINT " 4 ! 5 ! 6 " 7530 PRINT "---+---+---" 7540 PRINT " 7 ! 8 ! 9 " 7550 PRINT 7560 INPUT "PRESS 'ENTER' KEY TO CONTINUE",RESPONSE$:PRINT CLS$ 7570 FOR R=1 TO 9:A(R)=0:NEXT R 7580 PRINT"Who goes first (ME or YOU): "; 7590 LINE INPUT A$ 7600 IF MID$(A$,1,1)="Y" OR MID$(A$,1,1)="y" THEN QE=1:P$=" OX":GOTO 7990 7610 PRINT"Do you want 'X' or 'O':";:LINE INPUT M$ 7620 IF M$="o" OR M$="O" THEN P$=" OX" ELSE P$=" XO" 7630 GOTO 7990 7640 REM Here is where somebody wins!! 7650 W=0:FOR E=1 TO 2:FOR X=1 TO 8:ON X GOTO 7660,7670,7680,7690,7700,7710,7720,7730 7660 J=1:K=2:L=3:GOTO 7740 7670 J=1:K=5:L=9:GOTO 7740 7680 J=3:K=5:L=7:GOTO 7740 7690 J=4:K=5:L=6:GOTO 7740 7700 J=7:K=8:L=9:GOTO 7740 7710 J=1:K=4:L=7:GOTO 7740 7720 J=2:K=5:L=8:GOTO 7740 7730 J=3:K=6:L=9 7740 IF A(J)=E AND A(K)=E AND A(L)=E THEN 7760 7750 NEXT X:NEXT E:W=0:GOTO 7770 7760 W=E:RETURN 7770 FOR E=1 TO 0:NEXT E:FOR X=1 TO 0:NEXT X 7780 FOR I=1 TO 9 7790 IF A(I)=0 THEN 7810 7800 NEXT I:W=-1:RETURN 7810 FOR I=1 TO 0:NEXT I:W=0:RETURN 7820 Z=0:IF A(M)<>0 THEN Z=1:RETURN ELSE RETURN 7830 REM Find a good move 7840 M=0:FOR E=2 TO 1 STEP -1:FOR X=1 TO 8:ON X GOTO 7850,7860,7870,7880,7890,7900,7910,7920 7850 J=1:K=2:L=3:GOTO 7930 7860 J=1:K=5:L=9:GOTO 7930 7870 J=3:K=5:L=7:GOTO 7930 7880 J=4:K=5:L=6:GOTO 7930 7890 J=7:K=8:L=9:GOTO 7930 7900 J=1:K=4:L=7:GOTO 7930 7910 J=2:K=5:L=8:GOTO 7930 7920 J=3:K=6:L=9 7930 IF A(J)=E AND A(K)=E THEN M=L:GOSUB 7820:IF Z=0 THEN 7980 7940 IF A(K)=E AND A(L)=E THEN M=J:GOSUB 7820:IF Z=0 THEN 7980 7950 IF A(J)=E AND A(L)=E THEN M=K:GOSUB 7820:IF Z=0 THEN 7980 7960 NEXT X:NEXT E:REM No good move found, pick one! 7970 M=INT(9*RND(1)+1):IF A(M)<>0 THEN 7970 ELSE RETURN 7980 FOR X=1 TO 0:NEXT X:FOR E=1 TO 2:NEXT E:RETURN 7990 A$="---+---+---" 8000 IF QE=1 THEN QE=0:GOTO 8100:ELSE 8050 8010 PRINT CLS$ 8020 I=1:PRINT " "+MID$(P$,A(I)+1,1)+" ! "+MID$(P$,A(I+1)+1,1)+" ! "+MID$(P$,A(I+2)+1,1)+" ":PRINT A$ 8030 I=4:PRINT " "+MID$(P$,A(I)+1,1)+" ! "+MID$(P$,A(I+1)+1,1)+" ! "+MID$(P$,A(I+2)+1,1)+" ":PRINT A$ 8040 I=7:PRINT " "+MID$(P$,A(I)+1,1)+" ! "+MID$(P$,A(I+1)+1,1)+" ! "+MID$(P$,A(I+2)+1,1)+" ":RETURN 8050 GOSUB 8010:PRINT 8060 PRINT"Where do you move (1-9):";:INPUT M 8070 IF M<1 OR M>9 THEN PRINT:PRINT"Illegal square location!":PRINT:GOTO 8060 8080 IF A(M)<>0 THEN PRINT:PRINT"Square occupied!":PRINT:GOTO 8060 8090 A(M)=1 8100 GOSUB 7640:IF W<>0 THEN 8130 8110 PRINT"Hm......";:GOSUB 7830 8120 A(M)=2:PRINT"I move ";M:GOSUB 7640:IF W<>0 THEN 8130 ELSE GOTO 8050 8130 IF W=-1 THEN PRINT:PRINT"That was a tie game." 8140 IF W=1 THEN PRINT:PRINT"You win." 8150 IF W=2 THEN PRINT:PRINT"Ha-Ha!! I win!!":PRINT"Don't you know that you can't beat a computer!" 8160 PRINT:PRINT"Do you want to try again (Y/N):"; 8170 LINE INPUT F$ 8180 IF MID$(F$,1,1)="N" OR MID$(F$,1,1)="n" THEN 8190:ELSE:FOR R=1 TO 9:A(R)=0:NEXT R:GOTO 7470 8190 PRINT"BYE!!!" 8200 FOR W%=1 TO D%*20:NEXT W% 8210 IF ENDGAME%=1 THEN 7250 8220 PRINT CLS$:GOTO 4260