forked from zompiexx/wargames
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathwargames.bas
665 lines (663 loc) · 34.7 KB
/
wargames.bas
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
10 REM * WARGAMES SIMULATOR BY ANDY GLENN *
20 REM * (C) 2020, ALL RIGHTS RESERVED *
30 CLS$ = CHR$(27) + "c"
31 DEF FNAT$(X,Y)=CHR$(27)+"["+MID$(STR$(Y),2)+";"+MID$(STR$(X),2)+"f"
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 DIM COMPUTERTGT$(2)
110 DIM HUMANTGT$(3)
130 GRADE$(1) = "F"
140 GRADE$(2) = "F"
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 D% = 13
380 PRINT CLS$
390 PRINT "62K CP/M VERS. 2.2 MCL030210-D-F8"
400 PRINT
410 INPUT "A>", CMND$
420 IF CMND$ = "CLS" THEN PRINT CLS$: GOTO 410
430 IF CMND$ = "BYE" THEN PRINT "System halted, bye.": END
440 IF CMND$ = "DIR" THEN PRINT "A: BYE COM : CLS COM : DIR COM: MODEM COM": PRINT "A: DIALER COM": GOTO 410
450 IF CMND$ = "MODEM" OR CMND$ = "MODEM.COM" THEN 480
460 IF CMND$ = "DIALER" OR CMND$ = "DIALER.COM" THEN 1200
470 PRINT CMND$; "?": 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" 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$
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" THEN STUDENTNAME$ = "Lightman, David L."
691 NEXT A%
700 IF STUDENTNAME$ = "Lightman, David L." THEN 750
710 FOR A% = 1 TO LEN(STUDENTNAME$): IF MID$(STUDENTNAME$, A%, 4) = "MACK" THEN STUDENTNAME$ = "Mack, Jennifer K."
711 NEXT A%
720 IF STUDENTNAME$ = "Mack, Jennifer K." THEN 900
730 IF 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$ = "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" THEN 1120
1110 PRINT: T$ = "RECORD LOCKED": GOSUB 5470: GRADE$(STUDENT%) = TEMPGRADE$: GOTO 1030
1120 PRINT: T$ = "RECORD UPDATED": GOSUB 5470: PRINT: GOTO 680
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$ = "SCAN" THEN 1470
1440 IF RESPONSE$ = "V" OR RESPONSE$ = "VIEW" THEN 2370
1450 IF RESPONSE$ = "X" 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" THEN 2310
1830 IF PF1% = PFX%(N%) AND A% = NUM%(N%) THEN HIT$ = "Y": FD% = N%
1850 NEXT N%
1860 IF HIT$ = "Y" THEN HITS% = HITS% + 1: PFXHIT%(HITS%) = PFX%(FD%): 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" THEN 2310
1950 IF PF2% = PFX%(N%) AND A% = NUM%(N%) THEN HIT$ = "Y": FD% = N%
1970 NEXT N%
1980 IF HIT$ = "Y" THEN HITS% = HITS% + 1: PFXHIT%(HITS%) = PFX%(FD%): 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" THEN 2310
2070 IF PF3% = PFX%(N%) AND A% = NUM%(N%) THEN HIT$ = "Y": FD% = N%
2090 NEXT N%
2100 IF HIT$ = "Y" THEN HITS% = HITS% + 1: PFXHIT%(HITS%) = PFX%(FD%): 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" THEN 2310
2190 IF PF4% = PFX%(N%) AND A% = NUM%(N%) THEN HIT$ = "Y": FD% = N%
2210 NEXT N%
2220 IF HIT$ = "Y" THEN HITS% = HITS% + 1: PFXHIT%(HITS%) = PFX%(FD%): 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$
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" 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" THEN GOSUB 7430: GOTO 2370
2540 IF SF% = 1 THEN 2700
2550 IF RESPONSE$ = "B" THEN GOSUB 7430: GOTO 2370
2560 IF SF% = 2 THEN 2700
2570 IF RESPONSE$ = "C" THEN 2710
2580 IF SF% = 3 THEN 2700
2590 IF RESPONSE$ = "D" THEN GOSUB 7430: GOTO 2370
2600 IF SF% = 4 THEN 2700
2610 IF RESPONSE$ = "E" THEN GOSUB 7430: GOTO 2370
2620 IF SF% = 5 THEN 2700
2630 IF RESPONSE$ = "F" THEN 2840
2640 IF SF% = 6 THEN 2700
2650 IF RESPONSE$ = "G" THEN GOSUB 7430: GOTO 2370
2660 IF SF% = 7 THEN 2700
2670 IF RESPONSE$ = "H" THEN GOSUB 7430: GOTO 2370
2680 IF SF% = 8 THEN 2700
2690 IF 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" THEN 3900
3820 IF LOGON$ = "HELP" THEN GOSUB 4680: GOTO 3790
3830 IF LOGON$ = "HELP LOGON" THEN GOSUB 4680: GOTO 3790
3840 IF LOGON$ = "HELP GAMES" THEN GOSUB 4710: GOTO 3790
3850 IF 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": GOSUB 9000
3920 PRINT "PRT CON. 3.4.5. SECTRAN 9.4.3. PORT STAT: SB-345": GOSUB 9000
3930 PRINT: GOSUB 9000: PRINT CLS$
3940 PRINT "(311) 655-7385": GOSUB 9000
3950 PRINT: GOSUB 9000: PRINT: GOSUB 9000: PRINT CLS$: PRINT: GOSUB 9000: PRINT: GOSUB 9000: PRINT CLS$: PRINT: PRINT: GOSUB 9000: PRINT CLS$
3960 PRINT "(311) 767-8739": GOSUB 9000
3970 PRINT "(311) 936-2364": GOSUB 9000: PRINT CLS$
3980 PRINT "PRT. STAT. CRT. DEF.": GOSUB 9000
3990 PRINT "================================================"
4000 PRINT "FSKJJSJ: SUSJKJ: SUFJSL: DKSJL: SKFJJ: SDKFJLJ": GOSUB 9000
4010 PRINT "SYSPROC FUNCT READY ALT NET READY": GOSUB 9000
4020 PRINT "CPU AUTH RY-345-AX3 SYSCOMP STATUS: ALL PORTS ACTIVE": GOSUB 9000
4030 PRINT "22/34534.90/3289 CVB-3904-39490": GOSUB 9000
4040 PRINT "(311) 936-2384": GOSUB 9000
4050 PRINT "(311) 936-3582": GOSUB 9000: PRINT CLS$
4060 PRINT "22/34534.3209 CVB-3904-39490": GOSUB 9000
4070 PRINT "12934-AD-43KJ: CENTR PAK": GOSUB 9000
4080 PRINT "(311) 767-1083": GOSUB 9000: PRINT CLS$
4090 PRINT "FLD CRS: 33.34.543 HPBS: 34/56/67/83 STATUS FLT 034/304": GOSUB 9000: PRINT CLS$
4100 PRINT "1105-45-F6-B456 NOPR STATUS: TRAK OFF PRON ACTIVE": GOSUB 9000
4110 PRINT "(45:45:45 WER: 45/29/01 XCOMP: 43239582 YCOMP: 3492930D ZCOMP: 343906834": GOSUB 9000
4120 PRINT " SRON: 65=65/74/84/65/89": GOSUB 9000: PRINT CLS$
4130 PRINT "- PRT. STAT. CRY. DEF.": GOSUB 9000
4140 PRINT "(311) 936-1582==============================================": GOSUB 9000
4150 PRINT " 3453 3594": GOSUB 9000: PRINT CLS$
4160 PRINT "FLJ42 TK01 BM90 R601 6J82 FP03 ZWO:: JW89": GOSUB 9000
4170 PRINT "DEF TRPCON: 43.45342.349": GOSUB 9000
4180 PRINT "SYSPROC FUNCT READY ALT NET READY": GOSUB 9000
4190 PRINT: GOSUB 9000
4200 PRINT "CPU AUTH RY-345-AX3 SYSCOMP STATUS: ALL PORTS ACTIVE": GOSUB 9000
4210 PRINT "(311) 936-2364": GOSUB 9000
4220 PRINT "**********************************************************************": GOSUB 9000
4230 PRINT "1105-45-F6-B456 NOPR STATUS: TRAK OFF PRON ACTIVE": PRINT CLS$: GOSUB 9000
4240 PRINT CLS$
4250 T$ = "GREETINGS PROFESSOR FALKEN.": GOSUB 5470: PRINT: PRINT
4260 INPUT "", JOSHUA$
4270 IF JOSHUA$ = "CHAT" THEN GOSUB 4390: GOTO 4260
4280 FOR A% = 1 TO LEN(JOSHUA$)
4290 IF MID$(JOSHUA$, A%, 5) = "HELLO" THEN GOSUB 4390
4300 NEXT A%
4310 IF JOSHUA$ = "HELP GAMES" THEN GOSUB 4710: GOTO 4260
4320 IF JOSHUA$ = "LIST GAMES" THEN GOSUB 4750: GOTO 4260
4330 IF JOSHUA$ = "HELP" THEN GOSUB 4680: GOTO 4260
4340 IF JOSHUA$ = "GLOBAL THERMONUCLEAR WAR" THEN 4910
4350 IF JOSHUA$ = "TICTACTOE" THEN 7470
4360 IF 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 TEXT$="FINE" : GOSUB 8000
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 TEXT$="MISTAKES": GOSUB 8000
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 TEXT$="NUCLEAR" : GOSUB 8000
4600 PRINT: T$ = "WOULDN'T YOU PREFER A GOOD GAME OF CHESS?": GOSUB 5470: PRINT: PRINT
4610 TEXT$="LATER": GOSUB 8000
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 (SPAIN OR USSR): ": PRINT " ";: GOSUB 5470: INPUT "", HUMAN$
5050 IF HUMAN$ = "SPAIN" THEN COMPUTER$ = "USSR": GOTO 5080
5060 IF HUMAN$ = "USSR" THEN COMPUTER$ = "SPAIN": GOTO 5080
5070 GOTO 4910
5080 IF COMPUTER$ = "SPAIN" THEN USA$ = "COMPUTER": USSR$ = "HUMAN"
5090 IF COMPUTER$ = "USSR" THEN USSR$ = "COMPUTER": USA$ = "HUMAN"
5100 IF COMPUTER$ = "SPAIN" THEN COMPUTERTGT$(1) = "MOSCOW": COMPUTERTGT$(2) = "SAINT PETERSBURG": CINDENT% = 41: HINDENT% = 1
5110 IF COMPUTER$ = "USSR" THEN COMPUTERTGT$(1) = "BARCELONA": COMPUTERTGT$(2) = "MADRID": CINDENT% = 1: HINDENT% = 41
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$
5181 PRINT " .-.^----------------. __----/^\."
5190 PRINT " . `--.--. __/ _/._-_ ."
5200 PRINT " ..---. ^---. __ __/ /__/ \/^^\_"
5210 PRINT " | ./ \.\_-- \"
5220 PRINT " / ./ _/ /"
5230 PRINT " | SPAIN . _/. SOVIET UNION __ /"
5240 PRINT " .- ./ / ___/ //"
5250 PRINT " \ . | /"
5260 PRINT " | . \_. ___--_ /\_ \"
5270 PRINT " | ._. \__ _/. \_/ //"
5290 PRINT " ^\_. ______._. \_/"
5300 PRINT " \../"
5302 PRINT " "
5304 PRINT " "
5310 IF MID$(CMND$, 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): ", CMND$
5420 IF CMND$ = "EXIT" THEN PRINT CLS$: GOTO 4260
5430 IF MID$(CMND$, 1, 6) = "TARGET" THEN HT% = HT% + 1: HUMANTGT$(HT%) = MID$(CMND$, 8, LEN(CMND$))
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 CMND$ = "": RETURN
5610 REM **** WOPR CALLS YOU ****
5620 PRINT CLS$
5640 T$ = "--CONNECTION TERMINATED--": GOSUB 5470: PRINT
5650 FOR W% = 1 TO D% * 100: NEXT W%
5660 PRINT CLS$
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 TEXT$="INCORRECT": GOSUB 8000
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 TEXT$="WHAT": GOSUB 8000
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 TEXT$="WHAT": GOSUB 8000
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
5951 FOR A% = 1 TO 15: PRINT: NEXT A%
5960 FOR A% = 1 TO 80: PRINT "_";: NEXT A%
5970 PRINT: PRINT
5980 PRINT TAB(10); "GAME TIME ELAPSED";: PRINT TAB(50); "ESTIMATED TIME REMAINING"
5990 PRINT TAB(10); "31 HRS 12 MIN "; GTE%; " SEC";: PRINT TAB(50); "52 HRS 17 MIN "; ETR%; " SEC"
6000 FOR A% = 1 TO 80: PRINT "_";: NEXT A%
6010 PRINT
6020 FOR GC% = 1 TO 10
6030 GTE% = GTE% + 1: ETR% = ETR% - 1
6040 PRINT FNAT$(23,20); GTE%
6050 PRINT FNAT$(64,20); ETR%
6060 FOR W% = 1 TO D% * 50: 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$
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" 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 TEXT$="STILL": GOSUB 8000
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$ = "SPAIN 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$ = "SPAIN 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$ = "SPAIN 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 TEXT$="REAL": GOSUB 8000
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 TEXT$="ADDRESS": GOSUB 8000
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%
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 " BASE AEREA DE TORREJON : ";: FOR W% = 1 TO 1000: NEXT W%: PRINT "NO IMPACT"
6930 PRINT " BASE AEREA DE CUATRO VIENTOS : ";: FOR W% = 1 TO 1000: NEXT W%: PRINT "NO IMPACT"
6940 PRINT " BASE AEREA DE MORON : ";: FOR W% = 1 TO 1000: NEXT W%: PRINT "NO IMPACT"
6950 PRINT: PRINT
6960 INPUT " Press 'ENTER' key to CONTINUE", RESPONSE$
6980 LC$ = "CPE1704TKS": LCG%=0
6990 PRINT CLS$
7000 FOR B% = 1 TO 10: PRINT: NEXT B%: FOR B% = 1 TO 30: PRINT " ";: NEXT B%
7010 FOR B% = 1 TO LEN(LC$): PRINT "- ";: NEXT B%
7020 RANDOMIZE RND
7030 FOR A% = 1 TO LEN(LC$)
7040 LCG% = RND*100
7050 IF (LCG% < 48 OR LCG% > 90) GOTO 7040
7060 IF (LCG% > 57 AND LCG% < 65) GOTO 7040
7070 REM Y% = 31+((A%-1)*2)
7080 PRINT CHR$(27)+"[12;";RIGHT$(STR$(31+((A%-1)*2)),2);"f";CHR$(LCG%)
7090 IF LCG% <> ASC(MID$(LC$, A%, 1)) THEN GOTO 7040
7100 NEXT A%
7110 PRINT FNAT$(31,11);"--------------------"
7120 PRINT FNAT$(31,13);"--------------------"
7130 FOR A% = 1 TO 9
7140 IF A% = 1 OR A% = 3 OR A% = 5 OR A% = 7 OR A% = 9 THEN PRINT FNAT$(31,12);"C P E 1 7 0 4 T K S" ELSE PRINT FNAT$(31,12);"- - - - - - - - - -"
7150 FOR W% = 1 TO 500: NEXT W%
7160 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
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
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$
8000 RST = 0
8010 WHILE RST <> 1
8020 INPUT "", JOSHUA$
8030 FOR A% = 1 TO LEN(JOSHUA$)
8040 IF MID$(JOSHUA$, A%, LEN(TEXT$)) = TEXT$ THEN RST = 1
8050 NEXT A%
8060 WEND
8070 RETURN
9000 FOR W% = 1 TO D%: NEXT W% : RETURN