REM Игра «Посадка на Луну».
REM Текст на «Бейсике» для ЭВМ Д3–28 с дисплеем 15ИЭ–00–013
REM
1 GOTO 110
2 J=V+G*S: I=A-S*(V+G*S/2): IF K=0 THEN RETURN
3 Q=1-K*S/M: J=J+Z*LOG(Q): I=I+Z*S+Q*LOG(Q)*Z/K*M: RETURN
4 L=L+S: T=T-S: M=M-S*(K+F): A=I: V=J: RETURN
5 IF L=B THEN 95
6 PRINT USING "######"; L ; INT(A) ; (A-INT(A))*5280; 5280*V; M-N; "#####.##";
7 INPUT " ? ", K: T=10: IF K>=8 THEN IF K<=200 GOTO 9
8 IF K<>0 THEN PRINT " СТОЛЬКО ГОРЮЧЕГО РАСХОДОВАТЬ НЕЛЬЗЯ " ;: GOTO 7
9 Q=RND(3): IF Q> .98 GOTO 23
10 Z=1.8*(1-H)
11 IF M-N<1E-3 GOTO 27
12 IF T<1E-3 GOTO 5
13 S=T: IF N+S*(K+F)>M THEN S=(M-N)/(K+F)
14 GOSUB 2: IF I<=0 GOTO 17
15 IF V>0 THEN IF J<0 GOTO 19
16 GOSUB 4: GOTO 11
17 IF S<5E-3 GOTO 28
18 S=2*A/(V+SQR(V*V+2*A*(G-(Z*K/M)))): GOSUB 2: GOSUB 4: GOTO 17
19 W=(1-M*G/(Z*K))/2: S=M*V/(Z*K*(W+SQR(W*W+V/2)))+5E-2: GOSUB 2
20 IF I<=0 GOTO 17
21 GOSUB 4: IF J<0 THEN IF V>6 GOTO 19
22 GOTO 11
23 IF Q> .998 THEN PRINT " ЛУННЫЙ МОДУЛЬ УНИЧТОЖЕН МЕТЕОРИТОМ ": GOTO 52
24 PRINT " УДАР МИКРОМЕТЕОРИТА, " ;: Q1= .5+RND(3)
25 IF Q< .99 THEN F=F+Q1: PRINT " УТЕЧКА ГОРЮЧЕГО "; F; " ФУНТОВ/ С ": GOTO 10
26 PRINT " ТЯГА ДВИГАТЕЛЯ УПАЛА НА"; Q1; " % ": H=H+.01*Q1: GOTO 10
27 PRINT " ГОРЮЧЕЕ КОНЧИЛОСЬ НА"; L; " С ": S=(SQR(V*V+2*A*G)-V)/G: V=V+G*S: L=L+S
28 PRINT "ВЫ НА ЛУНЕ НА "; L; " C , ";: W=5280*V: PRINT " СКОРОСТЬ СТОЛКНОВЕНИЯ "; W; "ФУТОВ/ С "
29 R=M-N: PRINT " ГОРЮЧЕГО ОСТАЛОСЬ "; R; " ФУНТОВ ": GOTO 38
30 PRINT " ПОСАДКА, " ;: Y=60- .08*(L-160)-1.5*W*W+15*F+25*H: IF R<550 GOTO 35
31 Y=Y+( .01*(R-550))3: ON X GOTO 33,34,35
32 PRINT " ВЫ ПРЕКРАСНЫЙ СНАЙПЕР ": RETURN
33 PRINT " ВЫ ОТЛИЧНЫЙ НАЕ3ДНИК ": RETURN
34 PRINT " НЕ ОТЛИЧНАЯ, НО, В ОБЩЕМ-ТО, НЕПЛОХО ": RETURN
35 PRINT " НО ГОРЮЧЕГО ДЛЯ В3ЛЕТА " ;: Y=Y-2*( .01*(550-R))3
36 IF R<400 THEN PRINT " НЕ ХВАТИТ ": Y=Y- .1*( .01*(400-R))4: RETURN
37 PRINT " МАЛОВАТО ": RETURN
38 IF W>2.85 GOTO 47
39 IF D+E+O+P+C=0 THEN PRINT " ВЫ СНЯТЫ С ПОЛЕТОВ 3А ПОЛЬ3ОВАНИЕ ШПАРГАЛКОЙ ": GOTO 44
40 Z4=Z4+1: U=0: IF W> .89 THEN 45
41 PRINT " ВИРТУО3НАЯ " ;: X=0: GOSUB 30
42 PRINT " ВАША ПЕНСИЯ БУДЕТ УВЕЛИЧЕНА НА "; Y; " DOLL./NED. ": IF Z4=1 GOTO 52
43 PRINT " ТРЕНИРОВКА ОКОНЧЕНА - ВЫ УЖЕ ХОРОШО ЛЕТАЕТЕ, ПЕРЕКУР. "
44 PRINT " КТО СЛЕДУЮЩИЙ ? ": GOTO 96
45 PRINT " БЕ3УПРЕЧНАЯ " ;: X=1: GOSUB 30: Y= .6*Y: IF Z4=1 GOTO 52
46 GOTO 42
47 IF W>9.7 GOTO 56
48 PRINT " ХОРОШАЯ "; : X=2: GOSUB 30: U=0: D=D+1: ON D GOTO 51,50,49
goto 52
49 PRINT " ВАШИ РЕ3УЛЬТАТЫ ПОЧТИ НЕ УЛУЧШАЮТСЯ ": GOTO 44
50 PRINT " ВСЕ ЖЕ НЕ СЛЕДУЕТ УСПОКАИВАТЬСЯ НА ДОСТИГНУТОМ ": GOTO 52
51 IF E+O+P+S=0 THEN PRINT " ВЫ ПОДО3РЕВАЕТЕСЬ В ПОЛЬ3ОВАНИИ ШПАРГАЛКОЙ "
52 PRINT " НАЧНЕТЕ С ШАГА 0 (0) ИЛИ С ШАГА "; USING "###"; B; " (1) " ;
53 INPUT " ? ", F7: IF F7=0 GOTO 93
54 IF F8=0 GOTO 93
55 L=L1: A=A1: V=V1: M=M1: F=F1: H=H1: GOTO 94
56 IF W>27.3 THEN 65
57 PRINT " ЭТО ПОХОЖЕ НА ПРЫЖОК КО3ЛА, НО ВСЕ-ТАКИ ВЫ СЕЛИ "
58 E=E+1: IF E>1 THEN ON E GOTO 60,61,62
59 IF U>1 THEN PRINT " ПРОДОЛЖАЙТЕ В ТОМ ЖЕ ДУХЕ ": U=1: GOTO 52
60 PRINT " ВЫ УХУДШИЛИ СВОЙ ГРАФИК ПОЛЕТА ": U=1: GOTO 52
61 PRINT " ХОРОШО БЫ ПОАККУРАТНЕЕ ... ": U=1: GOTO 52
62 PRINT " ВАШЕ ЛИХАЧЕСТВО - ДУРНОЙ ПРИМЕР ДЛЯ МОЛОДЫХ КУРСАНТОВ ": U=1: GOTO 52
63 PRINT " ВЫ ПРОДОЛЖАЕТЕ ПУТАТЬ АСТРОНАВТА С КОВБОЕМ "
64 PRINT "###"; Z4+D+E+O+P+C ;" -Я ПОПЫТКА ОКОНЧЕНА ": GOTO 44
65 IF W>47 GOTO 70
66 PRINT " ЛЕГКИЕ ПОВРЕЖДЕНИЯ КОРПУСА (И ЧЕРЕПА) ": O=O +1
67 Y1=Y1+17.24+ .85*(W-27.3): PRINT " NASA БУДЕТ ВЫЧИТАТЬ С ВАС "; Y1; " ДОЛЛ. ЕЖЕНЕДЕЛЬНО "
68 U=2: IF O<5 GOTO 52
69 PRINT " ВАШ СЧЕТ В БАНКЕ ИСЧЕРПАН ": GOTO 64
70 IF W>85 GOTO 82
71 PRINT " ТЯЖЕЛЫЕ РАЗРУШЕНИЯ, ВЫ БОЛЬШЕ НИКОГДА НЕ УВИДИТЕ ЗЕМЛЮ "
72 P=P+1: IF P>1 THEN U=3: ON P GOTO 77,78,79,80,81,82
73 IF U<3 THEN PRINT " ВАШИ ПОПРАВКИ ГРАФИКА ПОЛЕТА НЕУДАЧНЫ ": GOTO 76
74 IF C>0 THEN PRINT " УЖЕ ЛУЧШЕ, " ;
75 PRINT " ВО3МОЖНО, СЛЕДУЮЩАЯ ПОПЫТКА БУДЕТ УДАЧНЕЕ "
76 U=3: GOTO 52
77 PRINT " СНОВА ПОКАЛЕЧИЛИСЬ ": GOTO 52
78 PRINT " NASA ОБУЧАЕТ ПИЛОТОВ НЕ ДЛЯ ТОГО, ЧТОБЫ ПЛАТИТЬ ИМ 3А ИНВАЛИДНОСТЬ ": GOTO 52
79 PRINT " ЛУЧШЕ БЫ ВАМ УВОЛИТЬСЯ ИЗ NASA ": GOTO 52
80 PRINT " НЕЛЬЗЯ ЖЕ ОБЛОЖИТЬ ДЛЯ ВАС ВСЮ ЛУНУ ПОДУШКАМИ ... ": GOTO 52
81 PRINT " ЭТА РАБОТА НЕ ДЛЯ ВАС - НА ЛУНЕ НЕТ ВРАЧЕЙ ": GOTO 64
82 PRINT " ВЫ ОБРАЗОВАЛИ НА ЛУНЕ НОВЫЙ КРАТЕР ГЛУБИНОЙ "; .19*W; " ФУТОВ "
83 C=C+1: ON C GOTO 90,89,88,87,86,85,84
goto 91
84 PRINT " NASA НЕ БУДЕТ ТРАТИТЬ ДЕНЬГИ НА ВАШЕ ОБУЧЕНИЕ ": GOTO 64
85 PRINT " ВАМ ЛУЧШЕ БЫ ПЕРЕЙТИ В СФЕРУ ОБСЛУЖИВАНИЯ ": GOTO 92
86 PRINT " ВАМ ЕЩЕ НЕ НАДОЕЛО УМИРАТЬ ? ": GOTO 92
87 PRINT " ВОТ ВЫ И ОПЯТЬ ДАЛИ ДУБА ! ": GOTO 92
88 PRINT " СМЕРТЬ В ТРЕТИЙ РА3 ... ": GOTO 92
89 PRINT " ВТОРИЧНАЯ СМЕРТЬ ": GOTO 92
90 IF U=4 THEN PRINT " НУ ЧТО ЖЕ, ЭТО ОБЫЧНЫЙ ИСХОД ПЕРВОЙ ПОПЫТКИ ": GOTO 92
91 PRINT " МЕНЯЙТЕ ГРАФИК ПОЛЕТА В ДРУГОМ НАПРАВЛЕНИИ "
92 U=4: GOTO 52
93 L=0: T=0: A=120: S=1: V=1: F8=0: M=32500: F=0: N=16500: G=1E-3: H=0
94 INPUT " ЗАПОМНИТЬ ШАГ? ( ДА - ВРЕМЯ, НЕТ - 0) ", B: GOTO 1010
95 L1=L: A1=A: V1=V: M1=M: F8=1: F1=F: H1=H: GOTO 6
96 INPUT " ИНСТРУКЦИЯ? (ДА - 1 , НЕТ - 0) ", B
97 IF B>0 GOTO 99
98 Z4=0: D=0: E=0: O=0: P=0: C=0: Y1=0: U=4: GOTO 93
99 PRINT: PRINT " НУЖНО ПОСАДИТЬ МОДУЛЬ С ВЕСОМ 16500 ФУНТОВ "
100 PRINT " ПО ПОКАЗАНИЯМ ПРИБОРОВ "
102 PRINT " 1-Й СТОЛБЕЦ - ВРЕМЯ В СЕК. "
103 PRINT " 2-Й И 3-Й - РАССТ. ДО ЛУНЫ В МИЛЯХ ПЛЮС ФУТАХ "
104 PRINT "4-Й - СКОРОСТЬ В ФУТАХ/СЕК "
105 PRINT "5-Й - ЗАПАС ГОРЮЧЕГО В ФУНТАХ "
106 PRINT " ": PRINT " В 6-ОМ - ЗАДАВАЙТЕ РАСХОД ГОРЮЧЕГО - НУЛЬ ИЛИ "
107 PRINT " ОТ 8 ДО 200 ФУНТОВ/ С ВКЛЮЧИТЕЛЬНО "
108 PRINT " ": PRINT " ": PRINT " НАЧИНАЙТЕ ПОСАДКУ ! ": PRINT " ": GOTO 98
110 INPUT " ТАБЛИЦА РЕКОРДОВ? (ДА - 1, НЕТ - 0) ", B
120 IF B=0 GOTO 96
130 PRINT " НАДБАВКА К ЖАЛОВАНИЮ - 61.96 DOLL./NED. "
142 PRINT " СКОРОСТЬ МЯГКОЙ ПОСАДКИ - 0.02 ФУТ/ С "
150 PRINT " ПРОДОЛЖИТЕЛЬНОСТЬ ПОЛЕТА - 644.34 С "
160 PRINT: GOTO 96
1010 B=10*INT( .1*B+ .5): GOTO 5
7998 REM РЕДАКЦИЯ 3.09.1984.
7999 END