Advertisement
Guest User

Untitled

a guest
Jun 23rd, 2017
63
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 18.91 KB | None | 0 0
  1. #include<iostream>
  2. #include<conio.h>
  3. #include<Windows.h>
  4. using namespace std;
  5. void enemy2(char Map[][600], int re, int ce)
  6. {
  7.  
  8.     Map[re][ce] = 'o';
  9.     Map[re][ce + 1] = '^';
  10.     Map[re + 1][ce] = '0';
  11.     Map[re + 2][ce] = 'O';
  12.     Map[re + 1][ce + 1] = '\\';
  13.     Map[re + 1][ce - 1] = '/';
  14.     Map[re + 2][ce + 1] = '\\';
  15.     Map[re + 2][ce - 1] = '/';
  16.     Map[re + 1][ce - 2] = '\\';
  17.     Map[re + 1][ce - 3] = '+';
  18.     Map[re + 1][ce - 4] = '*';
  19.     Map[re + 1][ce - 5] = '(';
  20.     Map[re + 1][ce + 2] = '/';
  21.     Map[re + 1][ce + 3] = '^';
  22.     Map[re + 3][ce + 1] = '/';
  23.     Map[re + 3][ce - 1] = '|';
  24.     Map[re + 4][ce + 1] = '_';
  25.     Map[re + 4][ce - 1] = '_';
  26.  
  27.  
  28. }
  29. void elevator1(char Map[][600], int & r, int & c, int &rtemp)
  30. {
  31.     if (Map[r - 1][c] != ' ' || Map[r - 1][c + 1] != ' ' || Map[r - 1][c + 2] != ' ' || Map[r - 1][c + 3] != ' ' || Map[r - 1][c + 4] != ' ' || Map[r - 1][c + 5] != ' ' || Map[r - 1][c + 6] != ' ' || Map[r - 1][c + 7] != ' ' || Map[r - 1][c + 8] != ' ')
  32.     {
  33.         if (r != 11) {
  34.             rtemp--;
  35.             r--;
  36.         }
  37.     }
  38. }
  39. void gravity(char Map[][600], int &R, int &c, int & rgun, int cgun)
  40. {
  41.     if (Map[R + 6][c] == ' ' && Map[R + 6][c - 1] == ' ')
  42.     {
  43.         R++;
  44.         rgun++;
  45.     }
  46. }
  47. void enemy(char Map[][600], int re, int ce)
  48. {
  49.  
  50.     Map[re][ce] = 'o';
  51.     Map[re][ce + 1] = '^';
  52.     Map[re + 1][ce] = '0';
  53.     Map[re + 2][ce] = 'O';
  54.     Map[re + 1][ce + 1] = '\\';
  55.     Map[re + 1][ce - 1] = '/';
  56.     Map[re + 2][ce + 1] = '\\';
  57.     Map[re + 2][ce - 1] = '/';
  58.     Map[re + 1][ce - 2] = '\\';
  59.     Map[re + 1][ce - 3] = '+';
  60.     Map[re + 1][ce - 4] = '=';
  61.     Map[re + 1][ce - 5] = '=';
  62.     Map[re + 1][ce + 2] = '/';
  63.     Map[re + 1][ce + 3] = '^';
  64.     Map[re + 3][ce + 1] = '/';
  65.     Map[re + 3][ce - 1] = '|';
  66.     Map[re + 4][ce + 1] = '_';
  67.     Map[re + 4][ce - 1] = '_';
  68.  
  69.  
  70. }
  71. void guns(char Map[][600], int Rgun, int Cgun)
  72. {
  73.     Map[Rgun][Cgun] = 208;
  74.     Map[Rgun - 1][Cgun] = 209;
  75.     Map[Rgun - 1][Cgun + 1] = 209;
  76.     Map[Rgun - 1][Cgun + 1] = 243;
  77.  
  78. }
  79. void hero(char Map[][600], int r1, int c1)
  80. {
  81.     Map[r1][c1] = 'o';
  82.     Map[r1][c1 - 1] = 'o';
  83.     Map[r1][c1 - 2] = '(';
  84.     Map[r1 + 1][c1 - 1] = '-';
  85.     Map[r1 - 1][c1 - 2] = '\\';
  86.     Map[r1 - 1][c1] = '/';
  87.     //Map[r1 -1 ][c1 +2] = 239;
  88.     Map[r1 - 1][c1 - 1] = '|';
  89.     Map[r1 + 2][c1 - 1] = '|';
  90.     Map[r1 + 3][c1 - 1] = '|';
  91.     Map[r1 + 4][c1 - 1] = '|';
  92.     Map[r1 + 5][c1 - 1] = 'L';
  93.     Map[r1 + 5][c1] = 'L';
  94.     Map[r1 + 3][c1 - 2] = '/';
  95.     Map[r1 + 3][c1] = '\\';
  96.  
  97.  
  98.  
  99. }
  100. void herowalk(char Map[][600], int r1, int c1)
  101. {
  102.     Map[r1][c1 + 1] = 'o';
  103.     Map[r1][c1] = 'o';
  104.     Map[r1][c1 - 2] = '(';
  105.     Map[r1 + 1][c1 - 1] = '-';
  106.     Map[r1 - 1][c1 - 2] = '\\';
  107.     Map[r1 - 1][c1] = '/';
  108.     Map[r1 - 1][c1 - 1] = '|';
  109.     Map[r1 + 2][c1 - 1] = '|';
  110.     Map[r1 + 2][c1 - 2] = '-';
  111.     Map[r1 + 2][c1 - 3] = '/';
  112.     Map[r1 + 3][c1 - 3] = '\\';
  113.     Map[r1 + 2][c1] = '-';
  114.     Map[r1 + 2][c1 + 1] = '-';
  115.     Map[r1 + 2][c1 + 2] = '/';
  116.     Map[r1 + 1][c1 + 3] = '/';
  117.     Map[r1 + 3][c1 - 1] = '|';
  118.     Map[r1 + 4][c1 - 2] = '/';
  119.     Map[r1 + 5][c1 - 3] = '/';
  120.     Map[r1 + 6][c1 - 3] = 'L';
  121.     Map[r1 + 4][c1 - 1] = '-';
  122.     Map[r1 + 4][c1] = '-';
  123.     Map[r1 + 4][c1 + 1] = 'i';
  124.     Map[r1 + 5][c1 + 1] = 'L';
  125.  
  126.  
  127.  
  128. }
  129. /*void mincelibebar(char Map[][600], int &rl, int &cl, int ct2)
  130. {
  131. if (ct2 == 1)
  132. {
  133. Map[rl + 1][cl] = ' ';
  134. Map[rl + 1][cl + 1] = ' ';
  135. }
  136. if (ct2 == 2)
  137. {
  138. Map[rl + 1][cl] = ' ';
  139. Map[rl + 1][cl + 1] = ' ';
  140. Map[rl + 1][cl + 2] = ' ';
  141. Map[rl + 1][cl + 3] = ' ';
  142. }
  143. if (ct2 == 3)
  144. {
  145. Map[rl + 1][cl] = ' ';
  146. Map[rl + 1][cl + 1] = ' ';
  147. Map[rl + 1][cl + 2] = ' ';
  148. Map[rl + 1][cl + 3] = ' ';
  149. Map[rl + 1][cl + 4] = ' ';
  150. Map[rl + 1][cl + 5] = ' ';
  151. }
  152. if (ct2 == 4)
  153. {
  154. Map[rl + 1][cl] = ' ';
  155. Map[rl + 1][cl + 1] = ' ';
  156. Map[rl + 1][cl + 2] = ' ';
  157. Map[rl + 1][cl + 3] = ' ';
  158. Map[rl + 1][cl + 4] = ' ';
  159. Map[rl + 1][cl + 5] = ' ';
  160. Map[rl + 1][cl + 6] = ' ';
  161. Map[rl + 1][cl + 7] = ' ';
  162.  
  163. }
  164. if (ct2 == 5)
  165. {
  166. Map[rl + 1][cl] = ' ';
  167. Map[rl + 1][cl + 1] = ' ';
  168. Map[rl + 1][cl + 2] = ' ';
  169. Map[rl + 1][cl + 3] = ' ';
  170. Map[rl + 1][cl + 4] = ' ';
  171. Map[rl + 1][cl + 5] = ' ';
  172. Map[rl + 1][cl + 6] = ' ';
  173. Map[rl + 1][cl + 7] = ' ';
  174. Map[rl + 1][cl + 8] = ' ';
  175. Map[rl + 1][cl + 9] = ' ';
  176. }
  177. if (ct2 == 6)
  178. {
  179. Map[rl + 1][cl] = ' ';
  180. Map[rl + 1][cl + 1] = ' ';
  181. Map[rl + 1][cl + 2] = ' ';
  182. Map[rl + 1][cl + 3] = ' ';
  183. Map[rl + 1][cl + 4] = ' ';
  184. Map[rl + 1][cl + 5] = ' ';
  185. Map[rl + 1][cl + 6] = ' ';
  186. Map[rl + 1][cl + 7] = ' ';
  187. Map[rl + 1][cl + 8] = ' ';
  188. Map[rl + 1][cl + 9] = ' ';
  189. Map[rl + 1][cl + 10] = ' ';
  190. }
  191. }*/
  192. void deleteplane(char Map[][600], int rp, int cp)
  193. {
  194.     Map[rp][cp] = ' ';
  195.     Map[rp][cp - 1] = ' ';
  196.     Map[rp + 1][cp - 1] = ' ';
  197.     Map[rp + 1][cp - 2] = ' ';
  198.     Map[rp - 1][cp - 1] = ' ';
  199.     Map[rp - 1][cp - 2] = ' ';
  200.     Map[rp - 1][cp - 3] = ' ';
  201.     Map[rp + 1][cp - 3] = ' ';
  202.     Map[rp + 2][cp - 4] = ' ';
  203.     Map[rp - 2][cp - 4] = ' ';
  204.     Map[rp - 3][cp - 4] = ' ';
  205.     Map[rp + 3][cp - 4] = ' ';
  206.     Map[rp + 4][cp - 6] = ' ';
  207.     Map[rp - 4][cp - 6] = ' ';
  208.     Map[rp - 5][cp - 8] = ' ';
  209.     Map[rp + 5][cp - 8] = ' ';
  210.     Map[rp - 5][cp - 9] = ' ';
  211.     Map[rp + 5][cp - 9] = ' ';
  212.     Map[rp + 4][cp - 9] = ' ';
  213.     Map[rp - 4][cp - 9] = ' ';
  214.     Map[rp + 4][cp - 8] = ' ';
  215.     Map[rp - 4][cp - 8] = ' ';
  216.     Map[rp + 3][cp - 8] = ' ';
  217.     Map[rp - 3][cp - 8] = ' ';
  218.     Map[rp + 3][cp - 7] = ' ';
  219.     Map[rp - 3][cp - 7] = ' ';
  220.     Map[rp + 3][cp - 9] = ' ';
  221.     Map[rp - 3][cp - 9] = ' ';
  222.     Map[rp + 3][cp - 10] = ' ';
  223.     Map[rp - 3][cp - 10] = ' ';
  224.     Map[rp + 4][cp - 11] = ' ';
  225.     Map[rp - 4][cp - 11] = ' ';
  226.     Map[rp + 4][cp - 12] = ' ';
  227.     Map[rp - 4][cp - 12] = ' ';
  228.     Map[rp + 2][cp - 12] = ' ';
  229.     Map[rp - 2][cp - 12] = ' ';
  230.     Map[rp + 3][cp - 13] = ' ';
  231.     Map[rp - 3][cp - 13] = ' ';
  232.     Map[rp + 1][cp - 11] = ' ';
  233.     Map[rp - 1][cp - 11] = ' ';
  234.     Map[rp][cp - 11] = ' ';
  235.     Map[rp][cp - 12] = ' ';
  236. }
  237. void deleteplane2(char Map[][600], int rp2, int cp2)
  238. {
  239.     Map[rp2][cp2] = ' ';
  240.     Map[rp2][cp2 + 1] = ' ';
  241.     Map[rp2 - 1][cp2 + 1] = ' ';
  242.     Map[rp2 - 1][cp2 + 2] = ' ';
  243.     Map[rp2 + 1][cp2 + 1] = ' ';
  244.     Map[rp2 + 1][cp2 + 2] = ' ';
  245.     Map[rp2 + 3][cp2 + 8] = ' ';
  246.     Map[rp2 + 1][cp2 + 3] = ' ';
  247.     Map[rp2 - 1][cp2 + 3] = ' ';
  248.     Map[rp2 - 2][cp2 + 4] = ' ';
  249.     Map[rp2 + 2][cp2 + 4] = ' ';
  250.     Map[rp2 + 3][cp2 + 4] = ' ';
  251.     Map[rp2 - 3][cp2 + 4] = ' ';
  252.     Map[rp2 - 4][cp2 + 6] = ' ';
  253.     Map[rp2 + 4][cp2 + 6] = ' ';
  254.     Map[rp2 + 5][cp2 + 8] = ' ';
  255.     Map[rp2 - 5][cp2 + 8] = ' ';
  256.     Map[rp2 + 5][cp2 + 9] = ' ';
  257.     Map[rp2 - 5][cp2 + 9] = ' ';
  258.     Map[rp2 - 4][cp2 + 9] = ' ';
  259.     Map[rp2 + 4][cp2 + 9] = ' ';
  260.     Map[rp2 - 4][cp2 + 8] = ' ';
  261.     Map[rp2 + 4][cp2 + 8] = ' ';
  262.     Map[rp2 - 3][cp2 + 8] = ' ';
  263.     Map[rp2 - 3][cp2 + 7] = ' ';
  264.     Map[rp2 + 3][cp2 + 7] = ' ';
  265.     Map[rp2 - 3][cp2 + 9] = ' ';
  266.     Map[rp2 + 3][cp2 + 9] = ' ';
  267.     Map[rp2 - 3][cp2 + 10] = ' ';
  268.     Map[rp2 + 3][cp2 + 10] = ' ';
  269.     Map[rp2 - 4][cp2 + 11] = ' ';
  270.     Map[rp2 + 4][cp2 + 11] = ' ';
  271.     Map[rp2 - 4][cp2 + 12] = ' ';
  272.     Map[rp2 + 4][cp2 + 12] = ' ';
  273.     Map[rp2 - 2][cp2 + 12] = ' ';
  274.     Map[rp2 + 2][cp2 + 12] = ' ';
  275.     Map[rp2 - 3][cp2 + 13] = ' ';
  276.     Map[rp2 + 3][cp2 + 13] = ' ';
  277.     Map[rp2 - 1][cp2 + 11] = ' ';
  278.     Map[rp2 + 1][cp2 + 11] = ' ';
  279.     Map[rp2][cp2 + 11] = ' ';
  280.     Map[rp2][cp2 + 12] = ' ';
  281.  
  282.  
  283. }
  284. void xbullets(char Map[][600], int &countB, int cbulletsm[100], int cgun, int flag[100], int rgun, int r[100])
  285. {
  286.     r[countB - 1] = rgun;
  287.     cbulletsm[countB - 1] = cgun;
  288.     flag[countB - 1] = 1;
  289. }
  290. void setbullet(char Map[][600], int cbulletsm[100], int countB, int flag[100], int r[100])
  291. {
  292.     for (int i = 0; i < countB; i++)
  293.     {
  294.         if (flag[i] == 1)
  295.         {
  296.             Map[r[i]][cbulletsm[i] + 1] = 196;
  297.         }
  298.     }
  299. }
  300. void MoveBullet(char Map[][600], int cbulletsm[100], int countB, int flag[100])
  301. {
  302.     for (int i = 0; i < countB; i++)
  303.     {
  304.         if (cbulletsm[i] < 600)
  305.         {
  306.             cbulletsm[i] += 5;
  307.         }
  308.         else {
  309.             flag[i] = 0;
  310.         }
  311.     }
  312. }
  313. void plane2move(char Map[][600], int &R, int &C, int &ct, int rb, int cb)
  314. {
  315.     if (ct >= 0 && ct < 9)
  316.     {
  317.         R += 2;
  318.         ct++;
  319.     }
  320.     if (ct >= 9)
  321.     {
  322.         R -= 2;
  323.         ct++;
  324.     }
  325.     if (ct >= 18)
  326.     {
  327.         ct = 0;
  328.  
  329.     }
  330.     rb = R;
  331.     cb = C - 2;
  332. }
  333. void livebar(char Map[][600], int rl, int cl, int health)
  334. {
  335.     Map[rl][cl] = 196;
  336.     Map[rl][cl + 1] = 196;
  337.     Map[rl][cl + 2] = 196;
  338.     Map[rl][cl + 3] = 196;
  339.     Map[rl][cl + 4] = 196;
  340.     Map[rl][cl + 5] = 196;
  341.     Map[rl][cl + 6] = 196;
  342.     Map[rl][cl + 7] = 196;
  343.     Map[rl][cl + 8] = 196;
  344.     Map[rl][cl + 9] = 196;
  345.     Map[rl][cl + 10] = 196;
  346.     Map[rl][cl + 11] = 196;
  347.     //Map[rl + 1][cl] = 196;
  348.     Map[rl + 1][cl + 1] = 196;
  349.     Map[rl + 1][cl + 2] = 196;
  350.     Map[rl + 1][cl + 3] = 196;
  351.     Map[rl + 1][cl + 4] = 196;
  352.     Map[rl + 1][cl + 5] = 196;
  353.     Map[rl + 1][cl + 6] = 196;
  354.     Map[rl + 1][cl + 7] = 196;
  355.     Map[rl + 1][cl + 8] = 196;
  356.     Map[rl + 1][cl + 9] = 196;
  357.     Map[rl + 1][cl + 10] = 196;
  358.     Map[rl + 1][cl + 11] = 196;
  359.     Map[rl][cl - 1] = 218;
  360.     Map[rl + 1][cl - 1] = 179;
  361.     Map[rl + 1][cl - 1] = 192;
  362.     Map[rl][cl + 12] = 191;
  363.     Map[rl + 1][cl + 12] = 179;
  364.     Map[rl + 1][cl + 12] = 217;
  365.     if (health >= 1)
  366.     {
  367.         Map[rl + 1][cl] = 223;
  368.         Map[rl + 1][cl + 1] = 223;
  369.     }
  370.     if (health >= 2)
  371.     {
  372.         Map[rl + 1][cl + 2] = 223;
  373.         Map[rl + 1][cl + 3] = 223;
  374.     }
  375.     if (health >= 3)
  376.     {
  377.         Map[rl + 1][cl + 4] = 223;
  378.         Map[rl + 1][cl + 5] = 223;
  379.     }
  380.     if (health >= 4)
  381.     {
  382.         Map[rl + 1][cl + 6] = 223;
  383.         Map[rl + 1][cl + 7] = 223;
  384.     }
  385.     if (health >= 5)
  386.     {
  387.         Map[rl + 1][cl + 8] = 223;
  388.         Map[rl + 1][cl + 9] = 223;
  389.     }
  390.     if (health >= 6)
  391.     {
  392.         Map[rl + 1][cl + 10] = 223;
  393.         Map[rl + 1][cl + 11] = 223;
  394.     }
  395.     //Map[rl+1][cl+12]=223;
  396. }
  397. void moveplaneforword(char Map[][600], int &rp, int &cp, char k)
  398. {
  399.     if (k == 'd')
  400.     {
  401.         for (int i = 0; i < 5; i++)
  402.         {
  403.             if (Map[rp + 1][cp + 1] == ' ')
  404.                 cp++;
  405.         }
  406.     }
  407. }
  408. void moveplaneback(char Map[][600], int &rp, int &cp, char k)
  409. {
  410.     if (k == 'a')
  411.     {
  412.         for (int i = 0; i < 5; i++)
  413.         {
  414.             if (Map[rp - 1][cp - 14] == ' ')
  415.                 cp--;
  416.         }
  417.     }
  418. }
  419. void moveplanedown(char Map[][600], int &rp, int &cp, char k)
  420. {
  421.     if (k == 's')
  422.     {
  423.         for (int i = 0; i < 5; i++)
  424.         {
  425.             if (Map[rp + 6][cp - 9] == ' ')
  426.             {
  427.                 rp++;
  428.             }
  429.         }
  430.     }
  431. }
  432. void moveplaneup(char Map[][600], int &rp, int &cp, char k)
  433. {
  434.     if (k == 'w')
  435.     {
  436.         for (int i = 0; i < 5; i++)
  437.         {
  438.             if (Map[rp - 6][cp - 9] == ' ')
  439.             {
  440.                 rp--;
  441.             }
  442.         }
  443.     }
  444. }
  445. void Movehero(int & rh, int & ch, char k, int & scroll1, int & scroll2, int & move, int & rgun, int & cgun)
  446. {
  447.     if (k == 'a')
  448.     {
  449.         ch -= 2;
  450.         cgun--;
  451.         scroll1--;
  452.         scroll2--;
  453.         move = 1;
  454.     }
  455.  
  456.     if (k == 'd')
  457.     {
  458.         ch += 2;
  459.         cgun++;
  460.         scroll1++;
  461.         scroll2++;
  462.         move = 1;
  463.     }
  464.     if (k == 'w')
  465.     {
  466.         rh -= 6;
  467.         rgun -= 6;
  468.         ch += 3;
  469.         cgun += 3;
  470.         move = 0;
  471.     }
  472.  
  473. }
  474. void Move(int &R, int &C, char k, int by)
  475. {
  476.     if (k == 'a')
  477.     {
  478.         C -= by;
  479.     }
  480.     if (k == 'd')
  481.     {
  482.         C += by;
  483.     }
  484.     if (k == 'w')
  485.     {
  486.         R -= by;
  487.         /*if (by > 0)
  488.         {
  489.         C += by;
  490.         }
  491.         else {
  492.         C -= by;
  493.  
  494.         }
  495.         }*/
  496.     }
  497.     if (k == 's')
  498.     {
  499.         R += by;
  500.         /*if (by > 0)
  501.         {
  502.         C -= by;
  503.         }
  504.         else {
  505.         C += by;
  506.         }*/
  507.     }
  508. }
  509. void bullet(char Map[][600], int &rb, int &cb, int rp, int cp, int &ct)
  510. {
  511.     if (ct == 1)
  512.     {
  513.         rb = rp;
  514.         cb = cp - 2;
  515.         Map[rb][cb + 1] = 196;
  516.     }
  517.     ct++;
  518.     if (ct>1)
  519.     {
  520.         cb -= 4;
  521.         Map[rb][cb + 1] = 196;
  522.     }
  523.  
  524. }
  525. void plan(char Map[][600], int rp, int cp)
  526. {
  527.     Map[rp][cp] = '>';
  528.     Map[rp][cp - 1] = ':';
  529.     Map[rp + 1][cp - 1] = 196;
  530.     Map[rp + 1][cp - 2] = 196;
  531.     Map[rp - 1][cp - 1] = 196;
  532.     Map[rp - 1][cp - 2] = 196;
  533.     Map[rp - 1][cp - 3] = '\\';
  534.     Map[rp + 1][cp - 3] = '/';
  535.     Map[rp + 2][cp - 4] = '/';
  536.     Map[rp - 2][cp - 4] = '\\';
  537.     Map[rp - 3][cp - 4] = '\\';
  538.     Map[rp + 3][cp - 4] = '/';
  539.     Map[rp + 4][cp - 6] = '/';
  540.     Map[rp - 4][cp - 6] = '\\';
  541.     Map[rp - 5][cp - 8] = '\\';
  542.     Map[rp + 5][cp - 8] = '/';
  543.     Map[rp - 5][cp - 9] = '.';
  544.     Map[rp + 5][cp - 9] = '.';
  545.     Map[rp + 4][cp - 9] = 179;
  546.     Map[rp - 4][cp - 9] = 179;
  547.     Map[rp + 4][cp - 8] = '>';
  548.     Map[rp - 4][cp - 8] = '>';
  549.     Map[rp + 3][cp - 8] = 196;
  550.     Map[rp - 3][cp - 8] = 196;
  551.     Map[rp + 3][cp - 7] = 196;
  552.     Map[rp - 3][cp - 7] = 196;
  553.     Map[rp + 3][cp - 9] = '\\';
  554.     Map[rp - 3][cp - 9] = '/';
  555.     Map[rp + 3][cp - 10] = '/';
  556.     Map[rp - 3][cp - 10] = '\\';
  557.     Map[rp + 4][cp - 11] = '.';
  558.     Map[rp - 4][cp - 11] = '.';
  559.     Map[rp + 4][cp - 12] = 196;
  560.     Map[rp - 4][cp - 12] = '_';
  561.     Map[rp + 2][cp - 12] = '/';
  562.     Map[rp - 2][cp - 12] = '\\';
  563.     Map[rp + 3][cp - 13] = '/';
  564.     Map[rp - 3][cp - 13] = '\\';
  565.     Map[rp + 1][cp - 11] = '/';
  566.     Map[rp - 1][cp - 11] = '\\';
  567.     Map[rp][cp - 11] = 196;
  568.     Map[rp][cp - 12] = 196;
  569. }
  570. void plane2(char Map[][600], int rp2, int cp2)
  571. {
  572.     Map[rp2][cp2] = '<';
  573.     Map[rp2][cp2 + 1] = ':';
  574.     Map[rp2 - 1][cp2 + 1] = 196;
  575.     Map[rp2 - 1][cp2 + 2] = 196;
  576.     Map[rp2 + 1][cp2 + 1] = 196;
  577.     Map[rp2 + 1][cp2 + 2] = 196;
  578.     Map[rp2 + 1][cp2 + 3] = '\\';
  579.     Map[rp2 - 1][cp2 + 3] = '/';
  580.     Map[rp2 - 2][cp2 + 4] = '/';
  581.     Map[rp2 + 2][cp2 + 4] = '\\';
  582.     Map[rp2 + 3][cp2 + 4] = '\\';
  583.     Map[rp2 - 3][cp2 + 4] = '/';
  584.     Map[rp2 - 4][cp2 + 6] = '/';
  585.     Map[rp2 + 4][cp2 + 6] = '\\';
  586.     Map[rp2 + 5][cp2 + 8] = '\\';
  587.     Map[rp2 - 5][cp2 + 8] = '/';
  588.     Map[rp2 + 5][cp2 + 9] = '.';
  589.     Map[rp2 - 5][cp2 + 9] = '.';
  590.     Map[rp2 - 4][cp2 + 9] = 179;
  591.     Map[rp2 + 4][cp2 + 9] = 179;
  592.     Map[rp2 - 4][cp2 + 8] = '>';
  593.     Map[rp2 + 4][cp2 + 8] = '>';
  594.     Map[rp2 - 3][cp2 + 8] = 196;
  595.     Map[rp2 + 3][cp2 + 8] = 196;
  596.     Map[rp2 - 3][cp2 + 7] = 196;
  597.     Map[rp2 + 3][cp2 + 7] = 196;
  598.     Map[rp2 - 3][cp2 + 9] = '\\';
  599.     Map[rp2 + 3][cp2 + 9] = '/';
  600.     Map[rp2 - 3][cp2 + 10] = '/';
  601.     Map[rp2 + 3][cp2 + 10] = '\\';
  602.     Map[rp2 - 4][cp2 + 11] = '.';
  603.     Map[rp2 + 4][cp2 + 11] = '.';
  604.     Map[rp2 - 4][cp2 + 12] = 196;
  605.     Map[rp2 + 4][cp2 + 12] = '_';
  606.     Map[rp2 - 2][cp2 + 12] = '/';
  607.     Map[rp2 + 2][cp2 + 12] = '\\';
  608.     Map[rp2 - 3][cp2 + 13] = '/';
  609.     Map[rp2 + 3][cp2 + 13] = '\\';
  610.     Map[rp2 - 1][cp2 + 11] = '/';
  611.     Map[rp2 + 1][cp2 + 11] = '\\';
  612.     Map[rp2][cp2 + 11] = 196;
  613.     Map[rp2][cp2 + 12] = 196;
  614. }
  615. void Display(char Map[][600], int c1, int c2, int scroll1, int scroll2)
  616. {
  617.     system("cls");
  618.     for (int r = 0; r < 29; r++)
  619.     {
  620.         for (int c = scroll1; c <= scroll2; c++)
  621.         {
  622.             cout << Map[r][c];
  623.         }
  624.         cout << endl;
  625.     }
  626.     cout.flush();
  627.     Sleep(500);
  628. }
  629. void Design(char Map[][600])
  630. {
  631.     int a;
  632.     for (int c = 0; c < 600; c++)
  633.     {
  634.         Map[0][c] = 205;
  635.         Map[28][c] = 205;
  636.     }
  637.     for (int r = 1; r < 28; r++)
  638.     {
  639.         for (int c = 1; c < 600 - 1; c++)
  640.         {
  641.             Map[r][c] = ' ';
  642.         }
  643.     }
  644.     for (int r = 1; r < 28; r++)
  645.     {
  646.         Map[r][0] = 186;
  647.         Map[r][199] = ' ';
  648.     }
  649.     for (int r = 1; r < 28; r++)
  650.     {
  651.         Map[r][80] = 186;
  652.     }
  653.     for (int r = 23; r < 28; r++)
  654.     {
  655.         for (int c = 300; c < 600; c++)
  656.         {
  657.             Map[r][c] = 219;
  658.         }
  659.     }
  660.     for (int c = 330; c<400; c++)
  661.     {
  662.         Map[11][c] = 220;
  663.     }
  664.     for (int c = 400; c < 410; c++)
  665.     {
  666.         Map[11][c] = 220;
  667.     }
  668.     for (int c = 410; c<460; c++)
  669.     {
  670.         Map[16][c] = 220;
  671.     }
  672.  
  673.  
  674.     /*for (int c = 168; c > 90; c--)
  675.     {
  676.     Map[r][c] = 219;
  677.     }
  678.  
  679.     for (int c = 200; c < 450; c++)
  680.     {
  681.     Map[r][c] = 219;
  682.     }
  683.     }*/
  684.  
  685.  
  686. }
  687. void FirstElevator(char Map[][600], int &R, int &C)
  688. {
  689.     for (int c = C; c < C + 10; c++)
  690.     {
  691.         Map[R][c] = 220;
  692.     }
  693. }
  694. void main()
  695. {
  696.     char Map[33][600];
  697.     int i;
  698.  
  699.     int k;
  700.     int rp = 10;
  701.     int cp = 30;
  702.  
  703.     int rp2 = 6;
  704.     int cp2 = 140;
  705.  
  706.     int ct = 0;
  707.     int rb = 10;
  708.     int cb = 30;
  709.     int shooting = 0;
  710.  
  711.     int rl = 27;
  712.     int cl = 5;
  713.  
  714.     int rl2 = 27;
  715.     int cl2 = 130;
  716.  
  717.     int ct2 = 0;
  718.  
  719.     int r1 = 17;
  720.     int c1 = 304;
  721.  
  722.     int rlw = 16;
  723.     int clw = 304;
  724.  
  725.  
  726.  
  727.     int scroll1 = 0;
  728.     int scroll2 = 300;
  729.     int scrolling = 1;
  730.  
  731.     int countb = 0;
  732.     int cbulletsm[100], Cgun, flag[100], Rgun, newR[100];
  733.  
  734.     int shipdelet = 0;
  735.  
  736.     int health1 = 6;
  737.     int health2 = 6;
  738.  
  739.     int move = 0;
  740.     int rgun = 20;
  741.     int cgun = 305;
  742.  
  743.     int re = 6;
  744.     int ce = 380;
  745.  
  746.     int relevator1 = 20;
  747.     int c = 320;
  748.  
  749.     int rtemp = 20;
  750.  
  751.     int re2 = 11;
  752.     int ce2 = 455;
  753.  
  754.     while (1)
  755.     {
  756.         while (!_kbhit())
  757.         {
  758.             Design(Map);
  759.             plan(Map, rp, cp);
  760.             enemy(Map, re, ce);
  761.             enemy2(Map, re2, ce2);
  762.             FirstElevator(Map, relevator1, c);
  763.             gravity(Map, r1, c1, rgun, cgun);
  764.             if (move == 0)
  765.             {
  766.                 hero(Map, r1, c1);
  767.                 elevator1(Map, relevator1, c, re);
  768.                 gravity(Map, r1, c1, rgun, cgun);
  769.                 guns(Map, rgun, cgun);
  770.             }
  771.  
  772.             if (scrolling == 1)
  773.             {
  774.                 scroll1 += 10;
  775.                 scroll2 += 10;
  776.                 if (scroll1 >= 300)
  777.                 {
  778.                     scrolling = 0;
  779.                 }
  780.             }
  781.             if (shipdelet == 0)
  782.             {
  783.                 plane2(Map, rp2, cp2);
  784.                 plane2move(Map, rp2, cp2, ct, rb, cb);
  785.                 livebar(Map, rl2, cl2, health2);
  786.             }
  787.             /*if (ct == 0)
  788.             {
  789.             ct = 1;
  790.             bullet(Map, rb, cb, rp2, cp2, ct);
  791.             shooting = 1;
  792.  
  793.             }
  794.             if (shooting == 1)
  795.             {
  796.             bullet(Map, rb, cb, cp2, rp2, ct);
  797.  
  798.             if (ct == 40)
  799.             {
  800.             ct = 0;
  801.             shooting = 0;
  802.             Map[rb][cb] = ' ';
  803.             }
  804.             }*/
  805.             livebar(Map, rl, cl, health1);
  806.             MoveBullet(Map, cbulletsm, countb, flag);
  807.             setbullet(Map, cbulletsm, countb, flag, newR);
  808.             for (i = 0; i < countb; i++)
  809.             {
  810.                 if (rp2 == newR[i] || rp2 + 1 == newR[i] || rp2 + 2 == newR[i] || rp2 + 3 == newR[i] || rp2 + 4 == newR[i])
  811.                 {
  812.                     if (cp2 == cbulletsm[i] || cp2 + 1 == cbulletsm[i] || cp2 + 2 == cbulletsm[i] || cp2 + 3 == cbulletsm[i] || cp2 + 4 == cbulletsm[i])
  813.                     {
  814.                         ct2++;
  815.                         flag[i] = 0;
  816.                         health2--;
  817.                         //mincelibebar(Map, rl, cl, ct2);
  818.                         if (ct2 == 7)
  819.                         {
  820.                             flag[i] = 0;
  821.                             deleteplane2(Map, rp2, cp2);
  822.                             shipdelet = 1;
  823.                             scrolling = 1;
  824.                         }
  825.                     }
  826.                 }
  827.                 /*if (ct2 == 1)
  828.                 {
  829.                 flag[i] = 0;
  830.                 deleteplane2(Map, rp2, cp2);
  831.                 }*/
  832.             }
  833.             Display(Map, r1, c1, scroll1, scroll2);
  834.         }
  835.         char k = _getch();
  836.  
  837.         Design(Map);
  838.         plan(Map, rp, cp);
  839.         enemy(Map, re, ce);
  840.         enemy2(Map, re2, ce2);
  841.         FirstElevator(Map, relevator1, c);
  842.         if (move == 0)
  843.         {
  844.             Movehero(r1, c1, k, scroll1, scroll2, move, rgun, cgun);
  845.             hero(Map, r1, c1);
  846.             gravity(Map, r1, c1, rgun, cgun);
  847.             elevator1(Map, relevator1, c, rtemp);
  848.             guns(Map, rgun, cgun);
  849.  
  850.         }
  851.         //Movehero(r1,c1,k,scroll1,scroll2,move);
  852.         if (move == 1)
  853.         {
  854.             Movehero(rlw, clw, k, scroll1, scroll2, move, rgun, cgun);
  855.             herowalk(Map, rlw, clw);
  856.             gravity(Map, r1, c1, rgun, cgun);
  857.             guns(Map, rgun, cgun);
  858.             move = 0;
  859.         }
  860.  
  861.         if (shipdelet == 0)
  862.         {
  863.             plane2(Map, rp2, cp2);
  864.             plane2move(Map, rp2, cp2, ct, cp, rb);
  865.             livebar(Map, rl2, cl2, health2);
  866.         }
  867.         livebar(Map, rl, cl, health1);
  868.         moveplaneforword(Map, rp, cp, k);
  869.         moveplaneback(Map, rp, cp, k);
  870.         moveplanedown(Map, rp, cp, k);
  871.         moveplaneup(Map, rp, cp, k);
  872.         MoveBullet(Map, cbulletsm, countb, flag);
  873.         setbullet(Map, cbulletsm, countb, flag, newR);
  874.         if (k == 'f')
  875.         {
  876.             if (shipdelet == 0)
  877.             {
  878.                 countb++;
  879.                 xbullets(Map, countb, cbulletsm, cp, flag, rp, newR);
  880.                 setbullet(Map, cbulletsm, countb, flag, newR);
  881.             }
  882.             if (shipdelet == 1)
  883.             {
  884.                 countb++;
  885.                 xbullets(Map, countb, cbulletsm, cgun, flag, rgun, newR);
  886.                 setbullet(Map, cbulletsm, countb, flag, newR);
  887.  
  888.             }
  889.  
  890.         }
  891.         for (i = 0; i < countb; i++)
  892.         {
  893.             if (rp2 == newR[i] || rp2 + 1 == newR[i] || rp2 + 2 == newR[i] || rp2 + 3 == newR[i] || rp2 + 4 == newR[i])
  894.             {
  895.                 if (cp2 == cbulletsm[i] || cp2 + 1 == cbulletsm[i] || cp2 + 2 == cbulletsm[i] || cp2 + 3 == cbulletsm[i] || cp2 + 4 == cbulletsm[i])
  896.                 {
  897.                     ct2++;
  898.                     flag[i] = 0;
  899.                     health2--;
  900.                     //mincelibebar(Map, rl, cl, ct2);
  901.                     if (ct2 == 7)
  902.                     {
  903.                         flag[i] = 0;
  904.                         deleteplane2(Map, rp2, cp2);
  905.                         shipdelet = 1;
  906.                         scrolling = 1;
  907.                     }
  908.                 }
  909.             }
  910.         }
  911.  
  912.         Display(Map, r1, c1, scroll1, scroll2);
  913.         if (shipdelet == 1)
  914.         {
  915.             break;
  916.         }
  917.     }
  918.  
  919.     system("pause");
  920.  
  921. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement