Guest User

Untitled

a guest
Apr 24th, 2021
257
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 69.42 KB | None | 0 0
  1. /* Output from p2c 2.00.Oct.15, the Pascal-to-C translator */
  2. /* From input file "stalk1-koi.pas" */
  3.  
  4.  
  5. /*
  6. Это восстановленный из исполнимого файла код на языке Паскаль для игры,
  7. которая называлась 'Зона' или 'Сталкер', файл игры назывался
  8. STALK.SAV, PIKNIK.SAV или ZONA.SAV и предназначался для советских PDP11-
  9. совместимых машин - таких как ДВК и УКНЦ.
  10. Это игра в жанре рогалик (Rogue-like), бродилка по подземельям, по мотивам
  11. повести Стругацких "Пикник на обочине".
  12. Игра, по-видимому, создана в конце 1980-х, автор игры - неизвестный
  13. программист из Ульяновска - первоначально программа писала копирайт:
  14. *** (С)УЛЬЯНОВСК УЛПИ "ГОЛОГРАФИЯ"***
  15. Данный исходник предназначается для Паскаля ДВК или OMSI PASCAL-1
  16. и компилируется в исполнимый файл под системой RT-11 командами:
  17.     PASCAL STALK1,STALK1=STALK1.PAS
  18.     LINK/STACK:1000 STALK1,FRANDU,PASCAL
  19. */
  20.  
  21. #include <p2c/p2c.h>
  22. /* p2c: stalk1-koi.pas, line 21:
  23.  * Warning: Could not find module MATH [271] */
  24.  
  25.  
  26. #include "math.h"
  27. /*$A-*/
  28. /*$T-*/
  29.  
  30.  
  31. Static short DUNGEON;   /* Номер подземелья */
  32. Static short VAR2, VAR4;   /* Номер этажа */
  33. Static short VAR6;   /* новый X игрока */
  34. Static short VAR10;   /* новый Y игрока */
  35. Static short VAR12;   /* Позиция Y игрока (строка) */
  36. Static short VAR14;   /* Позиция X игрока (столбец) */
  37. Static short VAR16;   /* переменная цикла */
  38. Static short i;   /* переменная цикла */
  39. Static short VAR20;   /* переменная цикла */
  40. Static short VAR22, VAR24, VAR26;   /* Усталость */
  41. Static short VAR30;   /* Вредность */
  42. Static short VAR32;   /* Заряд батарей фонаря */
  43. Static short VAR34;   /* Y */
  44. Static short VAR36;   /* X */
  45. Static short VAR40, VAR42;   /* Число для генератора случайных чисел */
  46. Static boolean VAR46, VAR47;   /* Фонарь горит или нет */
  47. Static boolean VAR50;   /* Приготовился к сражению */
  48. Static boolean VAR51;
  49. Static Char VAR52, VAR53, VAR54;
  50.     /* Символ в клетке на которой стоит игрок */
  51. Static Char VAR55;
  52. Static short IND[5];   /* Индикаторы справа: */
  53. /* 1 - Рейтинг, 2 - Энергия, 3 - Оружие, 4 - Защита, 5 - В банке денег */
  54. Static Char F[9][16][32];
  55. Static Char *V11070;   /* Указатель на клетку в F */
  56. Static Char *V11072;   /* Указатель на клетку в F */
  57. Static short F2[9][16][32];
  58. Static short *V33074;   /* Указатель на клетку в F2 */
  59. Static short *V33076;   /* Указатель на клетку в F2 */
  60. Static Char RUKSAK[6];   /*033100..033105*/
  61. Static short V33106[6];   /*033106..033120*/
  62. Static Char V33122[4];   /*033122..033125*/
  63. Static short V33126[4];   /*033126..033134*/
  64. Static short V33136[4];   /*033136..033144*/
  65. Static short V33146[4];   /*033146..033154*/
  66. Static Char V33156;
  67.  
  68. Static Char TITLE[30] = {
  69.   '(', 'H', ')', ' ', 'H', 'a', 'c', 'k', 'e', 'd', ' ', 'b', 'y', ' ', 'O',
  70.   'l', 'e', 'g', ' ', 'H', '.', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' '
  71. };
  72.  
  73.  
  74. Static short RANDOM(A, B)
  75. short A, B;
  76. {
  77.   /*L01046*/
  78.   /*RANDOM := A + (_randint() mod (B - A + 1));*/
  79.   return RandomRange(A, B);
  80. /* p2c: stalk1-koi.pas, line 79:
  81.  * Warning: Symbol 'RANDOMRANGE' is not defined [221] */
  82. }
  83.  
  84.  
  85. Static Void READCHAR(CH)
  86. Char *CH;
  87. {
  88.   /*L01166*/
  89. _L1:
  90.   *CH = getch();
  91.   /*
  92.   if CH = CHR(0) then begin
  93.       { функциональная клавиша }
  94.       CH := readkey;
  95.       case CH of
  96.       'H': CH := '8'; { стрелка вверх }
  97.       'P': CH := '2'; { стрелка вниз }
  98.       'K': CH := '4'; { стрелка влево }
  99.       'M': CH := '6'; { стрелка вправо }
  100.       'I': CH := '.'; { page up }
  101.       'Q': CH := '5'; { page down }
  102.       else goto 1;    { неизвестная клавиша - игнорируем }
  103.       end;
  104.   end;
  105.   */
  106.  
  107.   if (*CH >= 'a' && *CH <= 'z')   /* преобразуем в заглавные буквы */
  108.     *CH = _toupper(*CH);
  109. }
  110.  
  111.  
  112. /* Очистка блока сообщений внизу экрана */
  113. Static Void CLEARMSG()
  114. {
  115.   /*L01320*/
  116.   CURSORTO(16, 0);
  117. /* p2c: stalk1-koi.pas, line 112:
  118.  * Warning: Symbol 'CURSORTO' is not defined [221] */
  119.   for (VAR16 = 1; VAR16 <= 7; VAR16++) {
  120.     putchar('\n');
  121.     clreol();
  122.   }
  123.   CURSORTO(17, 0);
  124. /* p2c: stalk1-koi.pas, line 116:
  125.  * Warning: Symbol 'CURSORTO' is not defined [221] */
  126. }
  127.  
  128.  
  129. Static Void L01460(A, B, C)
  130. short A, B, C;
  131. {
  132.   short I, J;
  133.  
  134.   for (I = -1; I <= 1; I++) {
  135.     for (J = -1; J <= 1; J++) {
  136.       VAR22 = B + I;
  137.       VAR24 = C + J;
  138.       if (F[A][VAR22-1][VAR24-1] == '^' && (F2[A][VAR22-1][VAR24-1] & 6) != 4) {
  139.     CURSORTO(VAR22, VAR24);
  140. /* p2c: stalk1-koi.pas, line 127:
  141.  * Warning: Symbol 'CURSORTO' is not defined [221] */
  142.     putchar('.');
  143.       } else {
  144.     F2[A][VAR22-1][VAR24-1] |= 0100;
  145.     CURSORTO(VAR22, VAR24);
  146. /* p2c: stalk1-koi.pas, line 131:
  147.  * Warning: Symbol 'CURSORTO' is not defined [221] */
  148.     putchar(F[A][VAR22-1][VAR24-1]);
  149.       }
  150.     }
  151.   }
  152. }
  153.  
  154.  
  155. /* Поиск предметов в рюкзаке, возвращает индекс 1..6, или 7 если не найдены */
  156. Static short RUKSEEK(A, B)
  157. Char A, B;
  158. {
  159.   /*L02332*/
  160.   short Result;
  161.   short K = 1;
  162.  
  163.   /*L02340*/
  164.   while (RUKSAK[K-1] != A && RUKSAK[K-1] != B && K < 7)
  165.     K++;
  166.   Result = K;
  167.   V33156 = '\001';
  168.   return Result;
  169. }
  170.  
  171.  
  172. Static Void NELZYA()
  173. {
  174. /* p2c: stalk1-koi.pas, line 152:
  175.  * Note: Characters >= 128 encountered [281] */
  176.   printf(" \356 \305 \314 \330 \332 \321 ! ! !\n");
  177. }
  178.  
  179.  
  180. Static Void ZVERX(V, Y, X)
  181. short V, Y, X;
  182. {
  183.   /*L02574*/
  184.   Char FV;
  185.   short FV2;
  186.  
  187.   FV = F[V][Y-1][X-1];
  188.   FV2 = F2[V][Y-1][X-1];
  189. /* p2c: stalk1-koi.pas, line 160:
  190.  * Note: Characters >= 128 encountered [281] */
  191.   printf("\372 \327 \305 \322 \330 !\n");
  192.   if ((FV2 & 4) == 0)
  193.     return;
  194.   if (FV == V33122[0] || FV == V33122[1] || FV == V33122[2])
  195.     return;
  196.   VAR16 = 0;
  197.   for (VAR20 = 1; VAR20 <= 3; VAR20++) {
  198.     VAR16++;
  199.     if (V33122[VAR16-1] == ' ')
  200.       return;
  201.   }
  202.   V33122[VAR16-1] = FV;
  203.   V33126[VAR16-1] = FV2;
  204.   V33136[VAR16-1] = Y;
  205.   V33146[VAR16-1] = X;
  206. }
  207.  
  208.  
  209. Static Void ZAKLYATIE()
  210. {
  211. /* p2c: stalk1-koi.pas, line 179:
  212.  * Note: Characters >= 128 encountered [281] */
  213.   printf(
  214.     "\356\301 \334\324\317\312 \333\324\325\313\305 \332\301\313\314\321\324\311\305\n");
  215. }
  216.  
  217.  
  218. /* Параметр: 'J' - обновить экран; '.' - вверх; '5' - вниз */
  219. Static Void L03362(A)
  220. Char A;
  221. {
  222.   V33156 = '\001';
  223.   if (A != 'J') {  /*L03370*/
  224.     if (*V11070 != '%') {  /* Мы стоим на лестнице? */
  225.       printf(" \342\305\332 \314\305\323\324\316\311\303\331?\n");
  226.       /*L04140*/
  227.       return;
  228.     }
  229.     for (VAR16 = 1; VAR16 <= 4; VAR16++)
  230.       V33122[VAR16-1] = ' ';
  231.     if (A == '.' && VAR4 != 0) {  /*L03510*/
  232.       VAR4--;   /* Этаж вниз */
  233.       /*L03560*/
  234.       IND[1] -= 2;   /* Энергия минус 2 */
  235.       IND[0]++;
  236.       goto _L1;
  237.     }
  238.     if (VAR4 != 8) {  /*L03610*/
  239.       VAR4++;
  240.       IND[0] += 3;
  241.       goto _L1;
  242.     }
  243.     V11070 = &F[VAR4][VAR12-1][VAR14-1];   /*L03644*/
  244.     V33074 = &F2[VAR4][VAR12-1][VAR14-1];   /*L03716*/
  245.     V11072 = &F[VAR4][VAR6-1][VAR10-1];   /*L04000*/
  246.     V33076 = &F2[VAR4][VAR6-1][VAR10-1];   /*L04052*/
  247.     /* не на лестнице */
  248. /* p2c: stalk1-koi.pas, line 209:
  249.  * Note: Characters >= 128 encountered [281] */
  250.     return;   /* Выход из процедуры */
  251.   }
  252. _L1:
  253.   HOME(0);
  254. /* p2c: stalk1-koi.pas, line 214:
  255.  * Warning: Expected an expression, found a ')' [227] */
  256. /* p2c: stalk1-koi.pas, line 214:
  257.  * Warning: Symbol 'HOME' is not defined [221] */
  258.   CLREOS(0);
  259. /* p2c: stalk1-koi.pas, line 214:
  260.  * Warning: Expected an expression, found a ')' [227] */
  261. /* p2c: stalk1-koi.pas, line 214:
  262.  * Warning: Symbol 'CLREOS' is not defined [221] */
  263. /* p2c: stalk1-koi.pas, line 215:
  264.  * Note: Characters >= 128 encountered [281] */
  265.   printf("    \360\317\304\332\305\315\305\314\330\305 ");
  266.   printf("%d", DUNGEON);   /* Номер подземелья */
  267.   CURSORTO(1, 33);
  268. /* p2c: stalk1-koi.pas, line 217:
  269.  * Warning: Symbol 'CURSORTO' is not defined [221] */
  270. /* p2c: stalk1-koi.pas, line 217:
  271.  * Note: Characters >= 128 encountered [281] */
  272.   printf("\362\305\312\324\311\316\307");
  273.   CURSORTO(2, 33);
  274. /* p2c: stalk1-koi.pas, line 218:
  275.  * Warning: Symbol 'CURSORTO' is not defined [221] */
  276. /* p2c: stalk1-koi.pas, line 218:
  277.  * Note: Characters >= 128 encountered [281] */
  278.   printf("\374\316\305\322\307\311\321");
  279.   CURSORTO(3, 33);
  280. /* p2c: stalk1-koi.pas, line 219:
  281.  * Warning: Symbol 'CURSORTO' is not defined [221] */
  282. /* p2c: stalk1-koi.pas, line 219:
  283.  * Note: Characters >= 128 encountered [281] */
  284.   printf("\357\322\325\326\311\305");
  285.   CURSORTO(4, 33);
  286. /* p2c: stalk1-koi.pas, line 220:
  287.  * Warning: Symbol 'CURSORTO' is not defined [221] */
  288. /* p2c: stalk1-koi.pas, line 220:
  289.  * Note: Characters >= 128 encountered [281] */
  290.   printf("\372\301\335\311\324\301");
  291.   CURSORTO(5, 33);
  292. /* p2c: stalk1-koi.pas, line 221:
  293.  * Warning: Symbol 'CURSORTO' is not defined [221] */
  294. /* p2c: stalk1-koi.pas, line 221:
  295.  * Note: Characters >= 128 encountered [281] */
  296.   printf("\367 \302\301\316\313\305");
  297.   /*WRITELN('');*/
  298.   CURSORTO(7, 32);
  299. /* p2c: stalk1-koi.pas, line 223:
  300.  * Warning: Symbol 'CURSORTO' is not defined [221] */
  301. /* p2c: stalk1-koi.pas, line 223:
  302.  * Note: Characters >= 128 encountered [281] */
  303.   printf(" \367\322\305\304\316\317\323\324\330");
  304.   /*WRITELN('');*/
  305.   CURSORTO(9, 33);
  306. /* p2c: stalk1-koi.pas, line 225:
  307.  * Warning: Symbol 'CURSORTO' is not defined [221] */
  308. /* p2c: stalk1-koi.pas, line 225:
  309.  * Note: Characters >= 128 encountered [281] */
  310.   printf("\362\300\313\332\301\313:");
  311.   for (VAR16 = 1; VAR16 <= 5; VAR16++) {  /* выводим значения индикаторов */
  312.     CURSORTO(VAR16, 37);
  313. /* p2c: stalk1-koi.pas, line 227:
  314.  * Warning: Symbol 'CURSORTO' is not defined [221] */
  315.     printf("%3d", IND[VAR16-1]);
  316.     putchar(' ');
  317.   }
  318.   CURSORTO(7, 37);
  319. /* p2c: stalk1-koi.pas, line 231:
  320.  * Warning: Symbol 'CURSORTO' is not defined [221] */
  321.   printf("%3d", VAR30);   /* Вредность */
  322.   CURSORTO(10, 33);
  323. /* p2c: stalk1-koi.pas, line 233:
  324.  * Warning: Symbol 'CURSORTO' is not defined [221] */
  325.   for (VAR16 = 1; VAR16 <= 6; VAR16++)  /* выводим содержимое рюкзака */
  326.     printf("%2c", RUKSAK[VAR16-1]);
  327.   CURSORTO(0, 0);
  328. /* p2c: stalk1-koi.pas, line 237:
  329.  * Warning: Symbol 'CURSORTO' is not defined [221] */
  330.   for (VAR16 = 1; VAR16 <= 16; VAR16++) {  /* выводим текущее поле */
  331.     for (VAR20 = 1; VAR20 <= 32; VAR20++) {
  332.       if ((F2[VAR4][VAR16-1][VAR20-1] & 0100) != 0) {
  333.     CURSORTO(VAR16, VAR20);
  334. /* p2c: stalk1-koi.pas, line 241:
  335.  * Warning: Symbol 'CURSORTO' is not defined [221] */
  336.     putchar(F[VAR4][VAR16-1][VAR20-1]);
  337.       }
  338.     }
  339.   }
  340.   CLEARMSG();
  341.   /* выход из процедуры */
  342. }
  343.  
  344.  
  345. Static Void L05370(DY, DX)
  346. short DY, DX;
  347. {
  348.   if (F[VAR4][VAR12 + DY - 1][VAR14 + DX - 1] == '-' ||
  349.       F[VAR4][VAR12 + DY - 1][VAR14 + DX - 1] == '!')
  350.   {  /* Если не стенка */
  351.     NELZYA();
  352.     return;
  353.   }
  354.   VAR12 += DY;   /*L05500*/
  355.   VAR14 += DX;
  356.   V11070 = &F[VAR4][VAR12-1][VAR14-1];
  357.   V33074 = &F2[VAR4][VAR12-1][VAR14-1];
  358. }
  359.  
  360.  
  361. Static Void L05702(A)
  362. Char A;
  363. {
  364.   VAR12 = RANDOM(2, 15);
  365.   VAR14 = RANDOM(2, 31);
  366.   F[VAR4][VAR12-1][VAR14-1] = A;
  367.   F2[VAR4][VAR12-1][VAR14-1] = RANDOM(0, 32767) & 0177677L;
  368. }
  369.  
  370.  
  371. main(argc, argv)
  372. int argc;
  373. Char *argv[];
  374. {  /*MAIN*/
  375.   short FORLIM, FORLIM1;
  376.  
  377.   PASCAL_MAIN(argc, argv);
  378.   terminit();
  379. /* p2c: stalk1-koi.pas, line 272:
  380.  * Warning: Symbol 'TERMINIT' is not defined [221] */
  381.  
  382.   printf("*** ");
  383.   printf("%.30s", TITLE);   /* Вывод начальной строки*/
  384.   printf("***\n");
  385. /* p2c: stalk1-koi.pas, line 277:
  386.  * Note: Characters >= 128 encountered [281] */
  387.   printf(" ^_^_^_^  __ \363 \364 \341 \354 \353 \345 \362 __       \n");
  388.       /*место под спецсимволы в строке*/
  389. /* p2c: stalk1-koi.pas, line 278:
  390.  * Note: Characters >= 128 encountered [281] */
  391.   printf(
  392.     "\332\301\307\301\304\301\312\324\305 \336\311\323\314\317. \315\317\326\305\324 \302\331\324\330, \317\316\317 \327\301\315 \320\322\311\307\317\304\311\324\323\321... \324\301\315... ");
  393.   /* Ввод числа, которое "может быть пригодится там" */
  394.   scanf("%hd%*[^\r]", &VAR42);
  395.   getchar();
  396.   _randomize(VAR42);
  397. /* p2c: stalk1-koi.pas, line 281:
  398.  * Warning: Symbol '_RANDOMIZE' is not defined [221] */
  399.   /*RandSeed := VAR42;*/
  400.   VAR34 = 1;   /* Позиция Y игрока */
  401.   VAR36 = 1;   /* Позиция X игрока */
  402.   VAR55 = ' ';
  403.  
  404.   DUNGEON = 1;   /* Подземелье = 1 */
  405. _L1:
  406.   /* Начало игры, или рестарт на следующем подземелье */
  407.   HOME(0);
  408. /* p2c: stalk1-koi.pas, line 290:
  409.  * Warning: Expected an expression, found a ')' [227] */
  410. /* p2c: stalk1-koi.pas, line 290:
  411.  * Warning: Symbol 'HOME' is not defined [221] */
  412.   CLREOS(0);
  413. /* p2c: stalk1-koi.pas, line 290:
  414.  * Warning: Expected an expression, found a ')' [227] */
  415. /* p2c: stalk1-koi.pas, line 290:
  416.  * Warning: Symbol 'CLREOS' is not defined [221] */
  417.   CURSORTO(10, 1);
  418. /* p2c: stalk1-koi.pas, line 291:
  419.  * Warning: Symbol 'CURSORTO' is not defined [221] */
  420.   for (VAR4 = 0; VAR4 <= 8; VAR4++) {  /* цикл по этажам */
  421.     VAR22 = RANDOM(0, 88);
  422.     /*WRITELN('FLOOR ', VAR4, ' LIT=', VAR22 and 100B);*/
  423.     for (VAR20 = 1; VAR20 <= 32; VAR20++)
  424.       F[VAR4][0][VAR20-1] = '-';   /* стенка вверху */
  425.     for (VAR16 = 2; VAR16 <= 15; VAR16++) {
  426.       F[VAR4][VAR16-1][0] = '!';   /* стенка слева */
  427.       for (VAR20 = 2; VAR20 <= 31; VAR20++) {
  428.     F[VAR4][VAR16-1][VAR20-1] = '.';
  429.     F2[VAR4][VAR16-1][VAR20-1] = VAR22;
  430.       }
  431.       F[VAR4][VAR16-1][31] = '!';   /* стенка слева */
  432.     }
  433.     for (VAR20 = 1; VAR20 <= 32; VAR20++)
  434.       F[VAR4][15][VAR20-1] = '-';   /* стенка снизу */
  435.   }
  436. /* p2c: stalk1-koi.pas, line 310:
  437.  * Note: Characters >= 128 encountered [281] */
  438.   printf(
  439.     "   \344\314\321 \320\317\304\323\313\301\332\313\311 \316\301\326\311\315\301\312\324\305 \"H\" \n");
  440.   for (VAR4 = 1; VAR4 <= 8; VAR4++) {   /* цикл по этажам */
  441.     VAR16 = RANDOM(2, 7);   /*L07712*/
  442.     while (VAR16 < 16) {  /*L07736*/
  443.       VAR22 = 2;   /*L07752*/
  444.       VAR24 = RANDOM(1, 7);   /*L07760*/
  445.       while (VAR24 < 32) {  /*L10004*/
  446.     FORLIM1 = VAR24;
  447.     for (VAR20 = VAR22; VAR20 <= FORLIM1; VAR20++)  /*L10020*/
  448.       F[VAR4][VAR16-1][VAR20-1] = '-';   /*L10060*/
  449.     VAR22 = RANDOM(1, 5) + VAR24;   /*L10144*/
  450.     VAR24 += RANDOM(3, 10);   /*L10174*/
  451.       }
  452.       VAR16 += RANDOM(0, 7);   /*L10230*/
  453.     }
  454.   }
  455.   /*L07652*/
  456.   /*delay(1000);*/
  457.   putchar('\015');
  458. /* p2c: stalk1-koi.pas, line 328:
  459.  * Note: Characters >= 128 encountered [281] */
  460.   printf("     \364\305\315\316\331\312  \313\317\322\311\304\317\322 ...     ");
  461.   for (VAR4 = 1; VAR4 <= 8; VAR4++) {   /* цикл по этажам */
  462.     VAR20 = RANDOM(2, 7);   /*L10366*/
  463.     while (VAR20 < 32) {  /*L10412*/
  464.       VAR22 = 2;   /*L10426*/
  465.       VAR24 = RANDOM(1, 7);
  466.       while (VAR24 < 16) {  /*L10460*/
  467.     FORLIM = VAR24;
  468.     for (VAR16 = VAR22; VAR16 <= FORLIM; VAR16++) {  /*L10474*/
  469.       if (F[VAR4][VAR16-1][VAR20-1] == '.')  /*L10576*/
  470.         F[VAR4][VAR16-1][VAR20-1] = '!';   /*L10654*/
  471.       else
  472.         F[VAR4][VAR16-1][VAR20-1] = '#';   /*L10730*/
  473.     }
  474.     VAR22 = RANDOM(1, 5) + VAR24;   /*L10752*/
  475.     VAR24 += RANDOM(2, 7);   /*L11002*/
  476.       }
  477.       VAR20 += RANDOM(2, 5);   /*L11036*/
  478.     }
  479.   }
  480.   /*L10326*/
  481.   /*delay(1000);*/
  482.   putchar('\015');
  483. /* p2c: stalk1-koi.pas, line 350:
  484.  * Note: Characters >= 128 encountered [281] */
  485.   printf("     \363 \313 \305 \314 \305 \324 \331 . . .   ");
  486.   FORLIM1 = DUNGEON;
  487.   for (VAR20 = 1; VAR20 <= FORLIM1; VAR20++) {  /*L11136*/
  488.     for (VAR16 = 32; VAR16 <= 127; VAR16++) {  /*L11174*/
  489.       VAR4 = RANDOM(0, 8);
  490.       L05702(VAR16);   /*L11256*/
  491.     }
  492.   }
  493.   /*delay(1000);*/
  494.   putchar('\015');
  495.   printf(" a-a-a-a-a-a-a-a-a-a-a-a-a . . . . . . .");
  496.   for (VAR4 = 0; VAR4 <= 8; VAR4++) {  /*L11350*/
  497.     L05702('^');   /*L11406*/
  498.     L05702('*');
  499.     L05702('%');
  500.   }
  501.   VAR4 = 8;   /*L11452*/
  502.   L05702('%');
  503.   L05702(',');
  504.   if (DUNGEON == 1) {
  505.     for (VAR16 = 1; VAR16 <= 6; VAR16++)  /*L11512*/
  506.       RUKSAK[VAR16-1] = '.';   /*L11552*/
  507.     RUKSAK[0] = ']';
  508.     RUKSAK[1] = '(';
  509.     RUKSAK[2] = '<';
  510.     for (VAR16 = 1; VAR16 <= 5; VAR16++)  /*L11624*/
  511.       IND[VAR16-1] = 0;   /* Очищаем индикаторы */
  512.     /* Инициализация переменных */
  513.     IND[1] = 25;   /* Энергия */
  514.     VAR47 = false;   /* Фонарь не горит */
  515.     VAR51 = false;
  516.     VAR50 = false;
  517.     VAR40 = 0;
  518.     VAR32 = 400;   /* Заряд батарей */
  519.     /*L11742*/
  520.     VAR26 = 0;   /* Усталость = 0 */
  521.     V33156 = '\001';
  522.   }
  523.   for (VAR16 = 1; VAR16 <= 6; VAR16++)  /*L11762*/
  524.     V33106[VAR16-1] = RANDOM(0, 8191) & 0175777L;   /*L12022*/
  525.   VAR46 = false;   /*L12074*/
  526.   for (VAR16 = 1; VAR16 <= 4; VAR16++)  /*L12100*/
  527.     V33122[VAR16-1] = ' ';   /*L12140*/
  528.   VAR4 = 0;   /* Этаж = 0 */
  529.   /*L12170*/
  530.   /*delay(1000);*/
  531.   L03362('J');
  532.   CLEARMSG();
  533. /* p2c: stalk1-koi.pas, line 399:
  534.  * Note: Characters >= 128 encountered [281] */
  535.   printf(
  536.     "\360\322\317\307\316\311\327\333\311\312 \320\317\314 \320\322\317\327\301\314\311\314\323\321...");
  537.   VAR2 = 0;   /*L12226*/
  538.   VAR12 = 2;   /* Позиция Y игрока = 2 */
  539.   VAR14 = 2;   /* Позиция X игрока = 2 */
  540.   VAR30 = 1;
  541.   while (true) {  /*L12254*/
  542.     /* Начало игрового цикла */
  543.     V11070 = &F[VAR4][VAR12-1][VAR14-1];   /*L12266*/
  544.     V33074 = &F2[VAR4][VAR12-1][VAR14-1];   /*L12340*/
  545.     for (VAR16 = -1; VAR16 <= 1; VAR16++) {  /*L12422*/
  546.       for (VAR20 = -1; VAR20 <= 1; VAR20++) {  /*L12462*/
  547.     VAR6 = VAR12 + VAR16;   /* новый Y */
  548.     VAR10 = VAR14 + VAR20;   /* новый X */
  549.     V11072 = &F[VAR4][VAR6-1][VAR10-1];   /*L12552*/
  550.     V33076 = &F2[VAR4][VAR6-1][VAR10-1];   /*L12624*/
  551.     switch (*V11072) {   /*L12706*/
  552.  
  553.     case '%':
  554.       printf("\354\305\323\324\316\311\303\301.");
  555.       break;
  556.  
  557. /* p2c: stalk1-koi.pas, line 415:
  558.  * Note: Characters >= 128 encountered [281] */
  559.     case '*':
  560.       printf("\372\317\314\317\324\317.");
  561.       break;
  562.  
  563. /* p2c: stalk1-koi.pas, line 416:
  564.  * Note: Characters >= 128 encountered [281] */
  565.     case ',':
  566.       if (VAR4 == 8) {
  567.         printf("\372\317\314\317\324\317\312 \333\301\322!!!");
  568.         VAR46 = true;
  569.       }
  570. /* p2c: stalk1-koi.pas, line 419:
  571.  * Note: Characters >= 128 encountered [281] */
  572.       else
  573.         printf("\367\317\314\333\305\302\316\301\321 \313\311\322\313\301.");
  574.       break;
  575.  
  576. /* p2c: stalk1-koi.pas, line 422:
  577.  * Note: Characters >= 128 encountered [281] */
  578.     case '$':
  579.     case '+':
  580.       printf(
  581.         "\342\325\324\331\314\313\301 \323 \316\301\304\320\311\323\330\300 \"Drink me!\"\n");
  582.       break;
  583.  
  584. /* p2c: stalk1-koi.pas, line 424:
  585.  * Note: Characters >= 128 encountered [281] */
  586.     case ' ':
  587.       printf("\376\305\322\316\301\321 \304\331\322\301\n");
  588.       if (VAR16 == 0 && VAR20 == 0) {
  589.         if (VAR46 != false) {
  590.           if (VAR4 > 0)   /* Этаж вниз */
  591.         VAR4--;
  592.         } else {
  593.           if (VAR4 < 8)   /* Этаж вверх */
  594.         VAR4++;
  595.         }
  596.         IND[1] -= 3;   /* Энергия минус 3 */
  597.         VAR30 += 7;   /* Вредность увеличиваем на 7 */
  598.         L03362('J');
  599. /* p2c: stalk1-koi.pas, line 438:
  600.  * Note: Characters >= 128 encountered [281] */
  601.         printf("\357\312, \313\301\313 \302\317\314\330\316\317!...\n");
  602.       }
  603.       break;
  604. /* p2c: stalk1-koi.pas, line 426:
  605.  * Note: Characters >= 128 encountered [281] */
  606.  
  607.     case '=':
  608.       printf("\353\317\314\330\303\317.");
  609.       break;
  610.  
  611. /* p2c: stalk1-koi.pas, line 441:
  612.  * Note: Characters >= 128 encountered [281] */
  613.     case '^':
  614.       if (VAR16 == 0 && VAR20 == 0) {
  615.         printf("\367\305\304\330\315\311\316 \323\324\325\304\305\316\330!\n");
  616.         IND[1] -= RANDOM(3, 15);
  617.         VAR30 += RANDOM(0, 5);
  618.         *V33076 = 4;
  619.       }
  620. /* p2c: stalk1-koi.pas, line 443:
  621.  * Note: Characters >= 128 encountered [281] */
  622.       break;
  623.  
  624.     case '#':
  625.       if (VAR16 == 0 && VAR20 == 0) {
  626.         if (RANDOM(1, 2) == 1)
  627.           *V11070 = '!';
  628.         else
  629.           *V11070 = '-';
  630.       }
  631.       break;
  632.  
  633.     case '(':
  634.     case ')':
  635.       printf("\344\317\323\320\305\310\311.");
  636.       break;
  637.  
  638. /* p2c: stalk1-koi.pas, line 454:
  639.  * Note: Characters >= 128 encountered [281] */
  640.     case '[':
  641.     case ']':
  642.       printf("\357\322\325\326\311\305.");
  643.       break;
  644.  
  645. /* p2c: stalk1-koi.pas, line 455:
  646.  * Note: Characters >= 128 encountered [281] */
  647.     case '?':
  648.       printf("\363\327\311\323\324\317\313.");
  649.       break;
  650.  
  651. /* p2c: stalk1-koi.pas, line 456:
  652.  * Note: Characters >= 128 encountered [281] */
  653.     case ':':
  654.     case ';':
  655.       printf("\345\304\301!!!");
  656.       break;
  657.  
  658. /* p2c: stalk1-koi.pas, line 457:
  659.  * Note: Characters >= 128 encountered [281] */
  660.     case '\\':
  661.     case '/':
  662.       printf("\"\367\360\".");
  663.       break;
  664.  
  665. /* p2c: stalk1-koi.pas, line 458:
  666.  * Note: Characters >= 128 encountered [281] */
  667.     case '<':
  668.     case '>':
  669.       printf("\342\301\324\301\322\305\311.");
  670.       break;
  671.  
  672. /* p2c: stalk1-koi.pas, line 459:
  673.  * Note: Characters >= 128 encountered [281] */
  674.     case '"':
  675.     case '\'':  /*L14040*/
  676.       printf("\353\317\315\301\322\311\316\301\321 \320\314\305\333\330\n");
  677.       VAR12 = VAR6;
  678.       VAR14 = VAR10;
  679.       V11070 = &F[VAR4][VAR12-1][VAR14-1];
  680.       V33074 = &F2[VAR4][VAR12-1][VAR14-1];
  681.       if (VAR46 != false)
  682.         *V11070 = '.';
  683.       break;
  684.  
  685. /* p2c: stalk1-koi.pas, line 461:
  686.  * Note: Characters >= 128 encountered [281] */
  687.     case '&':
  688.       printf("\360\301\320\311\322\325\323.");
  689.       break;
  690.  
  691. /* p2c: stalk1-koi.pas, line 469:
  692.  * Note: Characters >= 128 encountered [281] */
  693.     case 'C':
  694.     case 'H':
  695.     case 'J':
  696.     case 'T':  /*L14300*/
  697.       putchar('\007');   /* bell */
  698. /* p2c: stalk1-koi.pas, line 472:
  699.  * Note: Characters >= 128 encountered [281] */
  700.       printf(
  701.         "\350\317\314\317\304\316\301\321, \323\313\317\314\330\332\313\301\321 \322\325\313\301 \323\310\327\301\324\311\314\301 \327\301\323 \332\301 \316\317\307\325 ...\n");
  702.       IND[1] -= RANDOM(2, 8);   /* Энергия уменьшается */
  703.       *V11072 = '.';
  704.       break;
  705.  
  706.     case 'D':
  707.     case 'E':
  708.     case 'F':
  709.     case 'G':
  710.     case 'I':
  711.     case 'K':
  712.     case 'L':
  713.     case 'M':
  714.     case 'N':
  715.     case 'O':
  716.     case 'P':
  717.     case 'Q':
  718.     case 'R':
  719.     case 'S':
  720.     case 'U':
  721.     case 'V':
  722.     case 'W':
  723.     case 'X':
  724.     case 'Y':
  725.     case 'Z':
  726.       if (VAR16 == 0 && VAR20 == 0) {
  727.         if (((*V33074) & 6) == 0) {
  728.           *V33076 |= 6;
  729. /* p2c: stalk1-koi.pas, line 480:
  730.  * Note: Characters >= 128 encountered [281] */
  731.           printf(
  732.         "\356\325, \323\305\312\336\301\323 \317\316 \327\301\315 \320\317\313\301\326\305\324...\n");
  733.         } else if (((*V33076) & 6) == 2) {
  734.           VAR22 = RANDOM(1, 3) + VAR12 - 2;
  735.           VAR24 = RANDOM(1, 3) + VAR14 - 2;
  736.           if (F[VAR4][VAR22-1][VAR24-1] != '-' &&
  737.           F[VAR4][VAR22-1][VAR24-1] != '!') {
  738.         VAR53 = *V11070;
  739.         *V11070 = '.';
  740.         F[VAR4][VAR22-1][VAR24-1] = VAR53;
  741.         F2[VAR4][VAR22-1][VAR24-1] = *V33074;
  742.           }
  743.         } else if (!VAR51) {  /*L15100*/
  744.           if (!VAR50) {  /*L15120*/
  745.         if (IND[3] > 1)   /*L15140*/
  746.           IND[3] -= RANDOM(2, 15);
  747.         else
  748.           IND[1] -= RANDOM(2, 15);
  749.         /* Энергия уменьшается */
  750.         putchar('\007');   /* bell */
  751. /* p2c: stalk1-koi.pas, line 497:
  752.  * Note: Characters >= 128 encountered [281] */
  753.         printf("\372\301\335\311\335\301\312\324\305\323\330 \326\305!!!\n");
  754.           } else {
  755.         IND[2] -= RANDOM(2, 11);
  756.         IND[3] -= 2;
  757.         VAR50 = false;
  758.         VAR54 = '.';
  759.         putchar('\007');
  760. /* p2c: stalk1-koi.pas, line 504:
  761.  * Note: Characters >= 128 encountered [281] */
  762.         printf("\347\317\324\317\327!\n");
  763.         IND[0] += 10;
  764.         if (IND[3] < 0) {
  765.           IND[1] += IND[3];
  766.           IND[3] = 0;
  767.         }
  768.         if (IND[2] < 0) {
  769.           IND[0] += IND[2];
  770.           IND[2] = 0;
  771.         }
  772.         i = 1;
  773.         while (V33122[i-1] != *V11070 && i < 4)
  774.           i++;
  775.         V33122[i-1] = ' ';
  776.         *V11070 = 'm';
  777.           }
  778.         }
  779.       } else
  780.         ZVERX(VAR4, VAR6, VAR10);
  781.       break;
  782.  
  783.     case '0':
  784.     case '2':
  785.     case '3':
  786.     case '4':
  787.     case '5':
  788.     case '6':
  789.     case '7':
  790.     case '8':
  791.     case '9':
  792.     case '{':
  793.     case '}':  /*L15616*/
  794.       if (VAR16 == 0 && VAR20 == 0) {
  795.         VAR22 = RANDOM(-7, 7);
  796.         IND[1] += VAR22;
  797.         if (VAR22 > 0) {
  798.           printf("\356\305\304\325\322\323\324\327\305\316\316\317!\n");
  799.           *V11070 = 'z';
  800.         }
  801. /* p2c: stalk1-koi.pas, line 529:
  802.  * Note: Characters >= 128 encountered [281] */
  803.         else {
  804.           printf("\364\330\306\325...\n");
  805.           *V11072 = 'y';
  806.         }
  807.       } else {
  808. /* p2c: stalk1-koi.pas, line 532:
  809.  * Note: Characters >= 128 encountered [281] */
  810.         printf("\363\327\305\322\324o\313. \323\337\305\304\311\315?\n");
  811.       }
  812.       break;
  813.  
  814. /* p2c: stalk1-koi.pas, line 536:
  815.  * Note: Characters >= 128 encountered [281] */
  816.     case '!':
  817.     case '-':
  818.     case '.':   /* Стенки и пустая клетка */
  819.       break;
  820.       /*L16046*/
  821.  
  822.     case 'b':   /*L16046*/
  823.       printf(
  824.         "\356\301\304\320\311\323\330 \"\372\304\305\323\330 \302\331\314 \367\301\323\321\"(\332\304\305\323\330 \367\301\323\321 \311 \317\323\324\301\314\323\321)\n");
  825.       break;
  826. /* p2c: stalk1-koi.pas, line 540:
  827.  * Note: Characters >= 128 encountered [281] */
  828.  
  829.     case 'c':
  830.       printf("\347\322\325\304\301 \313\301\315\316\305\312.");
  831.       break;
  832.  
  833. /* p2c: stalk1-koi.pas, line 541:
  834.  * Note: Characters >= 128 encountered [281] */
  835.     case 'd':
  836.       printf(
  837.         "\355\305\324\314\301 \302\301\302\331 \321\307\311 (\323\314\317\315\301\316\301)\n");
  838.       break;
  839.  
  840. /* p2c: stalk1-koi.pas, line 542:
  841.  * Note: Characters >= 128 encountered [281] */
  842.     case 'e':
  843.       printf("\376\305\322\305\320.");
  844.       break;
  845.  
  846. /* p2c: stalk1-koi.pas, line 543:
  847.  * Note: Characters >= 128 encountered [281] */
  848.     case 'f':
  849.       printf(
  850.         "\363\324\322\301\316\323\324\327\325\300\335\311\312 \323\313\305\314\305\324\n");
  851.       break;
  852.  
  853. /* p2c: stalk1-koi.pas, line 544:
  854.  * Note: Characters >= 128 encountered [281] */
  855.     case 'g':
  856.       printf(
  857.         "\363\324\301\304\317 \302\322\317\304\321\336\311\310 \326\311\327\331\310 \324\322\325\320\317\327. \n");
  858.       break;
  859.  
  860. /* p2c: stalk1-koi.pas, line 545:
  861.  * Note: Characters >= 128 encountered [281] */
  862.     case 'h':
  863.       printf(
  864.         "\353\325\323\317\336\305\313 \356\317\305\327\301 \313\317\327\336\305\307\301\n");
  865.       break;
  866.  
  867. /* p2c: stalk1-koi.pas, line 546:
  868.  * Note: Characters >= 128 encountered [281] */
  869.     case 'i':
  870.       printf(
  871.         "\372\301\320\311\323\313\301:\" \372\322\321 \324\331 \323\300\304\301 \320\317\314\305\332, \320\301\322\305\316\330... \341\327\324\317\322. \"\n");
  872.       break;
  873.  
  874. /* p2c: stalk1-koi.pas, line 547:
  875.  * Note: Characters >= 128 encountered [281] */
  876.     case 'j':
  877.       printf("\376\305\322\316\331\312 \321\335\311\313.");
  878.       break;
  879.  
  880. /* p2c: stalk1-koi.pas, line 548:
  881.  * Note: Characters >= 128 encountered [281] */
  882.     case 'k':
  883.       printf(
  884.         "\354\325\326\301 \315\301\333\311\316\316\317\307\317 \315\301\323\314\301\n");
  885.       break;
  886.  
  887. /* p2c: stalk1-koi.pas, line 549:
  888.  * Note: Characters >= 128 encountered [281] */
  889.     case 'l':   /*Пробелы компенсируют нули после строки*/
  890.       printf(
  891.         "\362\301\332\304\317\314\302\301\316\316\331\312 \313\317\315\320\330\300\324\305\322 ZX SPECTRUM - 128.    \n");
  892.       break;
  893. /* p2c: stalk1-koi.pas, line 550:
  894.  * Note: Characters >= 128 encountered [281] */
  895.  
  896.     case 'm':
  897.       printf("\344\317\310\314\331\312 \315\317\322\314\317\313");
  898.       break;
  899.  
  900. /* p2c: stalk1-koi.pas, line 551:
  901.  * Note: Characters >= 128 encountered [281] */
  902.     case 'n':
  903.       printf("\372\325\304\301.");
  904.       break;
  905.  
  906. /* p2c: stalk1-koi.pas, line 552:
  907.  * Note: Characters >= 128 encountered [281] */
  908.     case 'o':
  909.       printf("\360\325\323\324\331\333\313\301.");
  910.       break;
  911.  
  912. /* p2c: stalk1-koi.pas, line 553:
  913.  * Note: Characters >= 128 encountered [281] */
  914.     case 'p':
  915.       printf("\353\325\336\301 \323\305\320\325\314\305\313.");
  916.       break;
  917.  
  918. /* p2c: stalk1-koi.pas, line 554:
  919.  * Note: Characters >= 128 encountered [281] */
  920.     case 'r':   /*Пробелы компенсируют нули после строки*/
  921.       printf(
  922.         "\362\301\332\314\317\326\311\327\333\311\312\323\321 \324\322\325\320 \304\305\327\325\333\313\311.     \n");
  923.       break;
  924. /* p2c: stalk1-koi.pas, line 555:
  925.  * Note: Characters >= 128 encountered [281] */
  926.  
  927.     case 's':   /*Пробелы компенсируют нули после строки*/
  928.       printf(
  929.         "\356\301\304\320\311\323\330: \"\355\331 \304\317 \324\305\302\321 \305\335\305 \304\317\302\305\322\305\315\323\321!!! \"  \n");
  930.       break;
  931. /* p2c: stalk1-koi.pas, line 556:
  932.  * Note: Characters >= 128 encountered [281] */
  933.  
  934.     case 't':   /*Пробелы компенсируют нули после строки*/
  935.       printf(
  936.         "\357\324\322\305\332\301\316\316\301\321 \307\317\314\317\327\301 \320\322\305\304\331\304\325\335\305\307\317 \363\324\301\314\313\305\322\301.                  \n");
  937.       break;
  938. /* p2c: stalk1-koi.pas, line 557:
  939.  * Note: Characters >= 128 encountered [281] */
  940.  
  941.     case 'u':   /*Пробелы компенсируют нули после строки*/
  942.       printf(
  943.         "\372\301\336\311\324\301\316\316\331\312 \326\325\322\316\301\314 \"\341\353\365\373\345\362\363\364\367\357 \351 \347\351\356\345\353\357\354\357\347\351\361\"    \n");
  944.       break;
  945. /* p2c: stalk1-koi.pas, line 558:
  946.  * Note: Characters >= 128 encountered [281] */
  947.  
  948.     case 'v':
  949.       printf("\341\322\324\305\306\301\313\324.");
  950.       break;
  951.  
  952. /* p2c: stalk1-koi.pas, line 559:
  953.  * Note: Characters >= 128 encountered [281] */
  954.     case 'w':
  955.       printf(
  956.         "\356\301\304\320\311\323\330 \"\372\304\305\323\330-\324\317 \315\331 \305\307\317 \311 \323\337\305\314\311\"\n");
  957.       break;
  958.  
  959. /* p2c: stalk1-koi.pas, line 560:
  960.  * Note: Characters >= 128 encountered [281] */
  961.     case 'x':
  962.       printf(
  963.         "\357\313\322\317\327\301\327\314\305\316\316\301\321 \302\305\316\332\317\320\311\314\301\n");
  964.       break;
  965.  
  966. /* p2c: stalk1-koi.pas, line 561:
  967.  * Note: Characters >= 128 encountered [281] */
  968.     case 'y':
  969.       printf(
  970.         "\376\324\317-\324\317 \317\336\305\316\330 \315\305\322\332\313\317\305\n");
  971.       break;
  972.  
  973. /* p2c: stalk1-koi.pas, line 562:
  974.  * Note: Characters >= 128 encountered [281] */
  975.     case 'z':
  976.       printf("\363\314\305\304\331 \320\311\313\316\311\313\301.");
  977.       break;
  978.  
  979. /* p2c: stalk1-koi.pas, line 563:
  980.  * Note: Characters >= 128 encountered [281] */
  981.     case 'q':   /*L17026*/
  982.       printf(
  983.         "\353\314\301\304\302\311\335\305 \323\316\325\323\315\325\315\322\311\313\317\327.         \n");
  984.       break;
  985. /* p2c: stalk1-koi.pas, line 564:
  986.  * Note: Characters >= 128 encountered [281] */
  987.       /*Пробелы компенсируют нули после строки*/
  988.  
  989.     case '~':
  990.       printf("\376\305\322\324-\324\305 \336\324\317.");
  991.       break;
  992.  
  993. /* p2c: stalk1-koi.pas, line 565:
  994.  * Note: Characters >= 128 encountered [281] */
  995.     case '1':
  996.     case 'A':
  997.     case 'B':
  998.       printf(
  999.         "\342\322\317\304\321\336\311\312 \324\317\322\307\317\327\331\312 \301\327\324\317\315\301\324\n");
  1000.       break;
  1001.  
  1002. /* p2c: stalk1-koi.pas, line 566:
  1003.  * Note: Characters >= 128 encountered [281] */
  1004.     case '|':
  1005.       printf(
  1006.         "\360\305\322\305\326\301\322\305\316\316\331\312 \332\305\314\300\313.\n");
  1007.       break;
  1008.  
  1009. /* p2c: stalk1-koi.pas, line 567:
  1010.  * Note: Characters >= 128 encountered [281] */
  1011.     case '`':
  1012.       printf(
  1013.         "\355\331\333\305\314\317\324 (\327 \323\317\302\323\324\327\305\316\316\317\315 \323\317\313\325)\n");
  1014.       break;
  1015.  
  1016. /* p2c: stalk1-koi.pas, line 568:
  1017.  * Note: Characters >= 128 encountered [281] */
  1018.     case '@':   /*L17302*/
  1019.       /*L17200*/
  1020.       printf("\360\322\311\332\322\301\313.");
  1021.       VAR22 = RUKSEEK('.', '.');
  1022.       if (VAR22 < 7)
  1023.         VAR30++;
  1024.       RUKSAK[VAR22-1] = '@';
  1025.       break;
  1026. /* p2c: stalk1-koi.pas, line 570:
  1027.  * Note: Characters >= 128 encountered [281] */
  1028.  
  1029.     default:
  1030.       if (VAR16 == 0 && VAR20 == 0) {
  1031.         *V11070 = RANDOM(32, 126);
  1032.         *V33074 = RANDOM(1, 8191);
  1033.       } else
  1034.         printf(
  1035.           "\355\305\333\317\313 \323 \316\301\304\320\311\323\330\300 \"Take me!\"\n");
  1036.       break;
  1037.     }/* case of */
  1038.       }  /* for VAR20 */
  1039.     }  /* for VAR16 */
  1040. /* p2c: stalk1-koi.pas, line 581:
  1041.  * Note: Characters >= 128 encountered [281] */
  1042.     VAR54 = *V11070;   /* Сохраняем символ, на который встал игрок */
  1043.     *V11070 = '@';   /*L20006*/
  1044.     if (VAR47 != false)  /* Фонарь горит */
  1045.       L01460(VAR4, VAR12, VAR14);   /*L20026*/
  1046.     else {   /* игрок */
  1047.       CURSORTO(VAR12, VAR14);   /*L20052*/
  1048. /* p2c: stalk1-koi.pas, line 592:
  1049.  * Warning: Symbol 'CURSORTO' is not defined [221] */
  1050.       putchar('@');
  1051.       *V33074 |= 0100;   /*L20100*/
  1052.       CURSORTO(VAR34, VAR36);   /*L20106*/
  1053. /* p2c: stalk1-koi.pas, line 595:
  1054.  * Warning: Symbol 'CURSORTO' is not defined [221] */
  1055.       putchar(VAR55);   /*L20122*/
  1056.     }
  1057.     *V11070 = VAR54;   /*L20136*/
  1058.     VAR34 = VAR12;   /* Позиция Y игрока */
  1059.     VAR36 = VAR14;   /* Позиция X игрока */
  1060.     VAR55 = VAR54;
  1061.     CURSORTO(1, 0);   /*L20166*/
  1062. /* p2c: stalk1-koi.pas, line 602:
  1063.  * Warning: Symbol 'CURSORTO' is not defined [221] */
  1064.     printf("%3d", VAR4);   /*L20200*/
  1065.     for (VAR16 = 1; VAR16 <= 5; VAR16++) {  /*L20214*/
  1066.       CURSORTO(VAR16, 37);   /*L20254*/
  1067. /* p2c: stalk1-koi.pas, line 605:
  1068.  * Warning: Symbol 'CURSORTO' is not defined [221] */
  1069.       printf("%3d", IND[VAR16-1]);   /*L20270*/
  1070.       putchar(' ');
  1071.     }
  1072.     CURSORTO(7, 37);   /*L20342*/
  1073. /* p2c: stalk1-koi.pas, line 609:
  1074.  * Warning: Symbol 'CURSORTO' is not defined [221] */
  1075.     printf("%3d", VAR30);   /* Вредность */
  1076.     /*L20356*/
  1077.     CURSORTO(10, 33);   /* Рюкзак */
  1078. /* p2c: stalk1-koi.pas, line 611:
  1079.  * Warning: Symbol 'CURSORTO' is not defined [221] */
  1080.     if (V33156 != '\0') {  /*L20406*/
  1081.       for (VAR16 = 1; VAR16 <= 6; VAR16++)
  1082.     printf("%2c", RUKSAK[VAR16-1]);   /*L20460*/
  1083.     }
  1084.     V33156 = '\0';   /*L20520*/
  1085.     CURSORTO(0, 0);
  1086. /* p2c: stalk1-koi.pas, line 618:
  1087.  * Warning: Symbol 'CURSORTO' is not defined [221] */
  1088.     /* Ввод символа - команда игрока */
  1089.     READCHAR(&VAR53);   /*L20534*/
  1090.     CLEARMSG();
  1091.     switch (VAR53) {   /*L20554*/
  1092.  
  1093.     case '1':   /* влево-вниз */
  1094.       L05370(1, -1);
  1095.       break;
  1096.  
  1097.     case '2':   /* вниз */
  1098.       L05370(1, 0);
  1099.       break;
  1100.  
  1101.     case '3':   /* вправо-вниз */
  1102.       L05370(1, 1);
  1103.       break;
  1104.  
  1105.     case '4':   /* влево */
  1106.       L05370(0, -1);
  1107.       break;
  1108.  
  1109.     case '5':   /* вниз по лестнице */
  1110.       L03362('5');
  1111.       break;
  1112.  
  1113.     case '6':   /* вправо */
  1114.       L05370(0, 1);
  1115.       break;
  1116.  
  1117.     case '7':   /* влево-вверх */
  1118.       L05370(-1, -1);
  1119.       break;
  1120.  
  1121.     case '8':   /* вверх */
  1122.       L05370(-1, 0);
  1123.       break;
  1124.  
  1125.     case '9':   /* вправо-вверх */
  1126.       L05370(-1, 1);
  1127.       break;
  1128.  
  1129.     case '0':   /* отдохнуть */
  1130.       VAR26 = 0;
  1131.       break;
  1132.  
  1133.     case '.':   /* вверх по лестнице */
  1134.       L03362('.');
  1135.       break;
  1136.  
  1137.     case 'Q':  /* пить */
  1138.       VAR16 = RUKSEEK('$', '+');
  1139.       if (VAR16 < 7) {
  1140.     RUKSAK[VAR16-1] = '.';
  1141.     VAR30--;
  1142.     if ((V33106[VAR16-1] & 6) == 0) {  /*L21122*/
  1143.       for (VAR16 = 2; VAR16 <= 15; VAR16++) {
  1144.         for (VAR20 = 2; VAR20 <= 31; VAR20++) {
  1145.           if (F[VAR4][VAR16-1][VAR20-1] != '.') {
  1146.         CURSORTO(VAR16, VAR20);
  1147. /* p2c: stalk1-koi.pas, line 643:
  1148.  * Warning: Symbol 'CURSORTO' is not defined [221] */
  1149.         VAR53 = F[VAR4][VAR16-1][VAR20-1];   /*L21342*/
  1150.         if (F[VAR4][VAR16-1][VAR20-1] != '.' &&
  1151.             F[VAR4][VAR16-1][VAR20-1] != '-' &&
  1152.             F[VAR4][VAR16-1][VAR20-1] != '#' &&
  1153.             F[VAR4][VAR16-1][VAR20-1] != '!')
  1154.           VAR53 = RANDOM(33, 126);
  1155.         putchar(VAR53);
  1156.           }
  1157.         }
  1158.       }
  1159.       CLEARMSG();   /*L21600*/
  1160.     } else if ((V33106[VAR16-1] & 6) == 2) {
  1161.       IND[1] += 20;   /* выпил */
  1162.       VAR26 = 0;
  1163. /* p2c: stalk1-koi.pas, line 656:
  1164.  * Note: Characters >= 128 encountered [281] */
  1165.       printf(
  1166.         "\376\325\327\323\324\327\325\305\324\305 \320\322\311\314\311\327 \323\311\314?\n");
  1167.           /*L21654*/
  1168.     } else if ((V33106[VAR16-1] & 6) == 4) {
  1169.       for (VAR16 = 2; VAR16 <= 15; VAR16++) {  /*L21734*/
  1170.         for (VAR20 = 2; VAR20 <= 31; VAR20++) {
  1171.           if (F[VAR4][VAR16-1][VAR20-1] != '.') {
  1172.         CURSORTO(VAR16, VAR20);   /*L22112*/
  1173. /* p2c: stalk1-koi.pas, line 661:
  1174.  * Warning: Symbol 'CURSORTO' is not defined [221] */
  1175.         putchar(F[VAR4][VAR16-1][VAR20-1]);   /*L22126*/
  1176.         F2[VAR4][VAR16-1][VAR20-1] |= 0100;   /*L22204*/
  1177.           }
  1178.         }
  1179.       }
  1180.       CLEARMSG();
  1181.     } else {
  1182.       VAR40 = 20;   /*L22404*/
  1183. /* p2c: stalk1-koi.pas, line 670:
  1184.  * Note: Characters >= 128 encountered [281] */
  1185.       printf(
  1186.         "\356\301\320\311\314\323\321 - \323\304\301\312 \323\324\305\313\314\317\324\301\322\325!!!!\n");
  1187.     }
  1188.       } else
  1189.     printf("\360\311\324\330 \316\305\336\305\307\317\n");
  1190.       break;
  1191.  
  1192. /* p2c: stalk1-koi.pas, line 673:
  1193.  * Note: Characters >= 128 encountered [281] */
  1194.     case 'D':   /* выбросить предмет */
  1195.       printf("\376\324\317 \327\331\302\322\317\323\311\324\330? ");
  1196.       READCHAR(&VAR53);
  1197.       CLEARMSG();
  1198.       VAR16 = RUKSEEK(VAR53, VAR53);   /* Ищем в рюкзаке */
  1199.       if (VAR16 < 7) {
  1200.     if ((V33106[VAR16-1] & 02000) == 0) {
  1201.       if (VAR53 != '.') {
  1202.         VAR30--;   /*L22646*/
  1203.         RUKSAK[VAR16-1] = '.';
  1204.         if (*V11070 != '\'' && *V11070 != '"') {
  1205.           *V11070 = VAR53;
  1206.           *V33074 = V33106[VAR16-1];
  1207.         }
  1208.       }
  1209.     } else
  1210.       ZAKLYATIE();
  1211.       } else
  1212.     printf("\356\305\324\325\n");
  1213.       break;
  1214.       /*L22466*/
  1215. /* p2c: stalk1-koi.pas, line 676:
  1216.  * Note: Characters >= 128 encountered [281] */
  1217.  
  1218. /* p2c: stalk1-koi.pas, line 693:
  1219.  * Note: Characters >= 128 encountered [281] */
  1220.     case 'Z':   /* перевести деньги в банк на счёт пещеры */
  1221.       VAR16 = RUKSEEK('*', '*');   /* Ищем в рюкзаке */
  1222.       if (VAR16 < 7) {
  1223.     IND[0]++;
  1224.     VAR30--;
  1225.     RUKSAK[VAR16-1] = '.';
  1226.     IND[4] += RANDOM(10, 70);
  1227. /* p2c: stalk1-koi.pas, line 702:
  1228.  * Note: Characters >= 128 encountered [281] */
  1229.     printf("\364\301\315!\n");
  1230.       } else
  1231.     printf("\347\304\305 \332\317\314\317\324\317-\324o?\n");
  1232.       break;
  1233.       /*L23010*/
  1234.  
  1235. /* p2c: stalk1-koi.pas, line 704:
  1236.  * Note: Characters >= 128 encountered [281] */
  1237.     case 'S':  /* свистнуть */
  1238.       VAR22 = RUKSEEK('?', '?');   /* Ищем в рюкзаке свисток */
  1239.       if (VAR22 < 7) {
  1240.     if ((V33106[VAR22-1] & 6) == 4)
  1241.       putchar('\007');   /* bell */
  1242.     else if ((V33106[VAR22-1] & 6) == 2) {  /*L23310*/
  1243.       for (VAR16 = -2; VAR16 <= 2; VAR16++) {
  1244.         for (VAR20 = -2; VAR20 <= 2; VAR20++) {
  1245.           if ((unsigned)(VAR12 + VAR16) < 32 &&
  1246.           ((1L << (VAR12 + VAR16)) & 0xfffcL) != 0 &&
  1247.           (unsigned)(VAR14 + VAR20) < 32 &&
  1248.           ((1L << (VAR14 + VAR20)) & 0xfffffffcL) != 0)
  1249.         F[VAR4][VAR12 + VAR16 - 1][VAR14 + VAR20 - 1] = ' ';
  1250.         }
  1251.       }
  1252.       RUKSAK[VAR22-1] = '.';
  1253.     } else if ((V33106[VAR22-1] & 6) == 0) {
  1254. /* p2c: stalk1-koi.pas, line 721:
  1255.  * Note: Characters >= 128 encountered [281] */
  1256.       printf("\342 \341 \355 - \355 - \355 ! ! !\n");
  1257.       VAR12 = RANDOM(2, 15);
  1258.       VAR14 = RANDOM(2, 31);
  1259.       V11070 = &F[VAR4][VAR12-1][VAR14-1];
  1260.       V33074 = &F2[VAR4][VAR12-1][VAR14-1];
  1261.     } else {
  1262.       printf(
  1263.         "\365\316\311\336\324\317\326\305\316\311\305 \332\327\305\322\321\n");
  1264.       for (VAR16 = 1; VAR16 <= 4; VAR16++)
  1265.         V33122[VAR16-1] = ' ';
  1266.       for (VAR16 = -1; VAR16 <= 1; VAR16++) {
  1267.         for (VAR20 = -1; VAR20 <= 1; VAR20++) {
  1268.           if (isupper(F[VAR4][VAR12 + VAR16 - 1][VAR14 + VAR20 - 1])) {
  1269.         F[VAR4][VAR12 + VAR16 - 1][VAR14 + VAR20 - 1] = '*';
  1270. /* p2c: stalk1-koi.pas, line 727:
  1271.  * Note: Characters >= 128 encountered [281] */
  1272.           }
  1273.         }
  1274.       }
  1275.     }
  1276.       } else
  1277.     printf(
  1278.       "\357\304\316\301\313o, \323\327\311\323\324\317\313 \316\325\326\305\316\n");
  1279.       break;
  1280.  
  1281. /* p2c: stalk1-koi.pas, line 739:
  1282.  * Note: Characters >= 128 encountered [281] */
  1283.     case 'E':  /* поесть */
  1284.       VAR16 = RUKSEEK(':', ';');
  1285.       if (VAR16 < 7) {
  1286.     IND[1] += 18;   /* Энергия */
  1287.     RUKSAK[VAR16-1] = '.';
  1288.     VAR30--;
  1289. /* p2c: stalk1-koi.pas, line 747:
  1290.  * Note: Characters >= 128 encountered [281] */
  1291.     printf("\363\320\301\323\311\302\317!\n");
  1292.       } else
  1293.     printf("\345\304\331 \316\305\324\n");
  1294.       break;
  1295.  
  1296. /* p2c: stalk1-koi.pas, line 749:
  1297.  * Note: Characters >= 128 encountered [281] */
  1298.     case 'T':  /* взять предмет, на котором стоишь */
  1299.       VAR16 = RUKSEEK('.', '.');   /* Ищем место в рюкзаке */
  1300.       if (VAR16 < 7) {
  1301.     if (*V11070 == '\'' || *V11070 == '"')
  1302.           /* Комариную плешь брать нельзя */
  1303.         NELZYA();
  1304.     else {
  1305.       printf("\342\305\322\305\315\n");
  1306.       VAR30++;
  1307.       RUKSAK[VAR16-1] = *V11070;
  1308.       V33106[VAR16-1] = *V33074;
  1309.       *V11070 = '.';
  1310.     }
  1311.       } else {
  1312. /* p2c: stalk1-koi.pas, line 757:
  1313.  * Note: Characters >= 128 encountered [281] */
  1314.     printf("\362\300\313\332\301\313 \320\317\314\317\316\n");
  1315.       }
  1316.       break;
  1317.  
  1318. /* p2c: stalk1-koi.pas, line 764:
  1319.  * Note: Characters >= 128 encountered [281] */
  1320.     case 'P':  /* надеть доспехи */
  1321.       VAR16 = RUKSEEK(')', '(');
  1322.       if (VAR16 < 7) {
  1323.     if ((V33106[VAR16-1] & 02000) == 0) {
  1324.       RUKSAK[VAR16-1] = '.';
  1325.       IND[3] += 11;
  1326. /* p2c: stalk1-koi.pas, line 772:
  1327.  * Note: Characters >= 128 encountered [281] */
  1328.       printf("\344\317\323\320\305\310\311 \316\301\304\305\324\331\n");
  1329.     } else
  1330.       ZAKLYATIE();
  1331.       } else
  1332.     printf("\356\305\324\325\n");
  1333.       break;
  1334.  
  1335. /* p2c: stalk1-koi.pas, line 776:
  1336.  * Note: Characters >= 128 encountered [281] */
  1337.     case 'L':   /* включить фонарь */
  1338.       if (VAR32 > 0) {
  1339.     VAR47 = true;   /* Фонарь горит */
  1340. /* p2c: stalk1-koi.pas, line 781:
  1341.  * Note: Characters >= 128 encountered [281] */
  1342.     printf("\346\317\316\301\322\330 \327\313\314\300\336\305\316\n");
  1343.       } else
  1344.     printf(
  1345.       "\342\301\324\301\322\305\311 \323\305\314\311.\356\301\304\317 \302\331\314\317 \334\313\317\316\317\315\311\324\330 ... \n");
  1346.       break;
  1347.       /*L25436*/
  1348.  
  1349. /* p2c: stalk1-koi.pas, line 783:
  1350.  * Note: Characters >= 128 encountered [281] */
  1351.     case 'O':   /* выключить фонарь */
  1352.       VAR47 = false;   /* Фонарь не горит */
  1353. /* p2c: stalk1-koi.pas, line 788:
  1354.  * Note: Characters >= 128 encountered [281] */
  1355.       printf("\346\317\316\301\322\330 \327\331\313\314\300\336\305\316\n");
  1356.       break;
  1357.       /*L25532*/
  1358.  
  1359.     case 'W':  /* взмахнуть волшебной палочкой */
  1360.       VAR16 = RUKSEEK('/', '\\');
  1361.       if (VAR16 < 7) {
  1362.     if ((V33106[VAR16-1] & 3) == 3)
  1363.       printf(
  1364.         "\367\331\320\325\323\324\311\314\311 \304\317 \307\317\323\320\322\311\305\315\313\311...\n");
  1365. /* p2c: stalk1-koi.pas, line 794:
  1366.  * Note: Characters >= 128 encountered [281] */
  1367.     else if ((V33106[VAR16-1] & 3) == 2) {
  1368.       for (VAR20 = 2; VAR20 <= 31; VAR20++) {
  1369.         for (VAR22 = 2; VAR22 <= 15; VAR22++) {
  1370.           CURSORTO(VAR22, VAR20);
  1371. /* p2c: stalk1-koi.pas, line 798:
  1372.  * Warning: Symbol 'CURSORTO' is not defined [221] */
  1373.           putchar(F[VAR4][VAR22-1][VAR20-1]);
  1374.           F2[VAR4][VAR22-1][VAR20-1] |= 0100;
  1375.         }
  1376.       }
  1377.       RUKSAK[VAR16-1] = '.';
  1378.       CLEARMSG();
  1379. /* p2c: stalk1-koi.pas, line 805:
  1380.  * Note: Characters >= 128 encountered [281] */
  1381.       printf("\"\344\301 \302\325\304\305\324 \323\327\305\324...\"\n");
  1382.     } else if ((V33106[VAR16-1] & 3) == 1) {
  1383.       if (VAR46 != false) {  /*L26420*/
  1384.         VAR4 -= 3;
  1385.         if (VAR4 < 0)
  1386.           VAR4 = 0;
  1387.       } else {
  1388.         VAR4 += 3;
  1389.         if (VAR4 > 8)
  1390.           VAR4 = 8;
  1391.       }
  1392.       RUKSAK[VAR16-1] = '.';
  1393.       L03362('J');
  1394. /* p2c: stalk1-koi.pas, line 816:
  1395.  * Note: Characters >= 128 encountered [281] */
  1396.       printf(
  1397.         "\360\317\313\301 \367\331 \314\305\324\305\314\311 \323\313\327\317\332\330 \334\324\301\326\311, \"\367\360\" \320\317\324\305\322\321\314\301\323\330\n");
  1398.       VAR30--;
  1399.     } else {  /*L26612*/
  1400.       printf(
  1401.         "\360\322\305\327\322\301\335\305\316\311\305 \304\317\307\317\316\321\300\335\305\307\317 \332\327\305\322\321\n");
  1402.       for (VAR22 = 1; VAR22 <= 3; VAR22++) {
  1403.         if (V33122[VAR22-1] != ' ') {  /*L26652*/
  1404.           V33122[VAR22-1] = ' ';
  1405.           F[VAR4][V33136[VAR22-1] - 1]
  1406.         [V33146[VAR22-1] - 1] = RANDOM(36, 63);
  1407.           /*L26570*/
  1408. /* p2c: stalk1-koi.pas, line 819:
  1409.  * Note: Characters >= 128 encountered [281] */
  1410.         }
  1411.       }
  1412.     }
  1413.       } else
  1414.     printf("\355\301\310\301\324\330-\324\317 \316\305\336\305\315 !\n");
  1415.       break;
  1416.  
  1417. /* p2c: stalk1-koi.pas, line 828:
  1418.  * Note: Characters >= 128 encountered [281] */
  1419.     case '/':
  1420.     case '?':  /* переложить вещи в рюкзаке */
  1421.       VAR52 = RUKSAK[5];
  1422.       VAR20 = V33106[5];
  1423.       for (VAR16 = 1; VAR16 <= 6; VAR16++) {
  1424.     RUKSAK[6 - VAR16] = RUKSAK[5 - VAR16];
  1425.     V33106[6 - VAR16] = V33106[5 - VAR16];
  1426.       }
  1427.       RUKSAK[0] = VAR52;
  1428.       V33106[0] = VAR20;
  1429.       V33156 = '\001';
  1430. /* p2c: stalk1-koi.pas, line 840:
  1431.  * Note: Characters >= 128 encountered [281] */
  1432.       printf(
  1433.     "\360\305\322\305\323\324\322\317\312\313\301 \327 \322\300\313\332\301\313\305\n");
  1434.       break;
  1435.  
  1436.     case 'F':  /* приготовиться к сражению */
  1437.       VAR50 = true;
  1438. /* p2c: stalk1-koi.pas, line 844:
  1439.  * Note: Characters >= 128 encountered [281] */
  1440.       printf("\365-\322-\322-\322-\301-a ! ! !\n");
  1441.       break;
  1442.  
  1443.     case 'N':
  1444.       break;
  1445.       /* идёт начальник */
  1446.  
  1447.     /* игнорируем */
  1448.     case 'X':  /* закончить */
  1449.       printf(
  1450.     "\372\301\313\317\316\336\311\324\330 \311\332\327\317\314\311\324\305? ");
  1451.       READCHAR(&VAR53);
  1452.       if (VAR53 == 'Y' || VAR53 == 'D') {
  1453.     printf(
  1454.       "\341 \327\305\304\330 \320\322\305\304\325\320\322\305\326\304\301\314\311...\n");
  1455.     goto _L2;   /* Выход из игрового цикла */
  1456.       }
  1457. /* p2c: stalk1-koi.pas, line 853:
  1458.  * Note: Characters >= 128 encountered [281] */
  1459.       break;
  1460. /* p2c: stalk1-koi.pas, line 850:
  1461.  * Note: Characters >= 128 encountered [281] */
  1462.  
  1463.     case 'M':   /* приготовить оружие */
  1464.       VAR16 = RUKSEEK('[', ']');   /* Ищем в рюкзаке */
  1465.       if (VAR16 < 7) {
  1466.     if ((V33106[VAR16-1] & 02000) == 0) {
  1467.       RUKSAK[VAR16-1] = '.';
  1468.       IND[2] += 15;
  1469. /* p2c: stalk1-koi.pas, line 863:
  1470.  * Note: Characters >= 128 encountered [281] */
  1471.       printf(
  1472.         "\357\322\325\326\311\305 \320\322\311\307\317\324\317\327\314\305\316\317\n");
  1473.     } else
  1474.       ZAKLYATIE();
  1475.       } else
  1476.     printf("\356\305\324\325!\n");
  1477.       break;
  1478.       /*L27742*/
  1479.  
  1480. /* p2c: stalk1-koi.pas, line 867:
  1481.  * Note: Characters >= 128 encountered [281] */
  1482.     case 'B':  /* заменить батареи */
  1483.       VAR16 = RUKSEEK('<', '>');
  1484.       if (VAR16 < 7) {
  1485.     if ((V33106[VAR16-1] & 02000) == 0) {
  1486.       RUKSAK[VAR16-1] = '.';
  1487.       VAR30--;
  1488.       VAR32 = 400;
  1489. /* p2c: stalk1-koi.pas, line 876:
  1490.  * Note: Characters >= 128 encountered [281] */
  1491.       printf("\342\301\324\301\322\305\311 \332\301\315\305\316\305\316\331\n");
  1492.     } else
  1493.       ZAKLYATIE();
  1494.       } else
  1495.     printf("\342\301\324\301\322\305\312 \316\305\324\n");
  1496.       break;
  1497.  
  1498. /* p2c: stalk1-koi.pas, line 880:
  1499.  * Note: Characters >= 128 encountered [281] */
  1500.     case 'J':   /* обновить экран */
  1501.       L03362('J');
  1502.       break;
  1503.  
  1504.     case 'R':  /* читать папирус */
  1505.       VAR16 = RUKSEEK('&', '&');
  1506.       if (VAR16 < 7) {
  1507.     if ((V33106[VAR16-1] & 6) == 0) {
  1508.       for (VAR20 = 1; VAR20 <= 8; VAR20++)
  1509.         V33106[VAR20-1] &= 0175777L;
  1510. /* p2c: stalk1-koi.pas, line 890:
  1511.  * Note: Characters >= 128 encountered [281] */
  1512.       printf(
  1513.         "\"APCHXYZZYURR!!!\"... \372\301\313\314\321\324\311\305 \323\316\321\324\317\n");
  1514.     } else if ((V33106[VAR16-1] & 6) == 2) {
  1515. /* p2c: stalk1-koi.pas, line 892:
  1516.  * Note: Characters >= 128 encountered [281] */
  1517.       printf(
  1518.         "\356\301\304\320\311\323\330 \307\314\301\323\311\324: \"\363\301\315 \304\325\322\301\313\"\n");
  1519.     } else if ((V33106[VAR16-1] & 6) == 4) {  /*L30656*/
  1520.       VAR22 = 2;   /*L30710*/
  1521.       while (VAR22 < 16) {  /*L30716*/
  1522.         VAR24 = 2;
  1523.         while (VAR24 < 32) {  /*L30740*/
  1524.           if (F[VAR4][VAR22-1][VAR24-1] == '%')
  1525.         return;
  1526.           VAR24++;
  1527.         }
  1528.         if (F[VAR4][VAR22-1][VAR24-1] == '%')
  1529.           return;
  1530.         VAR22++;
  1531.       }
  1532. /* p2c: stalk1-koi.pas, line 910:
  1533.  * Note: Characters >= 128 encountered [281] */
  1534.       printf("\354\305\323\324\316\311\303\301 -");
  1535.       printf("%4d%4d\n", VAR22, VAR24);
  1536.     } else {
  1537.       VAR22 = 1;
  1538.       while (VAR22 < 16) {
  1539.         VAR24 = 2;
  1540.         while (VAR24 < 32) {
  1541.           if (F[8][VAR22-1][VAR24-1] == ',')
  1542.         return;
  1543.           VAR24++;
  1544.         }
  1545.         if (F[8][VAR22-1][VAR24-1] == ',')
  1546.           return;
  1547.         VAR22++;
  1548.       }
  1549.       if (VAR22 == 16 && VAR24 == 32)
  1550.         printf(
  1551.           "\372\317\314\317\324\317\312 \333\301\322 \325\313\322\301\304\305\316!\n");
  1552. /* p2c: stalk1-koi.pas, line 931:
  1553.  * Note: Characters >= 128 encountered [281] */
  1554.       else {
  1555.         printf("\372\317\314\317\324\317\312 \333\301\322 - 8");
  1556.         printf("%4d%4d\n", VAR22, VAR24);
  1557. /* p2c: stalk1-koi.pas, line 933:
  1558.  * Note: Characters >= 128 encountered [281] */
  1559.       }
  1560.     }
  1561.       } else {
  1562.     /*L31226*/
  1563.     printf(
  1564.       "\341 \336\311\324\301\324\330-\324\317 \311 \316\305\336\305\307\317\n");
  1565.       }
  1566.       break;
  1567.  
  1568. /* p2c: stalk1-koi.pas, line 939:
  1569.  * Note: Characters >= 128 encountered [281] */
  1570.     case 'I':  /* надеть кольцо */
  1571.       VAR16 = RUKSEEK('=', '=');
  1572.       if (VAR16 < 7) {
  1573.     if ((V33106[VAR16-1] & 02000) == 0) {
  1574.       printf(
  1575.         "\363\311\314\317\327\317\305 \320\317\314\305 \327\313\314\300\336\305\316\317!\n");
  1576.       VAR51 = true;
  1577.       RUKSAK[VAR16-1] = '.';
  1578.     }
  1579. /* p2c: stalk1-koi.pas, line 945:
  1580.  * Note: Characters >= 128 encountered [281] */
  1581.     else
  1582.       ZAKLYATIE();
  1583.       } else
  1584.     printf("\356\305\324\325\n");
  1585.       break;
  1586.  
  1587. /* p2c: stalk1-koi.pas, line 951:
  1588.  * Note: Characters >= 128 encountered [281] */
  1589.     case 'V':  /* снять кольцо */
  1590.       if (VAR51 != false) {
  1591.     VAR16 = RUKSEEK('.', '.');
  1592.     if (VAR16 < 7) {
  1593.       RUKSAK[VAR16-1] = '=';
  1594.       V33106[VAR16-1] = 02000;
  1595.       VAR51 = false;
  1596.     } else
  1597.       printf("\362\300\313\332\301\313 \320\317\314\317\316\n");
  1598.       } else {
  1599. /* p2c: stalk1-koi.pas, line 961:
  1600.  * Note: Characters >= 128 encountered [281] */
  1601.     printf("\353\317\314\330\303\301 \316\305\324\n");
  1602.       }
  1603.       break;
  1604.  
  1605. /* p2c: stalk1-koi.pas, line 963:
  1606.  * Note: Characters >= 128 encountered [281] */
  1607.     case 'A':   /* купить (на золото) */
  1608.       if (*V11070 == 'B' || *V11070 == 'A' || *V11070 == '1') {
  1609.     if (IND[4] > 0) {  /* В банке есть деньги? */
  1610.       printf("\376\305\307\317 \311\332\327\317\314\311\324\305?");
  1611.       READCHAR(&VAR53);
  1612.       VAR16 = RUKSEEK('.', '.');
  1613.       if (VAR16 < 7) {
  1614.         RUKSAK[VAR16-1] = VAR53;
  1615.         V33106[VAR16-1] = RANDOM(1, 8191);
  1616.         IND[4] -= RANDOM(10, 250);
  1617.         putchar('\015');
  1618. /* p2c: stalk1-koi.pas, line 976:
  1619.  * Note: Characters >= 128 encountered [281] */
  1620.         printf("\360 \317 \314 \325 \336 \311 \324 \305 !\n");
  1621.         *V11070 = 'k';
  1622.       }
  1623.     }
  1624. /* p2c: stalk1-koi.pas, line 968:
  1625.  * Note: Characters >= 128 encountered [281] */
  1626.     else
  1627.       printf(
  1628.         "\360\317\304\301\300 \324\317\314\330\313\317 \320\317 \320\321\324\316\311\303\301\315!\n");
  1629.       } else {
  1630. /* p2c: stalk1-koi.pas, line 980:
  1631.  * Note: Characters >= 128 encountered [281] */
  1632.     printf(
  1633.       "\360\317\304\317\312\304\311 \302\314\311\326\305 \313 \301\327\324\317\315\301\324\325!\n");
  1634.       }
  1635.       break;
  1636.       /*L32222*/
  1637.  
  1638. /* p2c: stalk1-koi.pas, line 983:
  1639.  * Note: Characters >= 128 encountered [281] */
  1640.     case 'K':   /* сломать стенку киркой */
  1641.       VAR16 = RUKSEEK(',', ',');
  1642.       if (VAR16 < 7) {
  1643.     printf("\356\301\320\322\301\327\314\305\316\311\305? ");
  1644.     READCHAR(&VAR53);
  1645.     CLEARMSG();
  1646.     VAR22 = VAR12;
  1647.     VAR24 = VAR14;
  1648.     switch (VAR53) {
  1649.  
  1650.     case '1':
  1651.       VAR22 = VAR12 + 1;
  1652.       VAR24 = VAR14 - 1;
  1653.       break;
  1654.  
  1655.     case '2':
  1656.       VAR22 = VAR12 + 1;
  1657.       break;
  1658.  
  1659.     case '3':
  1660.       VAR22 = VAR12 + 1;
  1661.       VAR24 = VAR14 + 1;
  1662.       break;
  1663.  
  1664.     case '4':
  1665.       VAR24 = VAR14 - 1;
  1666.       break;
  1667.  
  1668.     case '5':
  1669.       *V11070 = ' ';
  1670.       break;
  1671.  
  1672.     case '6':
  1673.       VAR24 = VAR14 + 1;
  1674.       break;
  1675.  
  1676.     case '7':
  1677.       VAR22 = VAR12 - 1;
  1678.       VAR24 = VAR14 - 1;
  1679.       break;
  1680.  
  1681.     case '8':
  1682.       VAR22 = VAR12 - 1;
  1683.       break;
  1684.  
  1685.     case '9':
  1686.       VAR22 = VAR12 - 1;
  1687.       VAR24 = VAR14 + 1;
  1688.       break;
  1689.  
  1690.     case '.':
  1691.       if (VAR4 > 0) {
  1692.         F[VAR4-1][VAR12-1][VAR14-1] = ' ';
  1693. /* p2c: stalk1-koi.pas, line 1005:
  1694.  * Note: Characters >= 128 encountered [281] */
  1695.         printf(
  1696.           "\353\325\323\317\313 \323\327\317\304\301 \317\302\322\325\333\311\314\323\321 \311 \322\301\323\313\317\314\317\314\323\321 \317 \327\301\333\325 \307\314\325\320\325\300 \307\317\314\317\327\325\n");
  1697.       }
  1698.       break;
  1699.  
  1700.     default:
  1701.       NELZYA();
  1702.       break;
  1703.     }/* case of */
  1704.     if ((unsigned)VAR22 < 32 && ((1L << VAR22) & 0xfffcL) != 0 &&
  1705.         (unsigned)VAR24 < 32 && ((1L << VAR24) & 0xfffffffcL) != 0 &&
  1706.         (F[VAR4][VAR22-1][VAR24-1] == '-' ||
  1707.          F[VAR4][VAR22-1][VAR24-1] == '!')) {
  1708.       F[VAR4][VAR22-1][VAR24-1] = 'c';
  1709.       IND[1]--;
  1710.     } else
  1711.       printf(
  1712.         "\356\325, \336\305\307\317 \322\301\332\315\301\310\301\314\323\321?\n");
  1713.       }
  1714. /* p2c: stalk1-koi.pas, line 988:
  1715.  * Note: Characters >= 128 encountered [281] */
  1716.       else {
  1717. /* p2c: stalk1-koi.pas, line 1014:
  1718.  * Note: Characters >= 128 encountered [281] */
  1719.     printf(
  1720.       "\341 \323\324\305\316\313\325 \327\331 \302\325\304\305\324\305 \314\302\317\315 \320\322\317\333\311\302\301\324\330?..\n");
  1721.       }
  1722.       break;
  1723.       /*L32600*/
  1724.  
  1725. /* p2c: stalk1-koi.pas, line 1016:
  1726.  * Note: Characters >= 128 encountered [281] */
  1727.     case 'Y':   /* зажарить убегающего зверя */
  1728.       if (((*V33074) & 6) == 2 && isupper(*V11070))
  1729.     *V11070 = ':';   /* Зверь становится едой */
  1730.       else
  1731.     NELZYA();
  1732.       break;
  1733.       /*L33724*/
  1734.  
  1735.     /*L34036*/
  1736.     case 'H':   /* хелп */
  1737.       HOME(0);
  1738. /* p2c: stalk1-koi.pas, line 1025:
  1739.  * Warning: Expected an expression, found a ')' [227] */
  1740. /* p2c: stalk1-koi.pas, line 1025:
  1741.  * Warning: Symbol 'HOME' is not defined [221] */
  1742.       CLREOS(0);
  1743. /* p2c: stalk1-koi.pas, line 1025:
  1744.  * Warning: Expected an expression, found a ')' [227] */
  1745. /* p2c: stalk1-koi.pas, line 1025:
  1746.  * Warning: Symbol 'CLREOS' is not defined [221] */
  1747. /* p2c: stalk1-koi.pas, line 1026:
  1748.  * Note: Characters >= 128 encountered [281] */
  1749.       printf(
  1750.     "\354\301\304\316\317, \321 \313\317\305-\336\324\317 \320\317\304\323\313\301\326\325. \351\324\301\313: \332\304\305\323\330 \324\327\317\322\311\324\323\321 \336\305\322\324 \332\316\301\305\324 \336\324\317,\n");
  1751. /* p2c: stalk1-koi.pas, line 1027:
  1752.  * Note: Characters >= 128 encountered [281] */
  1753.       printf(
  1754.     "\316\317 \316\301 \327\317\323\330\315\317\315 \325\322\317\327\316\305 \314\305\326\311\324 \332\317\314\317\324\317\312 \333\301\322. \364\317\314\330\313\317 \304\317\323\324\301\327 \305\307\317, \367\331\n");
  1755. /* p2c: stalk1-koi.pas, line 1028:
  1756.  * Note: Characters >= 128 encountered [281] */
  1757.       printf(
  1758.     "\323\315\317\326\305\324\305 \327\331\312\324\311 \311\332 \320\317\304\332\305\315\305\314\330\321, \320\322\311\304\321 \316\301 \324\317 \326\305 \315\305\323\324\317, \317\324\313\325\304\301 \327\331 \327\331\333\314\311\n");
  1759. /* p2c: stalk1-koi.pas, line 1029:
  1760.  * Note: Characters >= 128 encountered [281] */
  1761.       printf(
  1762.     "\327\316\301\336\301\314\305. \363\327\317\311\315 \307\314\301\332\301\315 \316\305 \327\323\305\307\304\301 \323\324\317\311\324 \304\317\327\305\322\321\324\330!\n");
  1763. /* p2c: stalk1-koi.pas, line 1030:
  1764.  * Note: Characters >= 128 encountered [281] */
  1765.       printf(
  1766.     " \367\331 \315\317\326\305\324\305 \311\323\320\317\314\330\332\317\327\301\324\330 \313\317\315\301\316\304\331:\n");
  1767. /* p2c: stalk1-koi.pas, line 1031:
  1768.  * Note: Characters >= 128 encountered [281] */
  1769.       printf("A - \353\325\320\311\324\330 (\316\301 \332\317\314\317\324\317)\n");
  1770. /* p2c: stalk1-koi.pas, line 1032:
  1771.  * Note: Characters >= 128 encountered [281] */
  1772.       printf("B - \372\301\315\305\316\311\324\330 \302\301\324\301\322\305\311\n");
  1773. /* p2c: stalk1-koi.pas, line 1033:
  1774.  * Note: Characters >= 128 encountered [281] */
  1775.       printf(
  1776.     "D - \367\331\302\322\317\323\311\324\330 \320\322\305\304\315\305\324\n");
  1777. /* p2c: stalk1-koi.pas, line 1034:
  1778.  * Note: Characters >= 128 encountered [281] */
  1779.       printf("E - \360\317\305\323\324\330\n");
  1780. /* p2c: stalk1-koi.pas, line 1035:
  1781.  * Note: Characters >= 128 encountered [281] */
  1782.       printf(
  1783.     "F - \360\322\311\307\317\324\317\327\311\324\330\323\321 \313 \323\322\301\326\305\316\311\300\n");
  1784. /* p2c: stalk1-koi.pas, line 1036:
  1785.  * Note: Characters >= 128 encountered [281] */
  1786.       printf("H - HELP (\334\324\317\324 \324\305\313\323\324)\n");
  1787. /* p2c: stalk1-koi.pas, line 1037:
  1788.  * Note: Characters >= 128 encountered [281] */
  1789.       printf("I - \356\301\304\305\324\330 \313\317\314\330\303\317\n");
  1790. /* p2c: stalk1-koi.pas, line 1038:
  1791.  * Note: Characters >= 128 encountered [281] */
  1792.       printf("J - \357\302\316\317\327\311\324\330 \334\313\322\301\316\n");
  1793. /* p2c: stalk1-koi.pas, line 1039:
  1794.  * Note: Characters >= 128 encountered [281] */
  1795.       printf(
  1796.     "K - \363\314\317\315\301\324\330 \323\324\305\316\313\325 (\313\311\322\313\317\312)\n");
  1797. /* p2c: stalk1-koi.pas, line 1040:
  1798.  * Note: Characters >= 128 encountered [281] */
  1799.       printf("L - \367\313\314\300\336\311\324\330 \306\317\316\301\322\330\n");
  1800. /* p2c: stalk1-koi.pas, line 1041:
  1801.  * Note: Characters >= 128 encountered [281] */
  1802.       printf(
  1803.     "M - \360\322\311\307\317\324\317\327\311\324\330 \317\322\325\326\311\305\n");
  1804. /* p2c: stalk1-koi.pas, line 1042:
  1805.  * Note: Characters >= 128 encountered [281] */
  1806.       printf(
  1807.     "N - \353\314\301\327\311\333\301 \"\351\304\305\324 \316\301\336\301\314\330\316\311\313\" (\317\324\302\317\312 \324\322\305\327\317\307\311 - \"P\")\n");
  1808. /* p2c: stalk1-koi.pas, line 1043:
  1809.  * Note: Characters >= 128 encountered [281] */
  1810.       printf("O - \367\331\313\314\300\336\311\324\330 \306\317\316\301\322\330\n");
  1811. /* p2c: stalk1-koi.pas, line 1044:
  1812.  * Note: Characters >= 128 encountered [281] */
  1813.       printf("P - \356\301\304\305\324\330 \304\317\323\320\305\310\311\n");
  1814. /* p2c: stalk1-koi.pas, line 1045:
  1815.  * Note: Characters >= 128 encountered [281] */
  1816.       printf("Q - \360\311\324\330\n");
  1817. /* p2c: stalk1-koi.pas, line 1046:
  1818.  * Note: Characters >= 128 encountered [281] */
  1819.       printf("R - \376\311\324\301\324\330 \320\301\320\311\322\325\323\n");
  1820. /* p2c: stalk1-koi.pas, line 1047:
  1821.  * Note: Characters >= 128 encountered [281] */
  1822.       printf("S - \363\327\311\323\324\316\325\324\330\n");
  1823. /* p2c: stalk1-koi.pas, line 1048:
  1824.  * Note: Characters >= 128 encountered [281] */
  1825.       printf(
  1826.     "T - \367\332\321\324\330 \320\322\305\304\315\305\324, \316\301 \313\314\324\317\322\317\315 \323\324\317\311\333\330\n");
  1827. /* p2c: stalk1-koi.pas, line 1049:
  1828.  * Note: Characters >= 128 encountered [281] */
  1829.       printf(
  1830.     "U - \367\331\332\327\301\324\330 \304\326\311\316\316\301 (\324\317\314\330\313\317 \327 \302\305\332\316\301\304\305\326\316\317\315 \323\314\325\336\301\305!)...    \344\301\314\330\333\305? ");
  1831.       READCHAR(&VAR53);
  1832.       if (VAR53 == '\015')
  1833.     READCHAR(&VAR53);
  1834.       printf("\nV - \363\316\321\324\330 \313\317\314\330\303\317\n");
  1835. /* p2c: stalk1-koi.pas, line 1055:
  1836.  * Note: Characters >= 128 encountered [281] */
  1837. /* p2c: stalk1-koi.pas, line 1056:
  1838.  * Note: Characters >= 128 encountered [281] */
  1839.       printf(
  1840.     "W - \367\332\315\301\310\316\325\324\330 \327\317\314\333\305\302\316\317\312 \320\301\314\317\336\313\317\312\n");
  1841. /* p2c: stalk1-koi.pas, line 1057:
  1842.  * Note: Characters >= 128 encountered [281] */
  1843.       printf("X - \372\301\313\317\316\336\311\324\330\n");
  1844. /* p2c: stalk1-koi.pas, line 1058:
  1845.  * Note: Characters >= 128 encountered [281] */
  1846.       printf(
  1847.     "Y - \372\301\326\301\322\311\324\330 \325\302\305\307\301\300\335\305\307\317 \332\327\305\322\321\n");
  1848. /* p2c: stalk1-koi.pas, line 1059:
  1849.  * Note: Characters >= 128 encountered [281] */
  1850.       printf(
  1851.     "Z - \360\305\322\305\327\305\323\324\311 \304\305\316\330\307\311 \327 \302\301\316\313 \316\301 \323\336\305\324 \320\305\335\305\322\331.\n");
  1852. /* p2c: stalk1-koi.pas, line 1060:
  1853.  * Note: Characters >= 128 encountered [281] */
  1854.       printf(
  1855.     "/ - \360\305\322\305\314\317\326\311\324\330 \327\305\335\311 \327 \322\300\313\332\301\313\305\n");
  1856. /* p2c: stalk1-koi.pas, line 1061:
  1857.  * Note: Characters >= 128 encountered [281] */
  1858.       printf("   \360 \345 \362 \345 \344 \367 \351 \366 \345 \356 \351 \345:\n\n");
  1859.       printf("    7 8 9\n");
  1860. /* p2c: stalk1-koi.pas, line 1064:
  1861.  * Note: Characters >= 128 encountered [281] */
  1862.       printf(
  1863.     "    4   6   - \344\327\311\326\305\316\311\305 \320\317 \325\322\317\327\316\300\n");
  1864.       printf("    1 2 3\n");
  1865. /* p2c: stalk1-koi.pas, line 1066:
  1866.  * Note: Characters >= 128 encountered [281] */
  1867.       printf("5 - \367\316\311\332 \320\317 \314\305\323\324\316\311\303\305\n");
  1868. /* p2c: stalk1-koi.pas, line 1067:
  1869.  * Note: Characters >= 128 encountered [281] */
  1870.       printf(". - \367\327\305\322\310 \320\317 \314\305\323\324\316\311\303\305\n");
  1871. /* p2c: stalk1-koi.pas, line 1068:
  1872.  * Note: Characters >= 128 encountered [281] */
  1873.       printf("0 - \357\324\304\331\310\301\324\330.\n\n");
  1874. /* p2c: stalk1-koi.pas, line 1070:
  1875.  * Note: Characters >= 128 encountered [281] */
  1876.       printf(
  1877.     "\351\323\320\317\314\330\332\317\327\301\324\330 \315\317\326\316\317 \314\311\333\330 \327\305\335\311, \314\305\326\301\335\311\305 \327 \322\300\313\332\301\313\305.\n");
  1878. /* p2c: stalk1-koi.pas, line 1071:
  1879.  * Note: Characters >= 128 encountered [281] */
  1880.       printf("\360\322\311\315\305\336\301\316\311\305:\n");
  1881. /* p2c: stalk1-koi.pas, line 1072:
  1882.  * Note: Characters >= 128 encountered [281] */
  1883.       printf(
  1884.     "    \367\317\314\333\305\302\316\301\321 \313\311\322\313\301 \327\331\316\305\323\305\324 \327\301\323 \311\332 \"\313\317\315\301\322\311\316\317\312 \320\314\305\333\311\" \320\322\311 \325\304\301\322\305 \305\312 \327\316\311\332.\n\n");
  1885. /* p2c: stalk1-koi.pas, line 1074:
  1886.  * Note: Characters >= 128 encountered [281] */
  1887.       printf(
  1888.     "\356\325, \336\324\317, \320\317\312\304\305\315 \304\301\314\330\333\305? ");
  1889.       READCHAR(&VAR53);
  1890.       if (VAR53 == '\015')
  1891.     READCHAR(&VAR53);
  1892.       L03362('J');   /* Обновить экран */
  1893.       IND[0] -= 2;   /* Рейтинг */
  1894.       break;
  1895.       /*L34046*/
  1896.  
  1897.     case 'U':  /* вызвать джинна */
  1898.       if (!VAR46 != false) {
  1899.     printf(
  1900.       "\376\324\317, \327\314\311\320? \314\301\304\316\317, \320\317\320\322\317\302\325\300 \324\305\302\321  \320\305\322\305\316\305\323\324\311\n");
  1901. /* p2c: stalk1-koi.pas, line 1085:
  1902.  * Note: Characters >= 128 encountered [281] */
  1903.     printf(
  1904.       "\317\324\323\300\304\301. \324\317\314\330\313\317 \304\317\322\317\307\317\327\301\324\317 \334\324\317 \327\323\324\301\316\305\324...\n");
  1905. /* p2c: stalk1-koi.pas, line 1086:
  1906.  * Note: Characters >= 128 encountered [281] */
  1907.     printf("\364\331 \307\317\324\317\327? ");
  1908.     READCHAR(&VAR53);
  1909.     if (VAR53 != 'N') {
  1910.       for (VAR16 = 1; VAR16 <= 5; VAR16++)
  1911.         IND[VAR16-1] -= RANDOM(0, 15);
  1912.       for (VAR16 = 1; VAR16 <= 6; VAR16++)  /*L34504*/
  1913.         RUKSAK[VAR16-1] = '.';
  1914.       VAR12 = RANDOM(2, 15);
  1915.       VAR14 = RANDOM(2, 31);
  1916.       VAR22 = RANDOM(0, 8);
  1917.       V11070 = &F[VAR4][VAR12-1][VAR14-1];
  1918.       V33074 = &F2[VAR4][VAR12-1][VAR14-1];
  1919.       if (VAR22 > VAR4)
  1920.         VAR22 = VAR4;
  1921.       VAR4 = VAR22;
  1922.       L03362('J');   /* Обновить экран */
  1923.     }
  1924.       }
  1925. /* p2c: stalk1-koi.pas, line 1084:
  1926.  * Note: Characters >= 128 encountered [281] */
  1927.       else
  1928.     printf("\344\326\311\316\316 \327 \317\324\307\325\314\305\n");
  1929.       break;
  1930. /* p2c: stalk1-koi.pas, line 1109:
  1931.  * Note: Characters >= 128 encountered [281] */
  1932.  
  1933. /* p2c: stalk1-koi.pas, line 1106:
  1934.  * Note: Characters >= 128 encountered [281] */
  1935.     default:
  1936.       printf("\376\324\317-\336\324\317?\n");
  1937.       break;
  1938.     }
  1939.     /* case of */
  1940.     /*L35274*/
  1941.     if (VAR40 > 0) {
  1942.       VAR22 = VAR12 + RANDOM(1, 3) - 2;
  1943.       VAR24 = VAR14 + RANDOM(1, 3) - 2;
  1944.       if ((unsigned)VAR22 < 32 && ((1L << VAR22) & 0xfffcL) != 0 &&
  1945.       (unsigned)VAR24 < 32 && ((1L << VAR24) & 0xfffffffcL) != 0) {
  1946.     VAR12 = VAR22;
  1947.     VAR14 = VAR24;
  1948.     VAR40--;
  1949.       }
  1950.       V11070 = &F[VAR4][VAR12-1][VAR14-1];
  1951.       V33074 = &F2[VAR4][VAR12-1][VAR14-1];
  1952.     }
  1953.     VAR20 = 1;   /*L35650*/
  1954.     VAR26 += VAR30;   /*L35656*/
  1955.     if (VAR47 != false)   /* Фонарь горит */
  1956.       VAR32--;
  1957.     /* Уменьшаем заряд батарей */
  1958.     VAR2 += (IND[2] + IND[3]) / 10;
  1959.     if (VAR2 > 200) {
  1960.       VAR2 = 0;
  1961.       IND[0]++;
  1962.       IND[1]--;
  1963.     }
  1964.     if (IND[1] < 5)   /*L35774*/
  1965.       printf("\363\311\314\331 \316\301 \311\323\310\317\304\305\n");
  1966. /* p2c: stalk1-koi.pas, line 1133:
  1967.  * Note: Characters >= 128 encountered [281] */
  1968.     if (IND[1] > 50)   /*L36032*/
  1969.       IND[1] = 50;
  1970.     if (VAR47 && VAR32 < 10 && VAR32 > 1)   /*L36122*/
  1971.       printf("\346\317\316\301\322\330 \307\301\323\316\305\324\n");
  1972. /* p2c: stalk1-koi.pas, line 1136:
  1973.  * Note: Characters >= 128 encountered [281] */
  1974.     if (VAR32 == 1) {
  1975.       IND[0]--;
  1976.       VAR47 = false;   /* Фонарь не горит */
  1977.       VAR32 = 0;   /* Заряд батарей */
  1978.     }
  1979.     if (VAR26 > 200)
  1980.       printf("\357\324\304\317\310\316\325\324\330-\302\331\n");
  1981. /* p2c: stalk1-koi.pas, line 1143:
  1982.  * Note: Characters >= 128 encountered [281] */
  1983.     if (VAR26 > 215) {   /* Слишком устал */
  1984.       IND[1] -= 3;
  1985.       VAR26 = 50;   /*L36254*/
  1986.     }
  1987.     /*L36232*/
  1988.     for (VAR16 = 1; VAR16 <= 4; VAR16++) {  /*L36262*/
  1989.       if (V33122[VAR16-1] != ' ') {  /*L36322*/
  1990.     if (V33136[VAR16-1] != VAR12 || V33146[VAR16-1] != VAR14) {
  1991.           /*L36344*/
  1992.         if (VAR12 > V33136[VAR16-1])   /*L36434*/
  1993.         VAR22 = V33136[VAR16-1] + 1;   /*L36460*/
  1994.       else if (VAR12 < V33136[VAR16-1])   /*L36506*/
  1995.         VAR22 = V33136[VAR16-1] - 1;
  1996.       /*L36532*/
  1997.       if (VAR14 > V33146[VAR16-1])   /*L36554*/
  1998.         VAR24 = V33146[VAR16-1] + 1;   /*L36600*/
  1999.       else if (VAR14 < V33146[VAR16-1])   /*L36626*/
  2000.         VAR24 = V33146[VAR16-1] - 1;
  2001.       /*L36652*/
  2002.       if ((F[VAR4][VAR22-1][VAR24-1] == '-' ||
  2003.            F[VAR4][VAR22-1][VAR24-1] == '!') &&
  2004.           (V33126[VAR16-1] & 6) == 4)
  2005.         /*L36674*/
  2006.           V33122[VAR16-1] = ' ';
  2007.       else {
  2008.         F[VAR4][V33136[VAR16-1] - 1][V33146[VAR16-1] - 1] = '.';
  2009.         CURSORTO(V33136[VAR16-1], V33146[VAR16-1]);
  2010. /* p2c: stalk1-koi.pas, line 1163:
  2011.  * Warning: Symbol 'CURSORTO' is not defined [221] */
  2012.         putchar('.');
  2013.         F[VAR4][VAR22-1][VAR24-1] = V33122[VAR16-1];
  2014.         CURSORTO(VAR22, VAR24);
  2015. /* p2c: stalk1-koi.pas, line 1166:
  2016.  * Warning: Symbol 'CURSORTO' is not defined [221] */
  2017.         putchar(V33122[VAR16-1]);
  2018.         F2[VAR4][VAR22-1][VAR24-1] = V33126[VAR16-1];
  2019.         V33136[VAR16-1] = VAR22;
  2020.         V33146[VAR16-1] = VAR24;
  2021.         CURSORTO(18, 0);
  2022. /* p2c: stalk1-koi.pas, line 1171:
  2023.  * Warning: Symbol 'CURSORTO' is not defined [221] */
  2024.         /*WRITE(CHR(33B), '[K'); { стираем до конца строки */
  2025.         printf("\033K");
  2026.       }
  2027.     }
  2028.       }
  2029.     }
  2030.     if (IND[1] < 0) {   /* Умер от недостатка Энергии */
  2031.       VAR16 = RANDOM(10, 1000);
  2032. /* p2c: stalk1-koi.pas, line 1180:
  2033.  * Note: Characters >= 128 encountered [281] */
  2034.       printf(" \367\317\324 \367\331 \311 \323\324\301\314\311");
  2035.       printf("%4d", VAR16);
  2036. /* p2c: stalk1-koi.pas, line 1182:
  2037.  * Note: Characters >= 128 encountered [281] */
  2038.       printf(
  2039.     "-\317\312 \326\305\322\324\327\317\312 \334\324\317\307\317 \320\317\304\332\305\315\305\314\330\321.\n");
  2040.       goto _L2;   /* Выходим из игрового цикла */
  2041.     }
  2042.     /*L37536*/
  2043.     /* Энергия пока есть - продолжаем */
  2044.     /*L37660*/
  2045.     if (VAR4 != 0)
  2046.       continue;
  2047.     /* конец игрового цикла */
  2048.     if (VAR46 == false)
  2049.       continue;
  2050.     if (VAR12 != 2 || VAR14 != 2)
  2051.       continue;
  2052.     if (IND[4] >= 0) {  /* В банке есть деньги? */
  2053.       printf(
  2054.     "\353\301\313, \367\331 \327\305\322\316\325\314\311\323\330?! \356\325 \311 \316\325 !!!\n");
  2055. /* p2c: stalk1-koi.pas, line 1191:
  2056.  * Note: Characters >= 128 encountered [281] */
  2057.       printf("\341 \304\301\314\330\333\305 \320\317\312\304\305\324\305? ");
  2058.       READCHAR(&VAR53);
  2059.       if (VAR53 == 'Y') {
  2060.     DUNGEON++;   /* следующее подземелье */
  2061.     IND[0] += 50;   /* Рейтинг */
  2062.     goto _L1;   /* Рестарт игры */
  2063.       }
  2064.       goto _L2;   /* Выходим из игрового цикла */
  2065.     }
  2066. /* p2c: stalk1-koi.pas, line 1190:
  2067.  * Note: Characters >= 128 encountered [281] */
  2068.     else {
  2069.       printf(
  2070.     "\341 \322\301\323\320\314\301\336\311\327\301\324\330\323\321 \313\324\317 \302\325\304\305\324?\n");
  2071.       continue;
  2072. /* p2c: stalk1-koi.pas: Note: Deleting unreachable code [255] */
  2073. /* p2c: stalk1-koi.pas: Note: Deleting unreachable code [255] */
  2074. /* p2c: stalk1-koi.pas: Note: Deleting unreachable code [255] */
  2075. /* p2c: stalk1-koi.pas: Note: Deleting unreachable code [255] */
  2076.       continue;
  2077.     }
  2078.   }
  2079. /* p2c: stalk1-koi.pas, line 1200:
  2080.  * Note: Characters >= 128 encountered [281] */
  2081. _L2:
  2082.   /* Расчёт счёта игрока */
  2083.   VAR16 = IND[0] + (IND[1] + IND[2] + IND[3] + IND[4] / 5) / 3;
  2084. /* p2c: stalk1-koi.pas, line 1209:
  2085.  * Note: Characters >= 128 encountered [281] */
  2086.   printf("\367\301\333 \323\336\305\324 -");
  2087.   printf("%5d\n", VAR16);
  2088.   exit(EXIT_SUCCESS);
  2089. }
  2090.  
  2091.  
  2092.  
  2093. /* End. */
  2094.  
Advertisement
Add Comment
Please, Sign In to add comment