bkimminich

XXXX 2 - The ultimative DOOM 2-Clone

Jan 27th, 2019
491
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. PROGRAM XXXX;
  2.  
  3. {********************************************
  4.  * X X X X 2 - The ultimative DOOM 2-Clone  *
  5.  *                                          *
  6.  * Author: B.M”ller                         *
  7.  * Publisher: B™MMSOFT  (Germany)           *
  8.  *                                          *
  9.  * Date of begin: 14.04.95                  *
  10.  * Date of end  : __.__.__                  *
  11.  ********************************************}
  12.  
  13. USES Crt;
  14. VAR dead,enemy:STRING[10];
  15.     x,y,m,a,w20,expX,expY,Moveit,maxF,udx,udy,feldx,feldy:INTEGER;
  16.     armour,bullets,bombs,missles,pow,acc,lp,af,tp,sc,aliennr:LONGINT;
  17.     score,scorealt,level:LONGINT;
  18.     posx,posy,Hits,schaden,SP1x,sp2x,sp3x,sp4x,sp5x,sp1y,sp2y,sp3y,sp4y,sp5y:INTEGER;
  19.     Ch:CHAR;
  20.     vP1x,vp2x,vp3x,vp4x,vp5x,vp1y,vp2y,vp3y,vp4y,vp5y:INTEGER;
  21.  
  22.  {$I B”mmsoft.log}
  23. PROCEDURE Explode; FORWARD;
  24. PROCEDURE Blood;
  25. BEGIN
  26. textcolor(red);
  27. for y:=1 to 22 do begin
  28.    gotoxy(1,y);
  29.    for a:=1 to 80 do write('Û');
  30.  
  31.    gotoxy(1,y+1);
  32.    for a:=1 to 80 do begin
  33.    m:=random(2)+1;
  34.    if m=1 then write('Û');
  35.    if m=2 then write(' ');
  36.    end;
  37.  
  38.    gotoxy(1,y+2);
  39.    for a:=1 to 80 do begin
  40.    m:=random(2)+1;
  41.    if m=1 then write('³');
  42.    if m=2 then write(' ');
  43.    end;
  44.  
  45.    gotoxy(1,y+3);
  46.    for a:=1 to 80 do begin
  47.    m:=random(2)+1;
  48.    if m=1 then write('ß');
  49.    if m=2 then write(' ');
  50.    end;
  51.  
  52. delay(127);
  53. if y=10 then nosound;
  54. end;
  55.  
  56. gotoxy(1,22);
  57. for a:=1 to 80 do write('Û');
  58. delay(127);
  59. gotoxy(1,23);
  60. for a:=1 to 80 do write('Û');
  61. delay(127);
  62. gotoxy(1,24);
  63. for a:=1 to 80 do write('Û');
  64. delay(1000);
  65. END;
  66.  
  67. PROCEDURE Intro;
  68. BEGIN
  69. clrscr;
  70. Boemmsoft_Logo;
  71. gotoxy(36,18);
  72. textcolor(white);
  73. write('presents');
  74. delay(2000);
  75. clrscr;
  76. delay(1000);
  77. textcolor(red);
  78. write('                            ²²²²²²²²²²²²²²²²²²²²²²²²²²²²²±                      ');
  79. write('                           ²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²±                     ');
  80. write('ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ°');
  81. write('Û°                          ²²²²±                   ²²²²²²±                   Û°');
  82. write('Û°ÛÛÛ°           ÛÛÛ°ÛÛÛ°           ÛÛÛ°ÛÛÛ°       ²²²±ÛÛÛ°ÛÛÛ°           ÛÛÛ°Û°');
  83. write('Û° ÛÛÛ°         ÛÛÛ°  ÛÛÛ°         ÛÛÛ°  ÛÛÛ°    ²²²²±ÛÛÛ°  ÛÛÛ°         ÛÛÛ° Û°');
  84. write('Û°  ÛÛÛ°       ÛÛÛ°    ÛÛÛ°       ÛÛÛ°    ÛÛÛ°  ²²²²±ÛÛÛ°    ÛÛÛ°       ÛÛÛ°  Û°');
  85. write('Û°   ÛÛÛ°     ÛÛÛ°      ÛÛÛ°     ÛÛÛ°      ÛÛÛ°²²²²±ÛÛÛ°      ÛÛÛ°     ÛÛÛ°   Û°');
  86. write('Û°    ÛÛÛ°   ÛÛÛ°        ÛÛÛ°   ÛÛÛ°        ÛÛÛ°²²±ÛÛÛ°        ÛÛÛ°   ÛÛÛ°    Û°');
  87. write('Û°     ÛÛÛ° ÛÛÛ°          ÛÛÛ° ÛÛÛ°        ²²ÛÛÛ°±ÛÛÛ°          ÛÛÛ° ÛÛÛ°     Û°');
  88. write('Û°       ÛÛÛÛ°              ÛÛÛÛ°         ²²²²±ÛÛÛÛ°              ÛÛÛÛ°       Û°');
  89. write('Û°     ÛÛÛ° ÛÛÛ°          ÛÛÛ° ÛÛÛ°      ²²²±ÛÛÛ° ÛÛÛ°          ÛÛÛ° ÛÛÛ°     Û°');
  90. write('Û°    ÛÛÛ°   ÛÛÛ°        ÛÛÛ°   ÛÛÛ°    ²²²±ÛÛÛ°   ÛÛÛ°        ÛÛÛ°   ÛÛÛ°    Û°');
  91. write('Û°   ÛÛÛ°     ÛÛÛ°      ÛÛÛ°     ÛÛÛ° ²²²²±ÛÛÛ°     ÛÛÛ°      ÛÛÛ°     ÛÛÛ°   Û°');
  92. write('Û°  ÛÛÛ°       ÛÛÛ°    ÛÛÛ°       ÛÛÛ°²²²±ÛÛÛ°       ÛÛÛ°    ÛÛÛ°       ÛÛÛ°  Û°');
  93. write('Û° ÛÛÛ°         ÛÛÛ°  ÛÛÛ°        ²ÛÛÛ°²±ÛÛÛ°         ÛÛÛ°  ÛÛÛ°         ÛÛÛ° Û°');
  94. write('Û°ÛÛÛ°           ÛÛÛ°ÛÛÛ°        ²²²ÛÛÛ°ÛÛÛ°           ÛÛÛ°ÛÛÛ°           ÛÛÛ°Û°');
  95. write('Û°                             ²²²²²²²²²±                                     Û°');
  96. write('ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ°');
  97. write('                             ²²²²²²²²²²²²²²²²²²²²²²²²²²²²²±                     ');
  98. write('                            ²²²²²²²²²²²²²²²²²²²²²²²²²²²²²±                      ');
  99. writeln;
  100. writeln('                  Û Û Ûß Û  Û   ÛßÛ Û  Û  Ûß ÛßÛ ÛßÛ ßÛß Û Û');
  101. writeln('                   Û  ÛÛ Û  Û   Û Û ÛÛ Û  ÛÛ ÛßÛ ÛßÛ  Û  ÛÛÛ');
  102. write('                  Û Û ÛÜ ÛÜ ÛÜ  ÛÜÛ Û ßÛ  ÛÜ Û Û Û  Û Û  Û Û');
  103. gotoxy(39,20);
  104. write('VERSION 1.2');
  105. readln;
  106. Blood;
  107. clrscr;
  108. delay(1000);
  109. textcolor(7);
  110. writeln;
  111. writeln('To get known the controlling of "XXXX 2" type `HELP` in your Game-directory!');
  112. writeln;
  113. writeln('             I hope you enjoy blasting the demons back to hell...');
  114. writeln;
  115. writeln('                 If there`s any problem with this game call:');
  116. writeln;
  117. textcolor(red);
  118. writeln('                            Germany, 04122-######');
  119. textcolor(8);
  120. writeln;
  121. writeln('            Why are you waiting? Press <RETURN> to start demon-kicking...');
  122. readln;
  123. Blood;
  124. clrscr;
  125. delay(1000);
  126. END;
  127.  
  128.  
  129. PROCEDURE Init_Hero;
  130. BEGIN
  131. Scorealt:=0;
  132. Score:=0;
  133. Level:=1;
  134. Armour:=5000;
  135. Bullets:=1000;
  136. Bombs:=10;
  137. Missles:=3;
  138. POW:=8;
  139. ACC:=10;
  140. END;
  141.  
  142. PROCEDURE Status;
  143. BEGIN
  144. textcolor(0);
  145. textbackground(7);
  146. window(1,23,80,25);
  147. clrscr;
  148.  
  149. window(1,24,16,24);
  150. write('SCORE: ',score);
  151.  
  152. window(1,25,16,25);
  153. write('LEVEL: ',level);
  154.  
  155. window(18,24,32,24);
  156. write('ARMOUR: ',armour);
  157.  
  158. window(18,25,32,25);
  159. write('ACCURANCE: ',acc);
  160.  
  161. window(34,24,48,24);
  162. write('GUNPOWER: ',pow);
  163.  
  164. window(34,25,48,25);
  165. write('BULLETS: ',bullets);
  166.  
  167. window(50,24,67,24);
  168. write('BOMBS: ',bombs);
  169.  
  170. window(50,25,67,25);
  171. write('H-MISSLES: ',missles);
  172.  
  173. window(69,23,80,25);
  174. gotoxy(2,1); write('XXXX 2');
  175. gotoxy(2,2); write('¸ 1995');
  176. gotoxy(1,3); write('B™MMSOFT');
  177.  
  178. textbackground(0);
  179. textcolor(0);
  180. window(1,1,80,22);
  181. END;
  182.  
  183. PROCEDURE Init_Crosswire;
  184. BEGIN
  185. textcolor(white);
  186. Posx:=40;
  187. Posy:=11;
  188. gotoxy(Posx-1,Posy);
  189. write('ÄÅÄ');
  190. END;
  191.  
  192. PROCEDURE Feind1;
  193.    begin
  194. expx:=37;
  195. expy:=11;
  196. Moveit:=10;
  197. Maxf:=2;
  198. lp:=10; af:=5; tp:=6; sc:=7;
  199.    aliennr:=1;
  200.    vp1x:=-1;
  201.    vp1y:=0;
  202.  
  203.    vp2x:=0;
  204.    vp2y:=0;
  205.  
  206.    vp3x:=1;
  207.    vp3y:=0;
  208.  
  209.    vp4x:=0;
  210.    vp4y:=1;
  211.    vp5x:=10000;
  212. vp5y:=10000;
  213.  
  214.    end;
  215.  
  216. PROCEDURE Feind2;
  217.    begin
  218. expx:=38;
  219. expy:=17;
  220. Moveit:=6;
  221. MaxF:=1;
  222. lp:=20; af:=7; tp:=5; sc:=11;
  223.    aliennr:=2;
  224.  
  225.    vp1x:=-9;
  226.    vp1y:=-3;
  227.  
  228.    vp2x:=-8;
  229.    vp2y:=-3;
  230.  
  231.    vp3x:=-7;
  232.    vp3y:=-3;
  233.  
  234.    vp4x:=-6;
  235.    vp4y:=-3;
  236.  
  237.    vp5x:=-5;
  238.    vp5y:=1-3;
  239.    end;
  240.  
  241. PROCEDURE Feind4;
  242.    begin
  243. expx:=28;
  244. expy:=17;
  245. Moveit:=4;
  246. MaxF:=1;
  247. lp:=40; af:=9; tp:=12; sc:=20;
  248.    aliennr:=4;
  249. vp1x:=4;
  250. vp1y:=3-4;
  251. vp2x:=5;
  252. vp2y:=4-4;
  253. vp3x:=5;
  254. vp3y:=5-4;
  255. vp4x:=10000;
  256. vp4y:=10000;
  257. vp5x:=10000;
  258. vp5y:=10000;
  259.  
  260. end;
  261.  
  262. PROCEDURE Feind5;
  263.    begin
  264. expx:=39;
  265. expy:=13;
  266. Moveit:=1;
  267. MaxF:=1;
  268. lp:=50; af:=10; tp:=20; sc:=26;
  269.    aliennr:=5;
  270.     vp1x:=0;
  271.    vp1y:=-1;
  272.  
  273.    vp2x:=-1;
  274.    vp2y:=0;
  275.  
  276.    vp3x:=0;
  277.    vp3y:=0;
  278.  
  279.    vp4x:=1;
  280.    vp4y:=0;
  281.  
  282.    vp5x:=0;
  283.    vp5y:=1;
  284.  
  285.    end;
  286.  
  287. PROCEDURE Feind7;
  288.    begin
  289. EXPX:=52;
  290. EXPY:=11;
  291. Moveit:=15;
  292. MaxF:=4;
  293. lp:=5;  af:=5; tp:=100; sc:=36;
  294.    aliennr:=7;
  295.      vp1x:=3;
  296.    vp1y:=-4;
  297.  
  298.    vp2x:=1;
  299.    vp2y:=-1;
  300.  
  301.    vp3x:=0;
  302.    vp3y:=-1;
  303.  
  304.    vp4x:=-1;
  305.    vp4y:=-1;
  306.  
  307.    vp5x:=2;
  308.    vp5y:=-1;
  309.  
  310.    end;
  311.  
  312. PROCEDURE Feind8;
  313.    begin
  314. expx:=37; expy:=11;
  315. Moveit:=8;
  316. MaxF:=2;
  317. lp:=75; af:=12; tp:=25; sc:=37;
  318.    aliennr:=8;
  319.    vp1x:=0;
  320.    vp1y:=2;
  321.    vp2x:=1;
  322.    vp2y:=2;
  323. vp3x:=10000;
  324. vp3y:=10000;
  325. vp4x:=10000;
  326. vp4y:=10000;
  327. vp5x:=10000;
  328. vp5y:=10000;
  329.  
  330.    end;
  331.  
  332.  
  333. PROCEDURE Feind9;
  334.    begin
  335. expx:=13;
  336. expy:=8;
  337. Moveit:=3;
  338. MaxF:=1;
  339. lp:=100; af:=11; tp:=30; sc:=47;
  340.    aliennr:=9;
  341.    vp1x:=-2;
  342. vp1y:=-2;
  343. vp2x:=-1;
  344. vp2y:=-2;
  345. vp3x:=0;
  346. vp3y:=-2;
  347. vp4x:=10000;
  348. vp4y:=10000;
  349. vp5x:=10000;
  350. vp5y:=10000;
  351.  
  352.    end;
  353.  
  354. PROCEDURE Feind12;
  355.    begin
  356. expx:=15;
  357. expy:=5;
  358. Moveit:=16;
  359. MaxF:=10;
  360. lp:=200; af:=18; tp:=5; sc:=74;
  361.    aliennr:=12;
  362.    vp1x:=-2;
  363. vp1y:=1;
  364. vp2x:=-1;
  365. vp2y:=1;
  366. vp3x:=0;
  367. vp3y:=1;
  368. vp4x:=1;
  369. vp4y:=1;
  370. vp5x:=2;
  371. vp5y:=1;
  372. end;
  373.  
  374. PROCEDURE Feind14;
  375.    begin
  376. expx:=40;
  377. expy:=11;
  378. Moveit:=4;
  379. MaxF:=1;
  380. lp:=200; af:=13; tp:=40; sc:=84;
  381.    aliennr:=14;
  382.    vp1x:=-5;
  383. vp1y:=0;
  384. vp2x:=-5;
  385. vp2y:=1;
  386. vp3x:=5;
  387. vp3y:=0;
  388. vp4x:=5;
  389. vp4y:=1;
  390. vp5x:=0;
  391. vp5y:=3;
  392.  
  393.    end;
  394.  
  395. PROCEDURE Feind17;
  396.    begin
  397. expx:=40;
  398. expy:=17;
  399. Moveit:=1;
  400. MaxF:=1;
  401. lp:=500; af:=15; tp:=100; sc:=205;
  402.    aliennr:=17;
  403.    vp1x:=0;
  404. vp1y:=0;
  405. vp2x:=10000;
  406. vp2y:=10000;
  407. vp3x:=10000;
  408. vp3y:=10000;
  409. vp4x:=10000;
  410. vp4y:=10000;
  411. vp5x:=10000;
  412. vp5y:=10000;
  413.  
  414.    end;
  415.  
  416.    PROCEDURE Feind3;
  417.    begin
  418. expx:=37;
  419. expy:=11;
  420. Moveit:=10;
  421. Maxf:=2;
  422. lp:=30; af:=10; tp:=12; sc:=17;
  423.    aliennr:=3;
  424.    vp1x:=-1;
  425.    vp1y:=0;
  426.  
  427.    vp2x:=0;
  428.    vp2y:=0;
  429.  
  430.    vp3x:=1;
  431.    vp3y:=0;
  432.  
  433.    vp4x:=0;
  434.    vp4y:=1;
  435.    vp5x:=10000;
  436. vp5y:=10000;
  437.  
  438.    end;
  439.  
  440. PROCEDURE Feind6;
  441.    begin
  442. expx:=38;
  443. expy:=17;
  444. Moveit:=6;
  445. MaxF:=1;
  446. lp:=60; af:=14; tp:=10; sc:=28;
  447.    aliennr:=6;
  448.  
  449.    vp1x:=-9;
  450.    vp1y:=-3;
  451.  
  452.    vp2x:=-8;
  453.    vp2y:=-3;
  454.  
  455.    vp3x:=-7;
  456.    vp3y:=-3;
  457.  
  458.    vp4x:=-6;
  459.    vp4y:=-3;
  460.  
  461.    vp5x:=-5;
  462.    vp5y:=1-3;
  463.    end;
  464.  
  465. PROCEDURE Feind10;
  466.    begin
  467. expx:=28;
  468. expy:=17;
  469. Moveit:=4;
  470. MaxF:=1;
  471. lp:=120; af:=18; tp:=24; sc:=54;
  472.    aliennr:=10;
  473. vp1x:=4;
  474. vp1y:=3-4;
  475. vp2x:=5;
  476. vp2y:=4-4;
  477. vp3x:=5;
  478. vp3y:=5-4;
  479. vp4x:=10000;
  480. vp4y:=10000;
  481. vp5x:=10000;
  482. vp5y:=10000;
  483.  
  484. end;
  485.  
  486. PROCEDURE Feind11;
  487.    begin
  488. expx:=39;
  489. expy:=13;
  490. Moveit:=1;
  491. MaxF:=1;
  492. lp:=150; af:=20; tp:=40; sc:=70;
  493.    aliennr:=11;
  494.     vp1x:=0;
  495.    vp1y:=-1;
  496.  
  497.    vp2x:=-1;
  498.    vp2y:=0;
  499.  
  500.    vp3x:=0;
  501.    vp3y:=0;
  502.  
  503.    vp4x:=1;
  504.    vp4y:=0;
  505.  
  506.    vp5x:=0;
  507.    vp5y:=1;
  508.  
  509.    end;
  510.  
  511. PROCEDURE Feind13;
  512.    begin
  513. EXPX:=52;
  514. EXPY:=11;
  515. Moveit:=15;
  516. MaxF:=4;
  517. lp:=15;  af:=10; tp:=200; sc:=75;
  518.    aliennr:=13;
  519.      vp1x:=3;
  520.    vp1y:=-4;
  521.  
  522.    vp2x:=1;
  523.    vp2y:=-1;
  524.  
  525.    vp3x:=0;
  526.    vp3y:=-1;
  527.  
  528.    vp4x:=-1;
  529.    vp4y:=-1;
  530.  
  531.    vp5x:=2;
  532.    vp5y:=-1;
  533.  
  534.    end;
  535.  
  536. PROCEDURE Feind15;
  537.    begin
  538. expx:=37; expy:=11;
  539. Moveit:=8;
  540. MaxF:=2;
  541. lp:=225; af:=20; tp:=50; sc:=98;
  542.    aliennr:=15;
  543.    vp1x:=0;
  544.    vp1y:=2;
  545.    vp2x:=1;
  546.    vp2y:=2;
  547. vp3x:=10000;
  548. vp3y:=10000;
  549. vp4x:=10000;
  550. vp4y:=10000;
  551. vp5x:=10000;
  552. vp5y:=10000;
  553.  
  554.    end;
  555.  
  556.  
  557. PROCEDURE Feind16;
  558.    begin
  559. expx:=13;
  560. expy:=8;
  561. Moveit:=3;
  562. MaxF:=1;
  563. lp:=300; af:=20; tp:=60; sc:=127;
  564.    aliennr:=16;
  565.    vp1x:=-2;
  566. vp1y:=-2;
  567. vp2x:=-1;
  568. vp2y:=-2;
  569. vp3x:=0;
  570. vp3y:=-2;
  571. vp4x:=10000;
  572. vp4y:=10000;
  573. vp5x:=10000;
  574. vp5y:=10000;
  575.  
  576.    end;
  577.  
  578. PROCEDURE Feind18;
  579.    begin
  580. expx:=15;
  581. expy:=5;
  582. Moveit:=16;
  583. MaxF:=10;
  584. lp:=600; af:=20; tp:=15; sc:=210;
  585.    aliennr:=18;
  586.    vp1x:=-2;
  587. vp1y:=1;
  588. vp2x:=-1;
  589. vp2y:=1;
  590. vp3x:=0;
  591. vp3y:=1;
  592. vp4x:=1;
  593. vp4y:=1;
  594. vp5x:=2;
  595. vp5y:=1;
  596. end;
  597.  
  598. PROCEDURE Feind19;
  599.    begin
  600. expx:=40;
  601. expy:=11;
  602. Moveit:=4;
  603. MaxF:=1;
  604. lp:=600; af:=20; tp:=80; sc:=233;
  605.    aliennr:=19;
  606.    vp1x:=-5;
  607. vp1y:=0;
  608. vp2x:=-5;
  609. vp2y:=1;
  610. vp3x:=5;
  611. vp3y:=0;
  612. vp4x:=5;
  613. vp4y:=1;
  614. vp5x:=0;
  615. vp5y:=3;
  616.  
  617.    end;
  618.  
  619. PROCEDURE Feind20;
  620.    begin
  621. expx:=40;
  622. expy:=17;
  623. Moveit:=1;
  624. MaxF:=1;
  625. lp:=1500; af:=20; tp:=200; sc:=573;
  626.    aliennr:=20;
  627.    vp1x:=0;
  628. vp1y:=0;
  629. vp2x:=10000;
  630. vp2y:=10000;
  631. vp3x:=10000;
  632. vp3y:=10000;
  633. vp4x:=10000;
  634. vp4y:=10000;
  635. vp5x:=10000;
  636. vp5y:=10000;
  637.  
  638.    end;
  639.  
  640. PROCEDURE Enemychoose;
  641. BEGIN
  642. sp1x:=0;
  643. sp1y:=0;
  644. sp2x:=0;
  645. sp2y:=0;
  646. sp3x:=0;
  647. sp3y:=0;
  648. sp4x:=0;
  649. sp4y:=0;
  650. sp5x:=0;
  651. sp5y:=0;
  652.  
  653. w20:=random(20)+1;
  654. IF Level>=20 then enemy:='13-19';
  655. IF Level<19 then enemy:='10-17';
  656. IF Level<17 then enemy:='8-17';
  657. IF Level<13 then enemy:='5-17';
  658. IF Level<11 then enemy:='5-14';
  659. IF Level<8  then enemy:='4-11';
  660. IF Level<6  then enemy:='3-8';
  661. IF Level<4  then enemy:='2-5';
  662. IF Level<3  then enemy:='1-4';
  663. IF (Level>18) and (w20>16) then enemy:='20';
  664.  
  665.  
  666.  
  667. IF enemy='1-4' then begin
  668. a:=random(4)+1;
  669. if a=1 then Feind1;
  670. if a=2 then Feind2;
  671. if a=3 then Feind3;
  672. if a=4 then Feind4;
  673. end;
  674.  
  675.  
  676. IF enemy='2-5' then begin
  677.    a:=random(4)+1;
  678.    if a=1 then Feind2;
  679.    if a=2 then Feind3;
  680.    if a=3 then Feind4;
  681. if a=4 then Feind5;
  682.  
  683. end;
  684.  
  685. IF enemy='3-8' then begin
  686.    a:=random(6)+1;
  687.    if a=1 then Feind3;
  688.    if a=2 then Feind4;
  689.    if a=3 then Feind5;
  690.    if a=4 then Feind6;
  691.    if a=5 then Feind7;
  692.   if a=6 then Feind8;
  693. end;
  694.  
  695. IF enemy='4-11' then begin
  696.    a:=random(8)+1;
  697.    if a=1 then Feind4;
  698.    if a=2 then Feind5;
  699.    if a=3 then Feind6;
  700.    if a=4 then Feind7;
  701.    if a=5 then Feind8;
  702.    if a=6 then Feind9;
  703.    if a=7 then Feind10;
  704.    if a=8 then Feind1;
  705.  
  706. end;
  707.  
  708. IF enemy='5-14' then begin
  709.    a:=random(10)+1;
  710.    if a=1 then Feind5;
  711.    if a=2 then Feind6;
  712.    if a=3 then Feind7;
  713. if a=4 then Feind8;
  714.    if a=5 then Feind9;
  715.    if a=6 then Feind10;
  716.    if a=7 then Feind11;
  717.    if a=8 then Feind12;
  718.   if a=9 then Feind13;
  719.    if a=10 then Feind14;
  720.  
  721. end;
  722.  
  723. IF enemy='5-17' then begin
  724.    a:=random(13)+1;
  725.    if a=1 then Feind5;
  726.    if a=2 then Feind6;
  727.    if a=3 then Feind7;
  728. if a=4 then Feind8;
  729.    if a=5 then Feind9;
  730.    if a=6 then Feind10;
  731.    if a=7 then Feind11;
  732.    if a=8 then Feind12;
  733.  if a=9 then Feind13;
  734.    if a=10then Feind14;
  735.    if a=11then Feind15;
  736.    if a=12then Feind16;
  737.  if a=13then Feind17;
  738.  
  739. end;
  740.  
  741. IF enemy='8-17' then begin
  742.    a:=random(10)+1;
  743.    if a=1 then Feind8;
  744.    if a=2 then Feind9;
  745.    if a=3 then Feind10;
  746. if a=4 then Feind11;
  747.    if a=5 then Feind12;
  748.    if a=6 then Feind13;
  749.    if a=7 then Feind14;
  750.    if a=8 then Feind15;
  751.   if a=9 then Feind16;
  752.    if a=10 then Feind17;
  753.  end;
  754.    IF enemy='10-17' then begin
  755.    a:=random(8)+1;
  756.    if a=1 then Feind10;
  757.    if a=2 then Feind11;
  758.    if a=3 then Feind12;
  759.    if a=4 then Feind13;
  760.    if a=5 then Feind14;
  761.    if a=6 then Feind15;
  762.    if a=7 then Feind16;
  763.    if a=8 then Feind17;
  764.  
  765. end;
  766.  IF enemy='13-19' then begin
  767.    a:=random(7)+1;
  768.    if a=1 then Feind13;
  769.    if a=2 then Feind14;
  770.    if a=3 then Feind15;
  771.    if a=4 then Feind16;
  772.    if a=5 then Feind17;
  773.    if a=6 then Feind18;
  774.    if a=7 then Feind19;
  775.  
  776. end;
  777.  
  778.  
  779.  
  780. IF enemy='20' then Feind20;
  781.  
  782. END;
  783.  
  784. PROCEDURE Draw_Alien;
  785. BEGIN
  786. if aliennr=1 then begin
  787. textcolor(8);
  788. gotoxy(expx-6,expy-2);
  789. write('ÜÜ         ÜÜ');
  790. gotoxy(expx-4,expy-1);
  791. write('ßÜ     Üß');
  792. gotoxy(expx-2,expy);
  793. write('°±±±°');
  794. gotoxy(expx-1,expy+1);
  795. write('°±°');
  796. gotoxy(expx-2,expy+2);
  797. write('ß   ß');
  798. textcolor(14);
  799. gotoxy(expx-1,expy-1); write('Ü Ü');
  800. END;
  801.  
  802. if aliennr=2 then begin
  803. textcolor(6);
  804. gotoxy(expx-4,expy+2-3);
  805. write('ßßßßßßßßßßßß');
  806. gotoxy(expx+6,expy+1-3); write('ÜÜÜ');
  807. gotoxy(expx-10,expy-3);
  808. write('²²²²±');
  809. gotoxy(expx-5,expy+1-3); write('±');
  810. gotoxy(expx-10,expy-1-3);
  811. write('|  |');
  812. textcolor(14);
  813. gotoxy(expx-9,expy-1-3); write('ÜÜ');
  814. textcolor(7);
  815. gotoxy(expx-3,expy+1-3); write('±°°°°°±');
  816. gotoxy(expx-2,expy-3); write('±°°°±');
  817. gotoxy(expx-1,expy-1-3); write('±±±');
  818. end;
  819.  
  820. if aliennr=4 then begin
  821. textcolor(6);
  822. gotoxy(expx-3+6,expy-1-4);
  823. write('Ü  Ü');
  824. gotoxy(expx+2,expy-4);
  825. write('³ ÜÜ ³');
  826. gotoxy(expx-5,expy+1-4);
  827. write('ÛÛ     ³ ÛÛ ³');
  828. gotoxy(expx-7,expy+2-4);
  829. write('ÛÛ      ÛÛÛÛÛÛÛ');
  830. gotoxy(expx-8,expy+3-4);
  831. write('ÛÛ    ÜÛÛÛÛ');
  832. gotoxy(expx-7,expy+4-4);
  833. write('ÛÛÛÛÛÛÛÛÛ');
  834. gotoxy(expx-5,expy+5-4);
  835. write('ßßÛÛÛÛ');
  836. textcolor(blue);
  837. gotoxy(expx+3,expy+1-4); write('°');
  838. gotoxy(expx+6,expy+1-4); write('°');
  839. textcolor(15);
  840. gotoxy(expx+3,expy+3-4); write('²  ²');
  841. textcolor(magenta);
  842. gotoxy(expx+4,expy+3-4); write('±');
  843. gotoxy(expx+5,expy+4-4); write('±');
  844. gotoxy(expx+5,expy+5-4); write('ß');
  845. END;
  846.  
  847. if aliennr=5 then begin
  848. textcolor(lightgreen);
  849. gotoxy(expx-5,expy-3); write('±         ±');
  850. gotoxy(expx-4,expy-2); write('±ÜÜÜÜÜÜ ±');
  851. gotoxy(expx-6,expy-1); write('ÜÛÛÛÛ   ÛÛÛÛÜ');
  852. gotoxy(expx-7,expy); write('ÛÛÛÛÛ     ÛÛÛÛÛ');
  853. gotoxy(expx-8,expy+1); write('ÛÛÛÛÛÛÛ   ÛÛÛÛÛÛÛ');
  854. gotoxy(expx-9,expy+2); write('ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ');
  855. gotoxy(expx-9,expy+3); write('ÛÛÛÛÛÛ        ÛÛÛÛÛ');
  856. gotoxy(expx-8,expy+4); write('ßßßßßßßßßßßßßßßß');
  857. textcolor(15);
  858. gotoxy(expx-1,expy-1);  write('Ü°Ü');
  859. gotoxy(expx-2,expy); write('°° °°');
  860. gotoxy(expx-1,expy+1);  write('ß°ß');
  861. textcolor(lightred);
  862. gotoxy(expx-3,expy+3); write('³³³³³³³³');
  863. gotoxy(expx,expy); write('±');
  864. end;
  865.  
  866. if aliennr=7 then begin
  867. textcolor(red);
  868. gotoxy(expx-6,expy+2); write('ß ß  ß ß   ß  ß');
  869. gotoxy(expx-6,expy+1); write('±  ± ±  ± ±  ±');
  870. gotoxy(expx-5,expy); write('ÜÛÛÛÛÛÛÛÛÛÛÜ');
  871. gotoxy(expx-2,expy-1); write('Û °° ÛÞ²');
  872. gotoxy(expx-1,expy-2); write('ÜÜÜÜ   ²');
  873. gotoxy(expx+7,expy-3); write('²');
  874. gotoxy(expx+4,expy-4); write('ßßÜ');
  875. textcolor(white); gotoxy(expx+3,expy-4); write('Ü');
  876. textcolor(lightmagenta);
  877. gotoxy(expx-1,expy-1); write('þ');
  878. gotoxy(expx+2,expy-1); write('þ');
  879. end;
  880.  
  881. if aliennr=8 then begin
  882. textcolor(8);
  883. gotoxy(expx-10,expy-3); write('°°°°              °°°±');
  884. gotoxy(expx-7,expy-2); write('°°±          °±±');
  885. gotoxy(expx-5,expy-1); write('°±±      ±±±');
  886. gotoxy(expx-3,expy); write('°±±±±±±±');
  887. gotoxy(expx-2,expy+1); write('°°°°°±');
  888. gotoxy(expx-3,expy+2); write('° Û  Û ±');
  889. gotoxy(expx-4,expy+3); write('°        ±');
  890. textcolor(yellow); gotoxy(expx-1,expy-1); write('Ü  Ü');
  891. end;
  892.  
  893. if aliennr=9 then begin
  894. textcolor(6);
  895. gotoxy(expx+3-6,expy-5); write('Ü    Ü  Ü');
  896. gotoxy(expx-7,expy-4); write('Ü  Û  Û Û  Û');
  897. gotoxy(expx-6,expy-3); write('Û          Ü');
  898. gotoxy(expx+6,expy-2); write('Û');
  899. textcolor(magenta);
  900. gotoxy(expx-4,expy-3); write('±±²±²±²');
  901. gotoxy(expx-5,expy-2); write('±±²   ±±±²');
  902. gotoxy(expx-6,expy-1); write('±²²²±±²±²±±²²');
  903. gotoxy(expx-7,expy); write('±±ÜßÜßÜßÜßÜßܲ±');
  904. gotoxy(expx-7,expy+1); write('±²²²±²±±²²²²²±±');
  905. gotoxy(expx-6,expy+2); write('±±±±²±±±±±±±');
  906. gotoxy(expx-5,expy+3); write('±²²±±²²²±²±');
  907. gotoxy(expx-5,expy+4); write('ßß ß ß ß  ß');
  908. textcolor(green);
  909. gotoxy(expx-2,expy-2); write('Û Û');
  910. end;
  911.  
  912. if aliennr=12then begin
  913.  
  914. textcolor(lightblue);
  915. gotoxy(expx-3,expy+4); write('°°ß°°°ß°');
  916. gotoxy(expx-4,expy+3); write('°°°°°°°°°°');
  917. gotoxy(expx-5,expy+2); write('°°°°°°°°°°°');
  918. gotoxy(expx-5,expy+1); write('Ü°°     °°');
  919. gotoxy(expx-4,expy); write('°°°°°°°°°°');
  920. gotoxy(expx-4,expy-1); write('Ü°° °° °°°');
  921. gotoxy(expx-2,expy-2); write('°°°°°°°Ü');
  922. gotoxy(expx-3,expy-3); write('Ü°°°°°');
  923. gotoxy(expx-1,expy-4); write('ÜÜ');
  924. textcolor(lightred); gotoxy(expx-1,expy-1); write('þ');
  925. gotoxy(expx+2,expy-1); write('þ');
  926. textcolor(yellow);
  927. gotoxy(expx-2,expy+1); write('³³³³³');
  928. end;
  929.  
  930. if aliennr=14then begin
  931. textcolor(lightgray);
  932. gotoxy(expx-3,expy-4); write('Ü     Ü');
  933. gotoxy(expx-3,expy-3); write('³     ³');
  934. gotoxy(expx-22,expy-2); write('ÜÜÜÜ°°°°Ü          ³ÜÜÜÜܳ          Ü°°°°ÜÜÜÜ');
  935. gotoxy(expx-24,expy-1); write('ܱ±±°°°°°°°°°ÜÜ     ±  ±±±  ±     ÜÜ°°°°±±±±±±±±Ü');
  936. gotoxy(expx-24,expy); write('ß±±±±±±°°°°°°°°°°°°Ü± ±±±±± ±Ü°°°°°°±±±±±±±±±±±±ß');
  937. gotoxy(expx-22,expy+1); write('ßßß±±±±°°±±±±±±±±ß±±±±±±±±±ß°°°°°±±±±±°°±°ßßß');
  938. gotoxy(expx-12,expy+2); write('ßßßßßß   ß²²²²²ß   ßßßßßßß');
  939. gotoxy(expx-1,expy+3); write('ß²ß');
  940. gotoxy(expx,expy+4); write('²');
  941. gotoxy(expx,expy+5); write('²');
  942. gotoxy(expx-1,expy+6); write('ßßß');
  943.  
  944. end;
  945.  
  946. if aliennr=17 then begin
  947. textcolor(lightgray);
  948. gotoxy(expx-2,expy-7); write('ÜÜÜÜÜ');
  949. gotoxy(expx-8,expy-6); write('ÜÜÜ°°°°°°°°±±ÜÜÜ');
  950. gotoxy(expx-15,expy-5); write('±±±±±±±°°   °°°°°°    ±Ü');
  951. gotoxy(expx-16,expy-4); write('±±   ±±°      °°±°°      °±±±±±');
  952. gotoxy(expx-18,expy-3); write('±±   ±±±±°    °±°°°°°°°    ±±±±±±');
  953. gotoxy(expx-19,expy-2);  write('±±   ±± ±± ±±°°°°°°±°°±°°°±±±±±  ±±±±');
  954. gotoxy(expx-19,expy-1);  write('±   ±±  ±  ±±°°°°°°±±°±±±°±±  ±±  ±±±±');
  955. gotoxy(expx-20,expy); write('ß ß  ±  ±± ±± ²²  ²² ²²  ²² ±±  ±± ±±  ±');
  956. gotoxy(expx-16,expy+1);write('±± ±±  ±±  ²²  ² ²  ²²  ±±  ±±  ±±ß ß');
  957. gotoxy(expx-17,expy+2); write('±±  ±  ±±    ²²     ²²   ±± ±± ±±');
  958. gotoxy(expx-18,expy+3); write('ß ß ±± ±±±     ²     ²    ±± ±± ±±');
  959. gotoxy(expx-15,expy+4); write('±    ±±               ±±  ±  ±');
  960. gotoxy(expx-16,expy+5); write('ß ß  ß ß              ß ß ß ßß ß');
  961. end;
  962.  
  963. if aliennr=3 then begin
  964. textcolor(lightred);
  965. gotoxy(expx-6,expy-2);
  966. write('ÜÜ         ÜÜ');
  967. gotoxy(expx-4,expy-1);
  968. write('ßÜ     Üß');
  969. gotoxy(expx-2,expy);
  970. write('°±±±°');
  971. gotoxy(expx-1,expy+1);
  972. write('°±°');
  973. gotoxy(expx-2,expy+2);
  974. write('ß   ß');
  975. textcolor(green);
  976. gotoxy(expx-1,expy-1); write('Ü Ü');
  977. END;
  978.  
  979. if aliennr=6 then begin
  980. textcolor(lightgreen);
  981. gotoxy(expx-4,expy+2-3);
  982. write('ßßßßßßßßßßßß');
  983. gotoxy(expx+6,expy+1-3); write('ÜÜÜ');
  984. gotoxy(expx-10,expy-3);
  985. write('²²²²±');
  986. gotoxy(expx-5,expy+1-3); write('±');
  987. gotoxy(expx-10,expy-1-3);
  988. write('Þ  Ý');
  989. textcolor(blue);
  990. gotoxy(expx-9,expy-1-3); write('ÜÜ');
  991. textcolor(7);
  992. gotoxy(expx-3,expy+1-3); write('±°°°°°±');
  993. gotoxy(expx-2,expy-3); write('±°°°±');
  994. gotoxy(expx-1,expy-1-3); write('±±±');
  995. end;
  996.  
  997. if aliennr=10then begin
  998. textcolor(lightmagenta);
  999. gotoxy(expx-3+6,expy-1-4);
  1000. write('Ü  Ü');
  1001. gotoxy(expx+2,expy-4);
  1002. write('Þ ÜÜ Ý');
  1003. gotoxy(expx-5,expy+1-4);
  1004. write('ÛÛ     Þ ÛÛ Ý');
  1005. gotoxy(expx-7,expy+2-4);
  1006. write('ÛÛ      ÛÛÛÛÛÛÛ');
  1007. gotoxy(expx-8,expy+3-4);
  1008. write('ÛÛ    ÜÛÛÛÛ');
  1009. gotoxy(expx-7,expy+4-4);
  1010. write('ÛÛÛÛÛÛÛÛÛ');
  1011. gotoxy(expx-5,expy+5-4);
  1012. write('ßßÛÛÛÛ');
  1013. textcolor(green);
  1014. gotoxy(expx+3,expy+1-4); write('°');
  1015. gotoxy(expx+6,expy+1-4); write('°');
  1016. textcolor(15);
  1017. gotoxy(expx+3,expy+3-4); write('²  ²');
  1018. textcolor(red);
  1019. gotoxy(expx+4,expy+3-4); write('±');
  1020. gotoxy(expx+5,expy+4-4); write('±');
  1021. gotoxy(expx+5,expy+5-4); write('ß');
  1022. END;
  1023.  
  1024. if aliennr=11then begin
  1025. textcolor(lightblue);
  1026. gotoxy(expx-5,expy-3); write('±         ±');
  1027. gotoxy(expx-4,expy-2); write('±ÜÜÜÜÜÜ ±');
  1028. gotoxy(expx-6,expy-1); write('ÜÛÛÛÛ   ÛÛÛÛÜ');
  1029. gotoxy(expx-7,expy); write('ÛÛÛÛÛ     ÛÛÛÛÛ');
  1030. gotoxy(expx-8,expy+1); write('ÛÛÛÛÛÛÛ   ÛÛÛÛÛÛÛ');
  1031. gotoxy(expx-9,expy+2); write('ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ');
  1032. gotoxy(expx-9,expy+3); write('ÛÛÛÛÛÛ        ÛÛÛÛÛ');
  1033. gotoxy(expx-8,expy+4); write('ßßßßßßßßßßßßßßßß');
  1034. textcolor(15);
  1035. gotoxy(expx-1,expy-1);  write('Ü°Ü');
  1036. gotoxy(expx-2,expy); write('°° °°');
  1037. gotoxy(expx-1,expy+1);  write('ß°ß');
  1038. textcolor(red);
  1039. gotoxy(expx-3,expy+3); write('³³³³³³³³');
  1040. gotoxy(expx,expy); write('±');
  1041. end;
  1042.  
  1043. if aliennr=13then begin
  1044. textcolor(yellow);
  1045. gotoxy(expx-6,expy+2); write('ß ß  ß ß   ß  ß');
  1046. gotoxy(expx-6,expy+1); write('±  ± ±  ± ±  ±');
  1047. gotoxy(expx-5,expy); write('ÜÛÛÛÛÛÛÛÛÛÛÜ');
  1048. gotoxy(expx-2,expy-1); write('Û °° ÛÞ²');
  1049. gotoxy(expx-1,expy-2); write('ÜÜÜÜ   ²');
  1050. gotoxy(expx+7,expy-3); write('²');
  1051. gotoxy(expx+4,expy-4); write('ßßÜ');
  1052. textcolor(red); gotoxy(expx+3,expy-4); write('Ü');
  1053. textcolor(magenta);
  1054. gotoxy(expx-1,expy-1); write('þ');
  1055. gotoxy(expx+2,expy-1); write('þ');
  1056. end;
  1057.  
  1058. if aliennr=15then begin
  1059. textcolor(lightblue);
  1060. gotoxy(expx-10,expy-3); write('°°°°              °°°±');
  1061. gotoxy(expx-7,expy-2); write('°°±          °±±');
  1062. gotoxy(expx-5,expy-1); write('°±±      ±±±');
  1063. gotoxy(expx-3,expy); write('°±±±±±±±');
  1064. gotoxy(expx-2,expy+1); write('°°°°°±');
  1065. gotoxy(expx-3,expy+2); write('° Û  Û ±');
  1066. gotoxy(expx-4,expy+3); write('°        ±');
  1067. textcolor(red); gotoxy(expx-1,expy-1); write('Ü  Ü');
  1068. end;
  1069.  
  1070. if aliennr=16then begin
  1071. textcolor(6);
  1072. gotoxy(expx+3-6,expy-5); write('Ü    Ü  Ü');
  1073. gotoxy(expx-7,expy-4); write('Ü  Û  Û Û  Û');
  1074. gotoxy(expx-6,expy-3); write('Û          Ü');
  1075. gotoxy(expx+6,expy-2); write('Û');
  1076. textcolor(lightmagenta);
  1077. gotoxy(expx-4,expy-3); write('±±²±²±²');
  1078. gotoxy(expx-5,expy-2); write('±±²   ±±±²');
  1079. gotoxy(expx-6,expy-1); write('±²²²±±²±²±±²²');
  1080. gotoxy(expx-7,expy); write('±±ÜßÜßÜßÜßÜßܲ±');
  1081. gotoxy(expx-7,expy+1); write('±²²²±²±±²²²²²±±');
  1082. gotoxy(expx-6,expy+2); write('±±±±²±±±±±±±');
  1083. gotoxy(expx-5,expy+3); write('±²²±±²²²±²±');
  1084. gotoxy(expx-5,expy+4); write('ßß ß ß ß  ß');
  1085. textcolor(lightgreen);
  1086. gotoxy(expx-2,expy-2); write('Û Û');
  1087. end;
  1088.  
  1089. if aliennr=18then begin
  1090.  
  1091. textcolor(lightblue);
  1092. gotoxy(expx-3,expy+4); write('°°ß°°°ß°');
  1093. gotoxy(expx-4,expy+3); write('°°°°°°°°°°');
  1094. gotoxy(expx-5,expy+2); write('°°°°°°°°°°°');
  1095. gotoxy(expx-5,expy+1); write('Ü°°     °°');
  1096. gotoxy(expx-4,expy); write('°°°°°°°°°°');
  1097. gotoxy(expx-4,expy-1); write('Ü°° °° °°°');
  1098. gotoxy(expx-2,expy-2); write('°°°°°°°Ü');
  1099. gotoxy(expx-3,expy-3); write('Ü°°°°°');
  1100. gotoxy(expx-1,expy-4); write('ÜÜ');
  1101. textcolor(yellow); gotoxy(expx-1,expy-1); write('þ');
  1102. gotoxy(expx+2,expy-1); write('þ');
  1103. textcolor(red);
  1104. gotoxy(expx-2,expy+1); write('³³³³³');
  1105. end;
  1106.  
  1107. if aliennr=19then begin
  1108. textcolor(lightmagenta);
  1109. gotoxy(expx-3,expy-4); write('Ü     Ü');
  1110. gotoxy(expx-3,expy-3); write('³     ³');
  1111. gotoxy(expx-22,expy-2); write('ÜÜÜÜ°°°°Ü          ³ÜÜÜÜܳ          Ü°°°°ÜÜÜÜ');
  1112. gotoxy(expx-24,expy-1); write('ܱ±±°°°°°°°°°ÜÜ     ±  ±±±  ±     ÜÜ°°°°±±±±±±±±Ü');
  1113. gotoxy(expx-24,expy); write('ß±±±±±±°°°°°°°°°°°°Ü± ±±±±± ±Ü°°°°°°±±±±±±±±±±±±ß');
  1114. gotoxy(expx-22,expy+1); write('ßßß±±±±°°±±±±±±±±ß±±±±±±±±±ß°°°°°±±±±±°°±°ßßß');
  1115. gotoxy(expx-12,expy+2); write('ßßßßßß   ß²²²²²ß   ßßßßßßß');
  1116. gotoxy(expx-1,expy+3); write('ß²ß');
  1117. gotoxy(expx,expy+4); write('²');
  1118. gotoxy(expx,expy+5); write('²');
  1119. gotoxy(expx-1,expy+6); write('ßßß');
  1120.  
  1121. end;
  1122.  
  1123. if aliennr=20 then begin
  1124. textcolor(lightmagenta);
  1125. gotoxy(expx-2,expy-7); write('ÜÜÜÜÜ');
  1126. gotoxy(expx-8,expy-6); write('ÜÜÜ°°°°°°°°±±ÜÜÜ');
  1127. gotoxy(expx-15,expy-5); write('±±±±±±±°°   °°°°°°    ±Ü');
  1128. gotoxy(expx-16,expy-4); write('±±   ±±°      °°±°°      °±±±±±');
  1129. gotoxy(expx-18,expy-3); write('±±   ±±±±°    °±°°°°°°°    ±±±±±±');
  1130. gotoxy(expx-19,expy-2);  write('±±   ±± ±± ±±°°°°°°±°°±°°°±±±±±  ±±±±');
  1131. gotoxy(expx-19,expy-1);  write('±   ±±  ±  ±±°°°°°°±±°±±±°±±  ±±  ±±±±');
  1132. gotoxy(expx-20,expy); write('ß ß  ±  ±± ±± ²²  ²² ²²  ²² ±±  ±± ±±  ±');
  1133. gotoxy(expx-16,expy+1);write('±± ±±  ±±  ²²  ² ²  ²²  ±±  ±±  ±±ß ß');
  1134. gotoxy(expx-17,expy+2); write('±±  ±  ±±    ²²     ²²   ±± ±± ±±');
  1135. gotoxy(expx-18,expy+3); write('ß ß ±± ±±±     ²     ²    ±± ±± ±±');
  1136. gotoxy(expx-15,expy+4); write('±    ±±               ±±  ±  ±');
  1137. gotoxy(expx-16,expy+5); write('ß ß  ß ß              ß ß ß ßß ß');
  1138. end;
  1139.  
  1140. END;
  1141.  
  1142.  
  1143. PROCEDURE Draw_Cross;
  1144. BEGIN
  1145. textcolor(white);
  1146. gotoxy(Posx-1,posy); write('ÄÅÄ');
  1147. END;
  1148.  
  1149. PROCEDURE Move_Cross;
  1150. BEGIN
  1151. gotoxy(posx-1,posy);
  1152. write('   ');
  1153. if (ch='1') and ((posx<>1) and (posy<>22)) then begin
  1154.    posx:=posx-1;
  1155.    posy:=posy+1;
  1156.    end;
  1157.  
  1158. if (ch='2') and (posy<>22) then begin
  1159.    posx:=posx;
  1160.    posy:=posy+1;
  1161.    end;
  1162. if (ch='3') and (posx<>79) and (posy<>22) then begin
  1163.    posx:=posx+1;
  1164.    posy:=posy+1;
  1165.    end;
  1166. if (ch='4') and (posx<>1) then begin
  1167.    posx:=posx-1;
  1168.    posy:=posy;
  1169.    end;
  1170. if (ch='6') and (posx<>79) then begin
  1171.    posx:=posx+1;
  1172.    posy:=posy;
  1173.    end;
  1174. if (ch='7') and (posx<>1) and (posy<>1) then begin
  1175.    posx:=posx-1;
  1176.    posy:=posy-1;
  1177.    end;
  1178. if (ch='8') and (posy<>1) then begin
  1179.    posx:=posx;
  1180.    posy:=posy-1;
  1181.    end;
  1182. if (ch='9') and (posx<>79) and (posy<>1) then begin
  1183.    posx:=posx+1;
  1184.    posy:=posy-1;
  1185.    end;
  1186. Draw_Cross;
  1187. END;
  1188.  
  1189. PROCEDURE Daneben;
  1190. BEGIN
  1191. gotoxy(posx,posy);
  1192. textcolor(7);
  1193. write('ú');
  1194. sound(65);
  1195. delay(50);
  1196. nosound;
  1197. draw_alien;
  1198. draw_cross;
  1199. END;
  1200.  
  1201. PROCEDURE Gun;
  1202. BEGIN
  1203. Bullets:=Bullets-1;
  1204. Status;
  1205. if ((posx<>sp1x) and (posy<>sp1y)) or
  1206.    ((posx<>sp2x) and (posy<>sp2y)) or
  1207.    ((posx<>sp3x) and (posy<>sp3y)) or
  1208.    ((posx<>sp4x) and (posy<>sp4y)) or
  1209.    ((posx<>sp5x) and (posy<>sp5y)) then Daneben;
  1210.  
  1211.    if ((posx=sp1x) and (posy=sp1y)) or
  1212.    ((posx=sp2x) and (posy=sp2y)) or
  1213.    ((posx=sp3x) and (posy=sp3y)) or
  1214.    ((posx=sp4x) and (posy=sp4y)) or
  1215.    ((posx=sp5x) and (posy=sp5y)) then begin
  1216.    w20:=random(20)+1;
  1217.    if w20>ACC then Daneben;
  1218.    if w20<=ACC then BEGIN
  1219.       Schaden:=random(POW)+1;
  1220.       gotoxy(posx,posy); textcolor(7);
  1221.       write('ù'); sound(65); delay(50); nosound;
  1222.       gotoxy(posx,posy); textcolor(lightred);
  1223.       write('þ');
  1224.       sound(260); delay(50); nosound;
  1225.       draw_alien;
  1226.       LP:=LP-Schaden;
  1227.       draw_cross;
  1228.       end;
  1229. END;
  1230. END;
  1231.  
  1232.  
  1233. PROCEDURE Faust;
  1234. BEGIN
  1235.   if ((posx=sp1x) and (posy=sp1y)) or
  1236.    ((posx=sp2x) and (posy=sp2y)) or
  1237.    ((posx=sp3x) and (posy=sp3y)) or
  1238.    ((posx=sp4x) and (posy=sp4y)) or
  1239.    ((posx=sp5x) and (posy=sp5y)) then begin
  1240. w20:=random(20)+1;
  1241. if w20<=ACC then begin
  1242.    textcolor(red); gotoxy(posx,posy); write('²');
  1243.   sound(70); delay(50); nosound;
  1244.  Schaden:=random(6);
  1245.   armour:=armour-random(2);
  1246.   LP:=LP-Schaden;
  1247.   Status;
  1248.   Draw_Alien;
  1249.   Draw_Cross;
  1250.   END;
  1251.   END;
  1252.   END;
  1253.    PROCEDURE Ton;
  1254.    BEGIN
  1255.    for m:=30 to 100 do begin
  1256.   sound(m); delay(20);
  1257.   end;
  1258.   nosound;
  1259.   END;
  1260.  
  1261.   PROCEDURE Rakete;
  1262.   BEGIN
  1263.   Missles:=Missles-1;
  1264.   Status;
  1265.   Ton;
  1266.   Explode;
  1267.   Draw_Alien;
  1268.   Draw_Cross;
  1269.   Schaden:=random(300)+1;
  1270.   LP:=LP-Schaden;
  1271.   END;
  1272.  
  1273. PROCEDURE Bomb;
  1274. BEGIN
  1275. Bombs:=Bombs-1;
  1276. Status;
  1277. Draw_Alien;
  1278. Draw_Cross;
  1279. for a:=100 downto 30 do begin
  1280. sound(a);
  1281. delay(20);
  1282. end;
  1283. nosound;
  1284. textcolor(14);
  1285. for a:=1 to 22 do begin
  1286.   gotoxy(1,a);
  1287.   for m:=1 to 80 do write('Û');
  1288.   end;
  1289. clrscr;
  1290. draw_alien;
  1291. draw_cross;
  1292. Schaden:=random(50)+1;
  1293. Lp:=LP-Schaden;
  1294. END;
  1295.  
  1296.  
  1297.  
  1298. PROCEDURE Alien_Attacks;
  1299. BEGIN
  1300.    w20:=random(20)+1; if w20<AF then BEGIN
  1301.       Hits:=random(TP)+1;
  1302.       sound(30); delay(65); sound(60); delay(32); nosound;
  1303.       Armour:=Armour-Hits;
  1304.       Status;
  1305.       end;
  1306. draw_alien;
  1307. draw_cross;
  1308. END;
  1309.  
  1310. PROCEDURE MonsterMove;
  1311. BEGIN
  1312. FeldX:=random(maxf)+1;
  1313. Feldy:=random(maxf)+1;
  1314. udx:=random(2)+1;     {1 = +; 2 = -}
  1315. udy:=random(2)+1;
  1316. if udx=2 then udx:=-1;
  1317. if udy=2 then udy:=-1;
  1318.  
  1319. ExpX:=ExpX+(Feldx*udx);
  1320. ExpY:=Expy+(Feldy*udy);
  1321.  
  1322. if expx>55 then expx:=60;
  1323. if expx<25 then expx:=20;
  1324. if expy>17 then expy:=17;
  1325. if expy<6  then expy:=6;
  1326.  
  1327.  
  1328. if (sp1x<>10000) and (sp1y<>10000) then begin
  1329. sp1x:=expx+vp1x;
  1330. sp1y:=expy+vp1y;
  1331. end;
  1332.  
  1333. if (sp2x<>10000) and (sp2y<>10000) then begin
  1334. sp2x:=expx+vp2x;
  1335. sp2y:=expy+vp2y;
  1336. end;
  1337. if (sp3x<>10000) and (sp3y<>10000) then begin
  1338. sp3x:=expx+vp3x;
  1339. sp3y:=expy+vp3y;
  1340. end;
  1341. if (sp4x<>10000) and (sp4y<>10000) then begin
  1342. sp4x:=expx+vp4x;
  1343. sp4y:=expy+vp4y;
  1344. end;
  1345. if (sp5x<>10000) and (sp5y<>10000) then begin
  1346. sp5x:=expx+vp5x;
  1347. sp5y:=expy+vp5y;
  1348. end;
  1349. clrscr;
  1350. Draw_alien;
  1351. Draw_Cross;
  1352. END;
  1353.  
  1354.  
  1355. PROCEDURE Aliens_turn;
  1356. BEGIN
  1357. if (sp1x<>10000) and (sp1y<>10000) then begin
  1358. sp1x:=expx+vp1x;
  1359. sp1y:=expy+vp1y;
  1360. end;
  1361.  
  1362. if (sp2x<>10000) and (sp2y<>10000) then begin
  1363. sp2x:=expx+vp2x;
  1364. sp2y:=expy+vp2y;
  1365. end;
  1366. if (sp3x<>10000) and (sp3y<>10000) then begin
  1367. sp3x:=expx+vp3x;
  1368. sp3y:=expy+vp3y;
  1369. end;
  1370. if (sp4x<>10000) and (sp4y<>10000) then begin
  1371. sp4x:=expx+vp4x;
  1372. sp4y:=expy+vp4y;
  1373. end;
  1374. if (sp5x<>10000) and (sp5y<>10000) then begin
  1375. sp5x:=expx+vp5x;
  1376. sp5y:=expy+vp5y;
  1377. end;
  1378.  
  1379. m:=random(3)+1;
  1380. if random<>1 then begin
  1381.  
  1382. w20:=random(20)+1;
  1383. if w20<=Moveit then MonsterMove else Alien_attacks;
  1384. end;
  1385. END;
  1386.  
  1387.  
  1388. PROCEDURE Explode;
  1389. BEGIN
  1390. for m:=1 to 7 do BEGIN
  1391. sound(20+m*10);
  1392.  
  1393. a:=random(3)+1;
  1394. if a=1 then textcolor(red);
  1395. if a=2 then textcolor(lightred);
  1396. if a=3 then textcolor(yellow);
  1397.  
  1398. gotoxy(expX,expY); write('Û');
  1399. delay(5);
  1400. gotoxy(expX+m,expY); write('Û');
  1401. a:=random(3)+1;
  1402. if a=1 then textcolor(red);
  1403. if a=2 then textcolor(lightred);
  1404. if a=3 then textcolor(yellow);
  1405.  
  1406. gotoxy(expX+m,expY+m); write('Û');
  1407. delay(5);
  1408. gotoxy(expX,expY+m); write('Û');
  1409. a:=random(3)+1;
  1410. if a=1 then textcolor(red);
  1411. if a=2 then textcolor(lightred);
  1412. if a=3 then textcolor(yellow);
  1413.  
  1414. gotoxy(expX-m,expY); write('Û');
  1415. delay(5);
  1416. gotoxy(expX,expY-m); write('Û');
  1417. a:=random(3)+1;
  1418. if a=1 then textcolor(red);
  1419. if a=2 then textcolor(lightred);
  1420. if a=3 then textcolor(yellow);
  1421.  
  1422. gotoxy(expX+m,expY-m); write('Û');
  1423. delay(5);
  1424. gotoxy(expX-m,expY+m); write('Û');
  1425.  
  1426. if a=1 then textcolor(red);
  1427. if a=2 then textcolor(lightred);
  1428. if a=3 then textcolor(yellow);
  1429.  
  1430. gotoxy(expX-m,expY-m); write('Û');
  1431. delay(5);
  1432.  
  1433. end;
  1434. nosound;
  1435. sound(30); delay(100); nosounD;
  1436. for m:=1 to 7 do begin
  1437. textcolor(darkgray);
  1438. gotoxy(expX,expY); write('Û');
  1439. delay(5);
  1440. gotoxy(expX+m,expY); write('Û');
  1441.  
  1442. gotoxy(expX+m,expY+m); write('Û');
  1443. delay(5);
  1444. gotoxy(expX,expY+m); write('Û');
  1445.  
  1446. gotoxy(expX-m,expY); write('Û');
  1447. delay(5);
  1448. gotoxy(expX,expY-m); write('Û');
  1449.  
  1450. gotoxy(expX+m,expY-m); write('Û');
  1451. delay(5);
  1452. gotoxy(expX-m,expY+m); write('Û');
  1453.  
  1454. gotoxy(expX-m,expY-m); write('Û');
  1455. delay(5);
  1456. end;
  1457. END;
  1458.  
  1459.  
  1460. PROCEDURE Explode1;
  1461. BEGIN
  1462. for m:=1 to 7 do BEGIN
  1463. sound(20+m*10);
  1464.  
  1465. a:=random(3)+1;
  1466. if a=1 then textcolor(red);
  1467. if a=2 then textcolor(lightred);
  1468. if a=3 then textcolor(magenta);
  1469.  
  1470. gotoxy(expX,expY); write('Û');
  1471. delay(5);
  1472. gotoxy(expX+m,expY); write('Û');
  1473. a:=random(3)+1;
  1474. if a=1 then textcolor(red);
  1475. if a=2 then textcolor(lightred);
  1476. if a=3 then textcolor(magenta);
  1477.  
  1478. gotoxy(expX+m,expY+m); write('Û');
  1479. delay(5);
  1480. gotoxy(expX,expY+m); write('Û');
  1481. a:=random(3)+1;
  1482. if a=1 then textcolor(red);
  1483. if a=2 then textcolor(lightred);
  1484. if a=3 then textcolor(magenta);
  1485.  
  1486. gotoxy(expX-m,expY); write('Û');
  1487. delay(5);
  1488. gotoxy(expX,expY-m); write('Û');
  1489. a:=random(3)+1;
  1490. if a=1 then textcolor(red);
  1491. if a=2 then textcolor(lightred);
  1492. if a=3 then textcolor(magenta);
  1493.  
  1494. gotoxy(expX+m,expY-m); write('Û');
  1495. delay(5);
  1496. gotoxy(expX-m,expY+m); write('Û');
  1497.  
  1498. if a=1 then textcolor(red);
  1499. if a=2 then textcolor(lightred);
  1500. if a=3 then textcolor(magenta);
  1501.  
  1502. gotoxy(expX-m,expY-m); write('Û');
  1503. delay(5);
  1504.  
  1505. end;
  1506. nosound;
  1507. sound(30); delay(100); nosounD;
  1508. for m:=1 to 7 do begin
  1509. textcolor(darkgray);
  1510. gotoxy(expX,expY); write('Û');
  1511. delay(5);
  1512. gotoxy(expX+m,expY); write('Û');
  1513.  
  1514. gotoxy(expX+m,expY+m); write('Û');
  1515. delay(5);
  1516. gotoxy(expX,expY+m); write('Û');
  1517.  
  1518. gotoxy(expX-m,expY); write('Û');
  1519. delay(5);
  1520. gotoxy(expX,expY-m); write('Û');
  1521.  
  1522. gotoxy(expX+m,expY-m); write('Û');
  1523. delay(5);
  1524. gotoxy(expX-m,expY+m); write('Û');
  1525.  
  1526. gotoxy(expX-m,expY-m); write('Û');
  1527. delay(5);
  1528. end;
  1529. END;
  1530.  
  1531. PROCEDURE Outro; FORWARD;
  1532. PROCEDURE Killed;
  1533. BEGIN
  1534. Score:=Score+sc;
  1535. if Score>=Scorealt+(Level*100) then BEGIN
  1536. Armour:=Armour+random(5001);
  1537. Bullets:=Bullets+random(1001);
  1538. Bombs:=Bombs+random(6);
  1539. Missles:=Missles+random(3);
  1540. POW:=POW+random(4);
  1541. ACC:=ACC+random(3); if ACC>20 then ACC:=20;
  1542. Scorealt:=Score;
  1543. Level:=Level+1;
  1544. END;
  1545. Status;
  1546. Explode1;
  1547. delay(100);
  1548. clrscr;
  1549. delay(500);
  1550. If aliennr=20 then Outro;
  1551. draw_cross;
  1552. expx:=0;
  1553. expy:=0;
  1554. lp:=0;
  1555. moveit:=0;
  1556. maxf:=0;
  1557. feldx:=0;
  1558. feldy:=0;
  1559. udx:=0;
  1560. udy:=0;
  1561. dead:='';
  1562. aliennr:=0;
  1563. enemy:='';
  1564. END;
  1565.  
  1566. PROCEDURE GAMEOVER;
  1567. BEGIN
  1568. dead:='';
  1569. window(1,1,80,25);
  1570. sound(1000);
  1571. delay(50);
  1572. sound(40);
  1573. delay(500);
  1574. Blood;
  1575. textcolor(lightred+128);
  1576. gotoxy(33,10);
  1577. write('* GAME OVER *');
  1578. delay(5000);
  1579. textcolor(lightred);
  1580. gotoxy(33,12);
  1581. write('* Try again *');
  1582. delay(5000);
  1583. halt;
  1584. END;
  1585.  
  1586. PROCEDURE Fire;
  1587. BEGIN
  1588. FOR posx:=1 to 30 do BEGIN
  1589.  
  1590.   gotoxy(37,13);
  1591.    for m:=1 to 7 do begin
  1592.     a:=random(3)+1;
  1593.     if a=1 then textcolor(red);
  1594.     if a=2 then textcolor(lightred);
  1595.     if a=3 then textcolor(yellow);
  1596.    write('Ü');
  1597.    end;
  1598.  
  1599.    gotoxy(44,13);
  1600.    for m:=1 to 3 do begin
  1601.     a:=random(3)+1;
  1602.     if a=1 then textcolor(red);
  1603.     if a=2 then textcolor(lightred);
  1604.     if a=3 then textcolor(yellow);
  1605.    write('Û');
  1606.    end;
  1607.  
  1608.    gotoxy(47,13);
  1609.    a:=random(3)+1;
  1610.     if a=1 then textcolor(red);
  1611.     if a=2 then textcolor(lightred);
  1612.     if a=3 then textcolor(yellow);
  1613.    write('Ü');
  1614.  
  1615.    gotoxy(34,14);
  1616.    for m:=1 to 14 do begin
  1617.     a:=random(3)+1;
  1618.     if a=1 then textcolor(red);
  1619.     if a=2 then textcolor(lightred);
  1620.     if a=3 then textcolor(yellow);
  1621.    write('Û');
  1622.    end;
  1623.  
  1624.     gotoxy(37,15);
  1625.    for m:=1 to 7 do begin
  1626.     a:=random(3)+1;
  1627.     if a=1 then textcolor(red);
  1628.     if a=2 then textcolor(lightred);
  1629.     if a=3 then textcolor(yellow);
  1630.    write('ß');
  1631.    end;
  1632.  
  1633.    gotoxy(44,15);
  1634.    for m:=1 to 3 do begin
  1635.     a:=random(3)+1;
  1636.     if a=1 then textcolor(red);
  1637.     if a=2 then textcolor(lightred);
  1638.     if a=3 then textcolor(yellow);
  1639.    write('Û');
  1640.    end;
  1641.  
  1642.    gotoxy(47,15);
  1643.    a:=random(3)+1;
  1644.     if a=1 then textcolor(red);
  1645.     if a=2 then textcolor(lightred);
  1646.     if a=3 then textcolor(yellow);
  1647.    write('ß');
  1648.  
  1649. FOR posy:=1 to 10 do begin
  1650.  
  1651.    x:=random(8)+1;
  1652.    if x=1 then x:=45;
  1653.    if x=2 then x:=43;
  1654. if x=3 then x:=40;
  1655. if x=4 then x:=37;
  1656. if x=5 then x:=35;
  1657. if x=6 then x:=32;
  1658. if x=7 then x:=30;
  1659. if x=8 then x:=28;
  1660.  
  1661.    y:=random(5)+1;
  1662.    if y=1 then y:=14;
  1663.    if y=2 then y:=15;
  1664. if y=3 then y:=13;
  1665. if y=4 then y:=16;
  1666. if y=5 then y:=12;
  1667.  
  1668.     a:=random(3)+1;
  1669.     if a=1 then textcolor(red);
  1670.     if a=2 then textcolor(lightred);
  1671.     if a=3 then textcolor(yellow);
  1672.  
  1673.      vp1x:=random(3)+1;
  1674.     if vp1x=1 then begin
  1675.     gotoxy(x,y); write('Ü');
  1676.     sound(60);
  1677.     delay(8);
  1678.     nosound;
  1679.     gotoxy(x,y); write(' ');
  1680.      end;
  1681.      if vp1x=2 then begin
  1682.     gotoxy(x,y); write('ß');
  1683.     sound(65);
  1684.     delay(8);
  1685.     nosound;
  1686.     gotoxy(x,y); write(' ');
  1687.     end;
  1688.      if vp1x=3 then begin
  1689.     gotoxy(x,y); write('Û');
  1690.     sound(70);
  1691.     delay(8);
  1692.     nosound;
  1693.     gotoxy(x,y); write(' ');
  1694.     end;
  1695.  
  1696. END;
  1697.  delay(10);
  1698.       END;
  1699. gotoxy(01,12); write('                                               ');
  1700. gotoxy(01,13); write('                                               ');
  1701. gotoxy(01,14); write('                                               ');
  1702. gotoxy(01,15); write('                                               ');
  1703. gotoxy(01,16); write('                                               ');
  1704.  
  1705.  
  1706.    END;
  1707.  
  1708. PROCEDURE OUTRO;
  1709. BEGIN
  1710. delay(1000);
  1711. textbackground(0);
  1712. window(1,1,80,25);
  1713. clrscr;
  1714. delay(1000);
  1715. textcolor(lightred+128);
  1716. gotoxy(30,1); write('--CONGRATIULATIONS--');
  1717. textcolor(red);
  1718. gotoxy(13,3); write('You are the one who stroke the demon-invasion once more!');
  1719. delay(2500);
  1720.  
  1721. textcolor(7);
  1722. gotoxy(60,7); write('ÜÜÛÛÜÜ');
  1723. gotoxy(59,8); write('Û      Û');
  1724. gotoxy(59,9); write('ÛÛÛÜÜÛÛÛ');
  1725. gotoxy(60,10); write('ß    ß');
  1726.  
  1727. gotoxy(48,13); write('ÜÜ     Ü_Ü');
  1728. gotoxy(48,14); write('ÛÛÛÛÛÛÛÛÛÛÛÛÛÛ');
  1729. gotoxy(48,15); write('ßß      ÛÛ');
  1730. gotoxy(56,16); write('ÛÛ');
  1731. gotoxy(57,17); write('ÛÛ');
  1732. textcolor(lightblue); gotoxy(61,8); write('þ  þ');
  1733. textcolor(brown);
  1734. gotoxy(61,13); write('ÜÜÜ');
  1735. gotoxy(62,15); write('ÛÛ');
  1736.  
  1737. gotoxy(57,21); write('±±±      ±±±');
  1738. gotoxy(57,22); write('±±±      ±±±');
  1739. gotoxy(57,23); write('±±±      ±±±');
  1740. gotoxy(54,24); write('±±±±±±      ±±±±±±');
  1741. textcolor(white);
  1742. gotoxy(55,16); write('ß');
  1743. gotoxy(62,14); write('Û');
  1744. textcolor(magenta);
  1745. gotoxy(1,25); for m:=1 to 79 do write('Û');
  1746. gotoxy(61,10); write('ÛÛÛÛ');
  1747. gotoxy(55,11); write('ÜÜÜÛÛÛÛÛÛÛÛÛÛÜÜÜ');
  1748. gotoxy(55,12); write('ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ');
  1749. gotoxy(54,13); write('Û');
  1750. gotoxy(58,13); write('ÛÛÛ');
  1751. gotoxy(64,13); write('ÛÛÛÛÛÛ');
  1752. gotoxy(63,14); write('ÛÛÛÛÛÛ');
  1753. gotoxy(54,15); write('ÛÛ');
  1754. gotoxy(58,15); write('ÛÛÛÛ');
  1755. gotoxy(64,15); write('ÛÛÛÛ');
  1756. textcolor(lightblue);
  1757. gotoxy(58,16); write('°°°°°°°°°°');
  1758. gotoxy(59,17); write('°°°°°°°°°');
  1759. gotoxy(58,18); write('°°°    °°°');
  1760. gotoxy(57,19); write('°°°      °°°');
  1761. gotoxy(57,20); write('°°°      °°°');
  1762. delay(5000);
  1763. Fire;
  1764. delay(100);
  1765. textcolor(white);
  1766. gotoxy(29,14);
  1767. write('IDea by B. M”ller');
  1768. delay(5000);
  1769. gotoxy(29,14);
  1770. write('                 ');
  1771.  
  1772. Fire;
  1773. delay(100);
  1774. textcolor(white);
  1775. gotoxy(26,14);
  1776. write('Graph-X by B. M”ller');
  1777. delay(5000);
  1778. gotoxy(26,14);
  1779. write('                    ');
  1780.  
  1781. Fire;
  1782. delay(100);
  1783. textcolor(white);
  1784. gotoxy(29,14);
  1785. write('Sounds by DJ B™MM');
  1786. delay(5000);
  1787. gotoxy(29,14);
  1788. write('                 ');
  1789.  
  1790. Fire;
  1791. delay(100);
  1792. textcolor(white);
  1793. gotoxy(24,14);
  1794. write('Programed by B. M”ller');
  1795. delay(5000);
  1796. gotoxy(24,14);
  1797. write('                      ');
  1798. Fire;
  1799. delay(2000);
  1800.  
  1801. textcolor(white);
  1802. gotoxy(30,10);
  1803. write('Special Thanks to');
  1804. delay(1000);
  1805. gotoxy(30,12); write('id SOFTWARE');
  1806. delay(5000);
  1807.  
  1808. gotoxy(30,10);
  1809. write('                 ');
  1810. gotoxy(30,12); write('           ');
  1811. delay(1000);
  1812.  
  1813. Fire;
  1814. delay(100);
  1815. textcolor(white);
  1816. gotoxy(18,14);
  1817. write('Presented by B™MMSOFT (1995)');
  1818. delay(5000);
  1819. gotoxy(18,14);
  1820. write('                            ');
  1821. Fire;
  1822. delay(2000);
  1823.  
  1824. textcolor(13);
  1825. gotoxy(1,7);
  1826. write('ÜÜÜÜÜ Ü   Ü ÜÜÜÜ  ÜÜÜÜ Ü   Ü ÜÜÜ');
  1827. gotoxy(1,8);
  1828. write('  Û   Û   Û Û     Û    Û   Û Û  Û');
  1829. gotoxy(1,9);
  1830.  
  1831. write('  Û   Û   Û Û     Û    ÛÛ  Û Û  Û');
  1832. gotoxy(1,10);
  1833.  
  1834. write('  Û   ÛÛÛÛÛ ÛÛÛ   ÛÛÛ  Û Û Û Û  Û');
  1835. gotoxy(1,11);
  1836.  
  1837. write('  Û   Û   Û Û     Û    Û Û Û Û  Û');
  1838. gotoxy(1,12);
  1839.  
  1840. write('  Û   Û   Û Û     Û    Û  ÛÛ Û  Û');
  1841. gotoxy(1,13);
  1842.  
  1843. write('  ß   ß   ß ßßßß  ßßßß ß   ß ßßß');
  1844.  
  1845. delay(2500);
  1846.  
  1847. gotoxy(3,16);
  1848. textcolor(14);
  1849. write('Maybe the aliens will strike back again...');
  1850. delay(10000);
  1851. clrscr;
  1852. textbackground(red);
  1853. textcolor(0);
  1854. gotoxy(9,11);
  1855. write('You must wait for "XXXXX " until id SOFTWARE publishes QUAKE!');
  1856. delay(1000);
  1857. textcolor(0);
  1858. gotoxy(28,15);
  1859. write('Until then, play XXXX2!');
  1860. delay(5000);
  1861. halt;
  1862. END;
  1863.  
  1864.  
  1865.  
  1866. PROCEDURE Alien_Dead;
  1867. BEGIN
  1868. if lp<=0 then dead:='alien';
  1869. END;
  1870.  
  1871. PROCEDURE Hero_Dead;
  1872. BEGIN
  1873. if armour<0 then dead:='hero';
  1874. END;
  1875.  
  1876.  
  1877. PROCEDURE Start_Game;
  1878. BEGIN
  1879. repeat
  1880. Enemychoose;
  1881.  repeat
  1882.    repeat
  1883.      Draw_Alien;
  1884.      Draw_Cross;
  1885.      Aliens_turn;
  1886.      ch:=readkey;
  1887.    until ch in ['1','2','3','4','6','7','8','9','x','y','c','v','!','?'];
  1888.    if (ch='x') and (bombs<>0) then bomb;
  1889.    if (ch='y') and (bullets<>0) then gun;
  1890.    if (ch='c') and (missles<>0) then Rakete;
  1891.    if ch='v' then Faust;
  1892.    if ch='!' then begin
  1893.  
  1894.    armour:=armour+100;
  1895.    bullets:=bullets+100;
  1896.    bombs:=bombs+10;
  1897.    missles:=missles+5;
  1898.    acc:=acc+1; if acc>20 then acc:=20;
  1899.    pow:=pow+1;
  1900.    Status;
  1901.    end;
  1902.  
  1903.    if ch='?' then begin
  1904.    score:=scorealt+(level*100);
  1905.    scorealt:=score;
  1906.    level:=level+1;
  1907.    Status;
  1908.    end;
  1909.  
  1910.    if (ch='1') OR (ch='2') OR (ch='3') OR (ch='4') OR (ch='6')
  1911.                OR (ch='7') OR (ch='8') OR (ch='9') then Move_Cross;
  1912.   Alien_Dead;
  1913.   Hero_Dead;
  1914.   until (Dead='hero') or (Dead='alien');
  1915.   If Dead='hero' then GAMEOVER;
  1916.   If Dead='alien' then Killed;
  1917. until 1=0;
  1918. END;
  1919.  
  1920.  
  1921.  
  1922. PROCEDURE Spiel;
  1923. BEGIN
  1924. randomize;
  1925. textbackground(0);
  1926. window(1,1,80,25);
  1927. clrscr;
  1928. delay(1000);
  1929. Intro;
  1930. Init_Hero;
  1931. Status;
  1932. Init_Crosswire;
  1933. Start_Game;
  1934. END;
  1935.  
  1936. BEGIN
  1937. Spiel;
  1938. END.
RAW Paste Data

Adblocker detected! Please consider disabling it...

We've detected AdBlock Plus or some other adblocking software preventing Pastebin.com from fully loading.

We don't have any obnoxious sound, or popup ads, we actively block these annoying types of ads!

Please add Pastebin.com to your ad blocker whitelist or disable your adblocking software.

×