ИГРА "Auto Rally" для МК-85 (ДЛЯ ТУРБО РЕЖИМА) Edited by Bs0Dd (2023) [mk.bs0dd.net] ============================ > Заставка начала игры. 1 CSR ,11:PRINT " Auto Rally ";:GOSUB 39:Y=11:GOSUB 38 > ПЕРЕМЕННЫЕ: A$(0-3) - рельеф трассы, E$(0-3) - автомобиль и трасса, $ - кодировка рельефа трассы, K - положение машины, J$ и Q$ - для экономии памяти. 2 VAC:A$="ELRLRLE":B$="ALA000L":C$="LA000AL" A0 A1 A2 3 D$="L000ALA":E$="ELRERLE":F$="ALARERL":G$="LARERAL" A3 E0 E1 E2 4 H$="LRERALA":$="2222222222":K=2:J$=CHR 96:Q$="0123" E3 > Счетчик пройденного отрезка пути. W - интервал для прорисовки середины дороги. 5 W=W+1:N=N+.1:IF N=26 THEN 20 6 CSR 9:PRINT INT N;:CSR 9:LETC "LALALAL":PRINT J$; > Генератор случайных чисел для расстановки рельефа трассы Y$, X$; расстановка, склейка кодировки рельефа трассы в переменной $ для ее последующего отображения, условный переход в случае проигрыша. 7 IF W=2;W=0:X$="2":GOTO 10 8 X$=GETC(Q$,4*RAN#+1) 9 IF N>=24;X$="2" 10 $=X$+MID(1,9):IF K<>VAL MID(9,1) THEN 17 > Вывод на экран рельефа трассы и автомобиля проходящего ее. Z$=KEY-Джойстик, для управления автомобилем. 11 CSR 8:LETC E$(K):PRINT J$;:IF K=0;K=2 12 FOR Y=7 TO 0 STEP -1:Z$=KEY:X=1↑2:IF Z$="W";K=0 13 IF Z$="8";K=K+1 14 IF Z$="5";K=K-1 15 CSR Y:LETC A$(VAL MID(Y+1,1)):PRINT J$;:NEXT Y 16 GOTO 5 > Заставка в случае проигрыша. 17 FOR Y=1 TO 5:CSR 8:PRINT " ";:X=2↑2 18 CSR 8:LETC E$(VAL MID(10,1)):PRINT J$;:X=2↑2:NEXT Y 19 CSR ,2:PRINT "НеудачА! ";:GOSUB 39:Y=10:GOSUB 38:GOTO 35 > Заставка в случае прохождения игры,финал. A$, B$, C$, D$ - графика машины. 20 CSR ,11:PRINT " ";:GOSUB 39:A$="000133":B$="01FVVJC" 21 C$="V44VVV0":D$="GSVV32S":FOR I=0 TO 3 22 LETC A$(I):PRINT J$;:NEXT I:Y=7:GOSUB 38 23 FOR I=11 TO 6 STEP -1:CSR I,:LETC "046T4AP":PRINT J$; 24 X=2↑2:CSR I,:LETC "08CS88O":PRINT J$;:X=2↑2:NEXT I 25 FOR I=10 TO 8 STEP -2:CSR I,:LETC A$="0FVE44A":PRINT J$; 26 LETC "084S4AP":PRINT J$;:X=2↑3:CSR I-1,:LETC A$:PRINT J$; 27 LETC "084S44C":PRINT J$;:X=2↑3:NEXT I 28 FOR I=4 TO 5:CSR I:LETC "04CN4AJ":PRINT J$;:X=2↑2 29 CSR I:LETC "0267223":PRINT J$;:X=2↑2:CSR I:PRINT " "; 30 NEXT I:CSR 5:LETC "0123223":PRINT J$;:LETC "0G8O88O" 31 PRINT J$;:X=99↑99:CSR 5:LETC A$="04EL4AR":PRINT J$; 32 LETC A$:PRINT J$;:X=99↑99:CSR 6:LETC "0KE54AR":PRINT J$; 33 FOR I=0 TO 20:CSR 5:LETC "0LU44AR":PRINT J$;:X=2↑2:CSR 5 34 LETC "GLE44AR":PRINT J$;:X=2↑2:NEXT I:Y=10:CSR 10:GOSUB 38 > Запрос на повтор или выход из игры. 35 CSR 0,:PRINT "Ещё? D/N"; 36 $=KEY:IF $="D" THEN 2:IF $="N";CSR 0,:PRINT "";:END 37 GOTO 36 > Циклы подпрограм: - постепенное сдвигания изображения на экране, и задержка изображения на экране. 38 FOR Z=0 TO Y:PRINT " ";:X=1↑2:NEXT Z:RETURN 39 FOR X=0 TO 300:NEXT X:RETURN * ИГРА ЗАНИМАЕТ 1167 ШАГОВ ПРОГРАММЫ ============================================================== ВВЕДЕНИЕ К ИГРЕ "AUTO RALLY" * Вам необходимо пройти непростой путь на внедорожнике, вовре- мя реагируя на крутые повороты и ямы, встречающиеся на вашем пути. Клавиши управления "5" - поворот влево, "8" - поворот вправо, "W" - прыжок через яму. В правом углу индикатора пока- зывается количество пройденого отрезка пути. Вам нужно добра- ться до 25-го отрезка пути целым и невредимым, чтобы получить награду и славу за свою ловкость! Помните, у вас одна попытка, чтобы добраться до финиша! Вы не имеете право на ошибку, иначе машина разобьется! Удачи вам в этом нелегком пути к победе и славе! =============================================================== * ДЛЯ ТОГО, ЧТОБЫ МАШИНОЙ УПРАВЛЯЛ САМ МИКРОКОМПЬЮТЕР МК-85М, НУЖНО В СТРОКЕ ПРОГРАММЫ ДОБАВИТЬ КОМАНДУ: 16 K=VAL MID(8,1):GOTO 5 =============================================================== Скорость игры контролируется выражением X=*↑* в строке 12. ===============================================================