Advertisement
Guest User

Untitled

a guest
Nov 18th, 2019
138
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 136.93 KB | None | 0 0
  1. #include <conio.h>
  2. #include <iostream>
  3. #include <ctime>
  4. #include <stdlib.h>
  5. using namespace std;
  6. using namespace System;
  7.  
  8. #define LIMITE_ANCHO 100
  9. #define LIMITE_ALTO 27
  10. #define LIMITER 20
  11. #define DISPARO 32
  12.  
  13. enum Direccion { Arriba = 72, Abajo = 80, Izquierda = 75, Derecha = 77 };
  14. enum Color { Negro, Rojo, Verde, Azul, Blanco, Celeste, Amarillo, Gris, Magenta, DarkRed, DarkBlue, DarkGreen, DarkCyan, DarkYellow, DarkGray, DarkMagenta };
  15. int posicionx = 0;
  16. int posiciony = 0;
  17. int posicionnavex = 0;
  18. int posicionnavey = 0;
  19. int posicionestrellax = 0;
  20. int posicionestrellay = 0;
  21. short aleartorio(short ini, short fin) {
  22. return rand() % (fin - ini + 1) + ini;
  23. }
  24. void colorearCaracter(Color color) {
  25. switch (color) {
  26. case Negro: Console::ForegroundColor = ConsoleColor::Black; break;
  27. case Rojo: Console::ForegroundColor = ConsoleColor::Red; break;
  28. case Verde: Console::ForegroundColor = ConsoleColor::Green; break;
  29. case Azul: Console::ForegroundColor = ConsoleColor::Blue; break;
  30. case Blanco: Console::ForegroundColor = ConsoleColor::White; break;
  31. case Celeste:Console::ForegroundColor = ConsoleColor::Cyan; break;
  32. case Amarillo:Console::ForegroundColor = ConsoleColor::Yellow; break;
  33. case Gris:Console::ForegroundColor = ConsoleColor::Gray; break;
  34. case Magenta:Console::ForegroundColor = ConsoleColor::Magenta; break;
  35. case DarkRed:Console::ForegroundColor = ConsoleColor::DarkRed; break;
  36. case DarkBlue:Console::ForegroundColor = ConsoleColor::DarkBlue; break;
  37. case DarkGreen:Console::ForegroundColor = ConsoleColor::DarkGreen; break;
  38. case DarkCyan:Console::ForegroundColor = ConsoleColor::DarkCyan; break;
  39. case DarkYellow:Console::ForegroundColor = ConsoleColor::DarkYellow; break;
  40. case DarkGray:Console::ForegroundColor = ConsoleColor::DarkGray; break;
  41. case DarkMagenta:Console::ForegroundColor = ConsoleColor::DarkMagenta; break;
  42. }
  43. }
  44.  
  45. void colorearFondo(Color color) {
  46. switch (color) {
  47. case Negro: Console::BackgroundColor = ConsoleColor::Black; break;
  48. case Rojo: Console::BackgroundColor = ConsoleColor::Red; break;
  49. case Verde: Console::BackgroundColor = ConsoleColor::Green; break;
  50. case Azul: Console::BackgroundColor = ConsoleColor::Blue; break;
  51. case Blanco: Console::BackgroundColor = ConsoleColor::White; break;
  52. case Celeste:Console::BackgroundColor = ConsoleColor::Cyan; break;
  53. case Amarillo:Console::BackgroundColor = ConsoleColor::Yellow; break;
  54. case Gris:Console::BackgroundColor = ConsoleColor::Gray; break;
  55. case Magenta:Console::BackgroundColor = ConsoleColor::Magenta; break;
  56. case DarkRed:Console::BackgroundColor = ConsoleColor::DarkRed; break;
  57. case DarkBlue:Console::BackgroundColor = ConsoleColor::DarkBlue; break;
  58. case DarkGreen:Console::BackgroundColor = ConsoleColor::DarkGreen; break;
  59. case DarkCyan:Console::BackgroundColor = ConsoleColor::DarkCyan; break;
  60. case DarkYellow:Console::BackgroundColor = ConsoleColor::DarkYellow; break;
  61. case DarkGray:Console::BackgroundColor = ConsoleColor::DarkGray; break;
  62. case DarkMagenta:Console::BackgroundColor = ConsoleColor::DarkMagenta; break;
  63. }
  64. }
  65.  
  66.  
  67. /************************************************************************************************************************/
  68.  
  69. typedef struct Bala {
  70. short _x, _y;
  71. char _img;
  72.  
  73. Bala(short x = 0, short y = 0) {
  74. _x = x;
  75. _y = y;
  76. _img = '|';
  77. }
  78. void animar() {
  79. borrar();
  80. mover();
  81. dibujar();
  82. }
  83. void borrar() {
  84. Console::SetCursorPosition(_x, _y);
  85. cout << ' ';
  86. }
  87. void mover() {
  88. if (_y > 1) _y--;
  89. }
  90. void dibujar() {
  91. Console::SetCursorPosition(_x, _y);
  92. if (_y == 1) {
  93. cout << " ";
  94. }
  95. else
  96. cout << _img;
  97. }
  98. };
  99. typedef struct Balaenemiga {
  100. short _x, _y;
  101. char _img;
  102. short retraso = 0;
  103.  
  104. Balaenemiga(short x = 0, short y = 0) {
  105.  
  106. _x = x;
  107. _y = y;
  108. _img = '|';
  109.  
  110. }
  111. void animar() {
  112.  
  113. borrar();
  114. mover();
  115. dibujar();
  116.  
  117.  
  118. }
  119. void borrar() {
  120. Console::SetCursorPosition(_x, _y);
  121. cout << ' ';
  122. }
  123. void mover() {
  124. if (_y <LIMITE_ALTO) _y++;
  125. }
  126. void dibujar() {
  127. Console::SetCursorPosition(_x, _y);
  128. if (_y == LIMITE_ALTO || _y == LIMITE_ALTO - 1) {
  129. cout << " ";
  130. }
  131. else
  132. cout << _img;
  133. }
  134. };
  135. typedef struct Nave {
  136. short _x, _y;
  137. short _n;
  138. short retraso = 0;
  139. short _vidas = 3;
  140. Bala** balas;
  141. const short _alto = 2, _ancho = 5;
  142. const char _img[2][5] = { { ' ', ' ', char(220), ' ', ' ' },
  143. { char(174), char(186), char(219), char(186), char(175) } };
  144. Nave(short x, short y, short n) {
  145. _x = x;
  146. _y = y;
  147. _n = n;
  148. cargarBalas();
  149. }
  150. ~Nave() {
  151. delete[] balas;
  152. }
  153. void animar(Direccion dir) {
  154.  
  155. borrar();
  156. mover(dir);
  157. dibujar();
  158. }
  159. void borrar() {
  160. for (short f = 0; f < _alto; ++f) {
  161. Console::SetCursorPosition(_x, _y + f);
  162. for (short c = 0; c < _ancho; ++c) {
  163. cout << " ";
  164. }
  165. }
  166. }
  167. void mover(Direccion dir) {
  168. switch (dir) {
  169. case Arriba: if (_y - 1 > 0) _y--; break;
  170. case Abajo: if (_y + 1 < LIMITE_ALTO - 3) _y++; break;
  171. case Izquierda: if (_x - 1 > 0) _x--; break;
  172. case Derecha: if (_x + 1 < LIMITE_ANCHO) _x++; break;
  173. posicionnavey = _y;
  174. posicionnavex = _x;
  175. }
  176. }
  177. void dibujar() {
  178. for (short f = 0; f < _alto; ++f) {
  179. Console::SetCursorPosition(_x, _y + f);
  180. for (short c = 0; c < _ancho; ++c) {
  181. colorearCaracter(Azul);
  182. if (c == 2) {
  183. colorearCaracter(Rojo);
  184. }
  185. cout << _img[f][c];
  186. if (c == 2) {
  187. colorearCaracter(Blanco);
  188. }
  189. colorearCaracter(Blanco);
  190.  
  191. }
  192. }
  193. }
  194. void cargarBalas() {
  195. balas = new Bala *[_n];
  196. for (short i = 0; i < _n; ++i)
  197. balas[i] = new Bala();
  198. }
  199. Bala* disparar() {
  200. if (_n == 0)
  201. return NULL;
  202. else {
  203. Bala* bala = balas[_n - 1];
  204. bala->_x = _x + 2;
  205. bala->_y = _y - 1;
  206. balas[_n - 1] = NULL;
  207. --_n;
  208. return bala;
  209. }
  210. }
  211. };
  212. typedef struct NaveEnemiga {
  213. short _x, _y, _dx, _dy, _retraso;
  214. char _img[1][5] = { '<','|','*', '|' ,'>' };
  215. short _vidas = 20;
  216. short _n;
  217. public:
  218. NaveEnemiga(short x = 0, short y = 0, short dx = 0, short dy = 0) {
  219. _x = x;
  220. _y = y;
  221. _dx = dx;
  222. _dy = dy;
  223. _retraso = 0;
  224. }
  225. void animar() {
  226. if (_retraso == 20) {
  227. borrar();
  228. mover();
  229. dibujar();
  230. _retraso = 0;
  231. }
  232. _retraso++;
  233. }
  234. void borrar() {
  235. for (short f = 0; f < 1; ++f) {
  236. Console::SetCursorPosition(_x, _y + f);
  237. for (short c = 0; c < 5; ++c) {
  238. cout << " ";
  239. }
  240. }
  241. }
  242. void mover() {
  243. if (_x + _dx < 1 || _x + _dx > LIMITE_ANCHO - 1) _dx *= -1;
  244. if (_y + _dy < 2 || _y + _dy > LIMITE_ALTO - 1) _dy *= -1;
  245. _x += _dx;
  246. _y += _dy;
  247. }
  248. void dibujar() {
  249. for (short f = 0; f < 1; ++f) {
  250. Console::SetCursorPosition(_x, _y + f);
  251. for (short c = 0; c < 5; ++c) {
  252. colorearCaracter(Rojo);
  253. cout << _img[f][c];
  254. colorearCaracter(Blanco);
  255. }
  256. }
  257. }
  258. };
  259. typedef struct NaveEnemiga1 {
  260. short _x, _y, _dx, _dy, _retraso;
  261. char _img[1][5] = { '<','|',char(176), '|' ,'>' };
  262. short _vidas = 20;
  263. short _n;
  264. public:
  265. NaveEnemiga1(short x, short y, short dx, short dy) {
  266. _x = x;
  267. _y = y;
  268. _dx = dx;
  269. _dy = dy;
  270. _retraso = 0;
  271. }
  272. void animar() {
  273. if (_retraso == 3) {
  274. borrar();
  275. mover();
  276. dibujar();
  277. _retraso = 0;
  278. }
  279. _retraso++;
  280. }
  281. void borrar() {
  282. for (short f = 0; f < 1; ++f) {
  283. Console::SetCursorPosition(_x, _y + f);
  284. for (short c = 0; c < 5; ++c) {
  285. cout << " ";
  286. }
  287. }
  288. }
  289. void mover() {
  290. if (_x + _dx < 1 || _x + _dx > LIMITE_ANCHO - 1) _dx *= -1;
  291. if (_y + _dy < 2 || _y + _dy > LIMITE_ALTO - 1) _dy *= -1;
  292. _x += _dx;
  293. _y += _dy;
  294. }
  295. void dibujar() {
  296. for (short f = 0; f < 1; ++f) {
  297. Console::SetCursorPosition(_x, _y + f);
  298. for (short c = 0; c < 5; ++c) {
  299. colorearCaracter(Amarillo);
  300. cout << _img[f][c];
  301. colorearCaracter(Blanco);
  302. }
  303. }
  304. }
  305. };
  306. typedef struct NaveEnemiga2 {
  307. short _x, _y, _dx, _dy, _retraso;
  308. char _img[1][5] = { '<','|',char(176), '|' ,'>' };
  309. short _vidas = 30;
  310. Balaenemiga** balasenemigas;
  311. short _n;
  312. public:
  313. NaveEnemiga2(short x, short y, short dx, short dy, short n) {
  314. _x = x;
  315. _y = y;
  316. _dx = dx;
  317. _dy = dy;
  318. _n = n;
  319. _retraso = 0;
  320. cargarBalas();
  321. }
  322. void animar() {
  323. if (_retraso == 7) {
  324. borrar();
  325. mover();
  326. dibujar();
  327. _retraso = 0;
  328. }
  329. _retraso++;
  330. }
  331. void borrar() {
  332. for (short f = 0; f < 1; ++f) {
  333. Console::SetCursorPosition(_x, _y + f);
  334. for (short c = 0; c < 5; ++c) {
  335. cout << " ";
  336. }
  337. }
  338. }
  339. void mover() {
  340. if (_x + _dx < 1 || _x + _dx > LIMITE_ANCHO - 1) _dx *= -1;
  341. if (_y + _dy < 2 || _y + _dy > LIMITE_ALTO - 9) _dy *= -1;
  342. _x += _dx;
  343. _y += _dy;
  344. }
  345. void dibujar() {
  346. for (short f = 0; f < 1; ++f) {
  347. Console::SetCursorPosition(_x, _y + f);
  348. for (short c = 0; c < 5; ++c) {
  349. colorearCaracter(Verde);
  350. if (_vidas == 29 || _vidas == 26 || _vidas == 23)
  351. colorearCaracter(DarkMagenta);
  352. cout << _img[f][c];
  353. colorearCaracter(Blanco);
  354. }
  355. }
  356. }
  357. void cargarBalas() {
  358. balasenemigas = new Balaenemiga *[_n];
  359. for (short i = 0; i < _n; ++i)
  360. balasenemigas[i] = new Balaenemiga();
  361. }
  362. Balaenemiga* disparar() {
  363. if (_n == 0)
  364. return NULL;
  365. else {
  366. Balaenemiga* balaenemiga = balasenemigas[_n - 1];
  367. balaenemiga->_x = _x + 2;
  368. balaenemiga->_y = _y + 1;
  369. balasenemigas[_n - 1] = NULL;
  370. --_n;
  371. return balaenemiga;
  372. }
  373. }
  374. };
  375.  
  376.  
  377. void Marco() {
  378. colorearCaracter(Magenta);
  379. for (int i = 0; i <= LIMITE_ALTO + 1; ++i) {
  380. for (int j = 0; j <= LIMITE_ANCHO + 4; ++j)
  381. if (i == 0 || i == LIMITE_ALTO + 1 || j == 0 || j == LIMITE_ANCHO + 4)
  382. cout << "*";
  383. else
  384. cout << " ";
  385. cout << endl;
  386. }
  387. colorearCaracter(Blanco);
  388. }
  389. void imprimirMensaje(Nave& nave, int& contador, short& score, int &tiempo) {
  390. Console::SetCursorPosition(LIMITE_ANCHO + 5, 0);
  391. cout << "Vidas: " << nave._vidas;
  392. Console::SetCursorPosition(LIMITE_ANCHO + 5, 2);
  393. if (contador <= 3)
  394. colorearCaracter(Rojo);
  395. cout << "Municion: " << contador;
  396. colorearCaracter(Blanco);
  397. Console::SetCursorPosition(LIMITE_ANCHO + 5, 4);
  398. cout << "Score: " << score;
  399.  
  400. Console::SetCursorPosition(LIMITE_ANCHO + 5, 6);
  401.  
  402. cout << "Tiempo: " << tiempo-- / 100 + 5;
  403. Console::SetCursorPosition(LIMITE_ANCHO + 17, 2);
  404. cout << " ";
  405. if (contador == 9) {
  406. Console::SetCursorPosition(LIMITE_ANCHO + 16, 2);
  407. cout << " ";
  408. }
  409. Console::SetCursorPosition(LIMITE_ANCHO + 15, 6);
  410. cout << " ";
  411. }
  412.  
  413. inline bool choque(Nave& nave, NaveEnemiga& enemiga) {
  414. return nave._x == enemiga._x && nave._y == enemiga._y;
  415. }
  416. typedef struct Estrellas {
  417. short _x, _y, _dy, _retraso, _n;
  418. char _img = '*';
  419.  
  420. public:
  421. Estrellas() {
  422. _x = aleartorio(1, 99);
  423. _y = aleartorio(1, 24);
  424. _dy = 1;
  425. _retraso = 0;
  426. }
  427. void animar() {
  428. if (_retraso == 3) {
  429. borrar();
  430. mover();
  431. dibujar();
  432. _retraso = 0;
  433. }
  434. _retraso++;
  435. }
  436. void borrar() {
  437. Console::SetCursorPosition(_x, _y);
  438. cout << " ";
  439. }
  440. void mover() {
  441. if (_y + _dy < 1 || _y + _dy > LIMITE_ALTO) _y = 1;
  442.  
  443. _y += _dy;
  444. }
  445. void dibujar() {
  446. Console::SetCursorPosition(_x, _y);
  447. cout << _img;
  448. }
  449.  
  450. };
  451. void Pantalla_de_Incio() {
  452.  
  453.  
  454. colorearCaracter(DarkCyan);
  455. Console::SetCursorPosition(11, 4);
  456. cout << "*************** ********** **** ********** *************** **********" << endl;
  457. Console::SetCursorPosition(10, 5);
  458. cout << "*************** *********** **** *********** *************** ***********" << endl;
  459. Console::SetCursorPosition(9, 6);
  460. cout << "**** **** **** **** **** **** **** **** ****" << endl;
  461. Console::SetCursorPosition(8, 7);
  462. cout << "**** **** **** **** **** **** **** **** ****" << endl;
  463. Console::SetCursorPosition(7, 8);
  464. cout << "**** **** **** **** **** **** **** **** ****" << endl;
  465. Console::SetCursorPosition(6, 9);
  466. cout << "*************** *************** **** *************** *************** ***************" << endl;
  467. Console::SetCursorPosition(5, 10);
  468. cout << "*************** **************** **** **************** *************** ****************" << endl;
  469. Console::SetCursorPosition(4, 11);
  470. cout << "**** **** **** **** **** **** **** **** **** **** ****" << endl;
  471. Console::SetCursorPosition(3, 12);
  472. cout << "**** **** **** **** **** **** **** **** **** **** ****" << endl;
  473. Console::SetCursorPosition(2, 13);
  474. cout << "*************** **** **** **************** **** **** *************** **** ****" << endl;
  475. Console::SetCursorPosition(1, 14);
  476. cout << "*************** **** **** **************** **** **** *************** **** ****" << endl << endl;
  477. colorearCaracter(Blanco);
  478. Console::SetCursorPosition(38, 16);
  479. cout << "Press any key to continue...";
  480. system("pause>0");
  481. system("cls");
  482. _getch;
  483. }
  484. /*************************************************************/
  485. void jugar() {
  486. int a, tiempo = 9500, algo = 0, algo1 = 0;
  487. short zzz = 30;
  488. short Nivel1 = 0, niv0 = 0, Nivel2 = 0, niv1 = 0, Nivel3 = 0, Niv2 = 0, niv3 = 0, Nivel4 = 0;
  489. short retraso = 0;
  490. short score = 0;
  491. short nEstrellas = 10;
  492. short nBalas = 100;
  493. short retrasobala = 0, retrasobala1 = 0, retrasobala2 = 0, retrasobala3 = 0, retrasobala4 = 0, retrasobala5 = 0, retrasobala6 = 0, retrasobala7 = 0, retrasobala8 = 0, retrasobala9 = 0;
  494. int municion = nBalas - 1;
  495. short nBalasActual = 0;
  496. short balasene = 1000;
  497. short balaseneActual = 0, balaseneActual1 = 0, balaseneActual2 = 0, balaseneActual3 = 0, balaseneActual4 = 0, balaseneActual5 = 0, balaseneActual6 = 0, balaseneActual7 = 0, balaseneActual8 = 0, balaseneActual9 = 0;
  498. Balaenemiga** balaenemigas = new Balaenemiga *[balasene];
  499. for (short i = 0; i < balasene; ++i) {
  500. balaenemigas[i] = NULL;
  501. }
  502. Balaenemiga** balaenemigas1 = new Balaenemiga *[balasene];
  503. for (short i = 0; i < balasene; ++i) {
  504. balaenemigas1[i] = NULL;
  505. }
  506. Balaenemiga** balaenemigas2 = new Balaenemiga *[balasene];
  507. for (short i = 0; i < balasene; ++i) {
  508. balaenemigas2[i] = NULL;
  509. }
  510. Balaenemiga** balaenemigas3 = new Balaenemiga *[balasene];
  511. for (short i = 0; i < balasene; ++i) {
  512. balaenemigas3[i] = NULL;
  513. }
  514. Balaenemiga** balaenemigas4 = new Balaenemiga *[balasene];
  515. for (short i = 0; i < balasene; ++i) {
  516. balaenemigas4[i] = NULL;
  517. }
  518. Balaenemiga** balaenemigas5 = new Balaenemiga *[balasene];
  519. for (short i = 0; i < balasene; ++i) {
  520. balaenemigas5[i] = NULL;
  521. }
  522. Balaenemiga** balaenemigas6 = new Balaenemiga *[balasene];
  523. for (short i = 0; i < balasene; ++i) {
  524. balaenemigas6[i] = NULL;
  525. }
  526. Balaenemiga** balaenemigas7 = new Balaenemiga *[balasene];
  527. for (short i = 0; i < balasene; ++i) {
  528. balaenemigas7[i] = NULL;
  529. }
  530. Balaenemiga** balaenemigas8 = new Balaenemiga *[balasene];
  531. for (short i = 0; i < balasene; ++i) {
  532. balaenemigas8[i] = NULL;
  533. }
  534. Balaenemiga** balaenemigas9 = new Balaenemiga *[balasene];
  535. for (short i = 0; i < balasene; ++i) {
  536. balaenemigas9[i] = NULL;
  537. }
  538. Bala * *balas = new Bala *[nBalas];
  539. for (short i = 0; i < nBalas; ++i)
  540. balas[i] = NULL;
  541. Nave* nave = new Nave(LIMITE_ANCHO / 2 - 3, LIMITE_ALTO - 3, nBalas);
  542. NaveEnemiga enemiga1 = NaveEnemiga(aleartorio(1, LIMITE_ANCHO - 5), aleartorio(2, LIMITE_ALTO - 10), -1, +1);
  543. NaveEnemiga enemiga2 = NaveEnemiga(aleartorio(1, LIMITE_ANCHO - 5), aleartorio(2, LIMITE_ALTO - 10), -1, +1);
  544. NaveEnemiga enemiga3 = NaveEnemiga(aleartorio(1, LIMITE_ANCHO - 5), aleartorio(2, LIMITE_ALTO - 10), -1, +1);
  545. NaveEnemiga enemiga4 = NaveEnemiga(aleartorio(1, LIMITE_ANCHO - 5), aleartorio(2, LIMITE_ALTO - 10), -1, +1);
  546. NaveEnemiga enemiga5 = NaveEnemiga(aleartorio(1, LIMITE_ANCHO - 5), aleartorio(2, LIMITE_ALTO - 10), -1, +1);
  547. NaveEnemiga enemiga6 = NaveEnemiga(aleartorio(1, LIMITE_ANCHO - 5), aleartorio(2, LIMITE_ALTO - 10), -1, +1);
  548. NaveEnemiga enemiga7 = NaveEnemiga(aleartorio(1, LIMITE_ANCHO - 5), aleartorio(2, LIMITE_ALTO - 10), -1, +1);
  549. NaveEnemiga enemiga8 = NaveEnemiga(aleartorio(1, LIMITE_ANCHO - 5), aleartorio(2, LIMITE_ALTO - 10), -1, +1);
  550. NaveEnemiga enemiga9 = NaveEnemiga(aleartorio(1, LIMITE_ANCHO - 5), aleartorio(2, LIMITE_ALTO - 10), -1, +1);
  551. NaveEnemiga1 ene1 = NaveEnemiga1(aleartorio(1, LIMITE_ANCHO - 5), aleartorio(2, LIMITE_ALTO - 10), -1, +1);
  552. NaveEnemiga1 ene2 = NaveEnemiga1(aleartorio(1, LIMITE_ANCHO - 5), aleartorio(2, LIMITE_ALTO - 10), -1, +1);
  553. NaveEnemiga1 ene3 = NaveEnemiga1(aleartorio(1, LIMITE_ANCHO - 5), aleartorio(2, LIMITE_ALTO - 10), -1, +1);
  554. NaveEnemiga1 ene4 = NaveEnemiga1(aleartorio(1, LIMITE_ANCHO - 5), aleartorio(2, LIMITE_ALTO - 10), -1, +1);
  555. NaveEnemiga1 ene5 = NaveEnemiga1(aleartorio(1, LIMITE_ANCHO - 5), aleartorio(2, LIMITE_ALTO - 10), -1, +1);
  556. NaveEnemiga1 ene6 = NaveEnemiga1(aleartorio(1, LIMITE_ANCHO - 5), aleartorio(2, LIMITE_ALTO - 10), -1, +1);
  557. NaveEnemiga1 ene7 = NaveEnemiga1(aleartorio(1, LIMITE_ANCHO - 5), aleartorio(2, LIMITE_ALTO - 10), -1, +1);
  558. NaveEnemiga1 ene8 = NaveEnemiga1(aleartorio(1, LIMITE_ANCHO - 5), aleartorio(2, LIMITE_ALTO - 10), -1, +1);
  559. NaveEnemiga1 ene9 = NaveEnemiga1(aleartorio(1, LIMITE_ANCHO - 5), aleartorio(2, LIMITE_ALTO - 10), -1, +1);
  560. NaveEnemiga1 ene10 = NaveEnemiga1(aleartorio(1, LIMITE_ANCHO - 5), aleartorio(2, LIMITE_ALTO - 10), -1, +1);
  561. NaveEnemiga2 e1 = NaveEnemiga2(aleartorio(1, LIMITE_ANCHO - 5), aleartorio(2, LIMITE_ALTO - 10), -1, +1, balasene);
  562. NaveEnemiga2 e2 = NaveEnemiga2(aleartorio(1, LIMITE_ANCHO - 5), aleartorio(2, LIMITE_ALTO - 10), -1, +1, balasene);
  563. NaveEnemiga2 e3 = NaveEnemiga2(aleartorio(1, LIMITE_ANCHO - 5), aleartorio(2, LIMITE_ALTO - 10), -1, +1, balasene);
  564. NaveEnemiga2 e4 = NaveEnemiga2(aleartorio(1, LIMITE_ANCHO - 5), aleartorio(2, LIMITE_ALTO - 10), -1, +1, balasene);
  565. NaveEnemiga2 e5 = NaveEnemiga2(aleartorio(1, LIMITE_ANCHO - 5), aleartorio(2, LIMITE_ALTO - 10), -1, +1, balasene);
  566. NaveEnemiga2 e6 = NaveEnemiga2(aleartorio(1, LIMITE_ANCHO - 5), aleartorio(2, LIMITE_ALTO - 10), -1, +1, balasene);
  567. NaveEnemiga2 e7 = NaveEnemiga2(aleartorio(1, LIMITE_ANCHO - 5), aleartorio(2, LIMITE_ALTO - 10), -1, +1, balasene);
  568. NaveEnemiga2 e8 = NaveEnemiga2(aleartorio(1, LIMITE_ANCHO - 5), aleartorio(2, LIMITE_ALTO - 10), -1, +1, balasene);
  569. NaveEnemiga2 e9 = NaveEnemiga2(aleartorio(1, LIMITE_ANCHO - 5), aleartorio(2, LIMITE_ALTO - 10), -1, +1, balasene);
  570. NaveEnemiga2 e10 = NaveEnemiga2(aleartorio(1, LIMITE_ANCHO - 5), aleartorio(2, LIMITE_ALTO - 10), -1, +1, balasene);
  571. Estrellas* es = new Estrellas[30];
  572. Pantalla_de_Incio();
  573. Marco();
  574.  
  575. nave->animar(Direccion(Arriba));
  576. while (true) {
  577. if (score == 12500 && Nivel4 == 0) { //Nivel 2 a Nivel 3
  578. Console::SetCursorPosition(LIMITE_ANCHO / 2 - 5, LIMITE_ALTO / 2);
  579. cout << "Nivel 4";
  580. if (niv3 == 60) {
  581. Console::SetCursorPosition(LIMITE_ANCHO / 2 - 5, LIMITE_ALTO / 2);
  582. cout << " ";
  583. Nivel4 = 1;
  584. }
  585. niv3++;
  586. }
  587. if (score == 7500 && Nivel3 == 0) { //Nivel 2 a Nivel 3
  588. Console::SetCursorPosition(LIMITE_ANCHO / 2 - 5, LIMITE_ALTO / 2);
  589. cout << "Nivel 3";
  590. if (Niv2 == 60) {
  591. Console::SetCursorPosition(LIMITE_ANCHO / 2 - 5, LIMITE_ALTO / 2);
  592. cout << " ";
  593. Nivel3 = 1;
  594. }
  595. Niv2++;
  596.  
  597. }
  598. if (score == 2500 && Nivel2 == 0) { //Nivel 1 a Nivel 2
  599. Console::SetCursorPosition(LIMITE_ANCHO / 2 - 5, LIMITE_ALTO / 2);
  600. cout << "Nivel 2";
  601. if (niv1 == 60) {
  602. Console::SetCursorPosition(LIMITE_ANCHO / 2 - 5, LIMITE_ALTO / 2);
  603. cout << " ";
  604. Nivel2 = 1;
  605. }
  606. niv1++;
  607.  
  608. }
  609. if (score == 0 && Nivel1 == 0) { //Nivel 2 a Nivel 3
  610. Console::SetCursorPosition(LIMITE_ANCHO / 2 - 5, LIMITE_ALTO / 2);
  611. cout << "Nivel 1";
  612. if (niv0 == 60) {
  613. Console::SetCursorPosition(LIMITE_ANCHO / 2 - 5, LIMITE_ALTO / 2);
  614. cout << " ";
  615. Nivel1 = 1;
  616. }
  617. niv0++;
  618. }
  619. /*******************************************************************************/
  620. if (Nivel1 == 1) {
  621.  
  622. if (enemiga1._vidas == 20) {
  623. enemiga1.animar();
  624. for (int i = 0; i < nBalas; ++i) {
  625. if (balas[i] != NULL) {
  626. if ((balas[i]->_x == enemiga1._x + 2 && balas[i]->_y == enemiga1._y) || (balas[i]->_x == enemiga1._x && balas[i]->_y == enemiga1._y) || (balas[i]->_x == enemiga1._x + 1 && balas[i]->_y == enemiga1._y) || (balas[i]->_x == enemiga1._x + 3 && balas[i]->_y == enemiga1._y) || (balas[i]->_x == enemiga1._x + 4 && balas[i]->_y == enemiga1._y)) {
  627. enemiga1._vidas = 19;
  628.  
  629. score += 100;
  630. retraso = 0;
  631. }
  632. }
  633.  
  634. }
  635. }
  636. if (enemiga1._vidas == 19) {
  637. enemiga1.borrar();
  638. Console::SetCursorPosition(enemiga1._x + 1, enemiga1._y);
  639. cout << "100";
  640.  
  641. if (retraso == 30) {
  642. Console::SetCursorPosition(enemiga1._x + 1, enemiga1._y);
  643. cout << " ";
  644. enemiga1._vidas = 18;
  645. }
  646. retraso++;
  647. if (enemiga1._vidas == 18)
  648. retraso = 0;
  649. }
  650.  
  651. if (enemiga2._vidas == 20) {
  652. enemiga2.animar();
  653. for (int i = 0; i < nBalas; ++i) {
  654. if (balas[i] != NULL) {
  655. if ((balas[i]->_x == enemiga2._x + 2 && balas[i]->_y == enemiga2._y) || (balas[i]->_x == enemiga2._x + 1 && balas[i]->_y == enemiga2._y) || (balas[i]->_x == enemiga2._x && balas[i]->_y == enemiga2._y) || (balas[i]->_x == enemiga2._x + 3 && balas[i]->_y == enemiga2._y) || (balas[i]->_x == enemiga2._x + 4 && balas[i]->_y == enemiga2._y)) {
  656. enemiga2._vidas = 19;
  657.  
  658. score += 100;
  659. retraso = 0;
  660. }
  661. }
  662. }
  663. }
  664. if (enemiga2._vidas == 19) {
  665. enemiga2.borrar();
  666. Console::SetCursorPosition(enemiga2._x + 1, enemiga2._y);
  667. cout << "100";
  668.  
  669. if (retraso == 30) {
  670. Console::SetCursorPosition(enemiga2._x + 1, enemiga2._y);
  671. cout << " ";
  672. enemiga2._vidas = 18;
  673. }
  674. retraso++;
  675. if (enemiga2._vidas == 18)
  676. retraso = 0;
  677.  
  678. }
  679.  
  680. if (enemiga3._vidas == 20) {
  681. enemiga3.animar();
  682. for (int i = 0; i < nBalas; ++i) {
  683. if (balas[i] != NULL) {
  684. if ((balas[i]->_x == enemiga3._x + 2 && balas[i]->_y == enemiga3._y) || (balas[i]->_x == enemiga3._x && balas[i]->_y == enemiga3._y) || (balas[i]->_x == enemiga3._x + 1 && balas[i]->_y == enemiga3._y) || (balas[i]->_x == enemiga3._x + 3 && balas[i]->_y == enemiga3._y) || (balas[i]->_x == enemiga3._x + 4 && balas[i]->_y == enemiga3._y)) {
  685. enemiga3._vidas = 19;
  686.  
  687. score += 100;
  688. retraso = 0;
  689. }
  690. }
  691.  
  692. }
  693. }
  694. if (enemiga3._vidas == 19) {
  695. enemiga3.borrar();
  696. Console::SetCursorPosition(enemiga3._x + 1, enemiga3._y);
  697. cout << "100";
  698.  
  699. if (retraso == 30) {
  700. Console::SetCursorPosition(enemiga3._x + 1, enemiga3._y);
  701. cout << " ";
  702. enemiga3._vidas = 18;
  703. }
  704. retraso++;
  705. if (enemiga3._vidas == 18)
  706. retraso = 0;
  707. }
  708.  
  709. if (enemiga4._vidas == 20) {
  710. enemiga4.animar();
  711. for (int i = 0; i < nBalas; ++i) {
  712. if (balas[i] != NULL) {
  713. if ((balas[i]->_x == enemiga4._x + 2 && balas[i]->_y == enemiga4._y) || (balas[i]->_x == enemiga4._x && balas[i]->_y == enemiga4._y) || (balas[i]->_x == enemiga4._x + 1 && balas[i]->_y == enemiga4._y) || (balas[i]->_x == enemiga4._x + 3 && balas[i]->_y == enemiga4._y) || (balas[i]->_x == enemiga4._x + 4 && balas[i]->_y == enemiga4._y)) {
  714. enemiga4._vidas = 19;
  715.  
  716. score += 100;
  717. retraso = 0;
  718. }
  719. }
  720.  
  721. }
  722. }
  723. if (enemiga4._vidas == 19) {
  724. enemiga4.borrar();
  725. Console::SetCursorPosition(enemiga4._x + 1, enemiga4._y);
  726. cout << "100";
  727.  
  728. if (retraso == 30) {
  729. Console::SetCursorPosition(enemiga4._x + 1, enemiga4._y);
  730. cout << " ";
  731. enemiga4._vidas = 18;
  732. }
  733. retraso++;
  734. if (enemiga4._vidas == 18)
  735. retraso = 0;
  736. }
  737.  
  738. if (enemiga5._vidas == 20) {
  739. enemiga5.animar();
  740. for (int i = 0; i < nBalas; ++i) {
  741. if (balas[i] != NULL) {
  742. if ((balas[i]->_x == enemiga5._x + 2 && balas[i]->_y == enemiga5._y) || (balas[i]->_x == enemiga5._x && balas[i]->_y == enemiga5._y) || (balas[i]->_x == enemiga5._x + 1 && balas[i]->_y == enemiga5._y) || (balas[i]->_x == enemiga5._x + 3 && balas[i]->_y == enemiga5._y) || (balas[i]->_x == enemiga5._x + 4 && balas[i]->_y == enemiga5._y)) {
  743. enemiga5._vidas = 19;
  744.  
  745. score += 100;
  746. retraso = 0;
  747. }
  748. }
  749.  
  750. }
  751. }
  752. if (enemiga5._vidas == 19) {
  753. enemiga5.borrar();
  754. Console::SetCursorPosition(enemiga5._x + 1, enemiga5._y);
  755. cout << "100";
  756.  
  757. if (retraso == 30) {
  758. Console::SetCursorPosition(enemiga5._x + 1, enemiga5._y);
  759. cout << " ";
  760. enemiga5._vidas = 18;
  761. }
  762. retraso++;
  763. if (enemiga5._vidas == 18)
  764. retraso = 0;
  765. }
  766.  
  767. if (enemiga6._vidas == 20) {
  768. enemiga6.animar();
  769. for (int i = 0; i < nBalas; ++i) {
  770. if (balas[i] != NULL) {
  771. if ((balas[i]->_x == enemiga6._x + 2 && balas[i]->_y == enemiga6._y) || (balas[i]->_x == enemiga6._x && balas[i]->_y == enemiga6._y) || (balas[i]->_x == enemiga6._x + 1 && balas[i]->_y == enemiga6._y) || (balas[i]->_x == enemiga6._x + 3 && balas[i]->_y == enemiga6._y) || (balas[i]->_x == enemiga6._x + 4 && balas[i]->_y == enemiga6._y)) {
  772. enemiga6._vidas = 19;
  773.  
  774. score += 100;
  775. retraso = 0;
  776. }
  777. }
  778.  
  779. }
  780. }
  781. if (enemiga6._vidas == 19) {
  782. enemiga6.borrar();
  783. Console::SetCursorPosition(enemiga6._x + 1, enemiga6._y);
  784. cout << "100";
  785.  
  786. if (retraso == 30) {
  787. Console::SetCursorPosition(enemiga6._x + 1, enemiga6._y);
  788. cout << " ";
  789. enemiga6._vidas = 18;
  790. }
  791. retraso++;
  792. if (enemiga6._vidas == 18)
  793. retraso = 0;
  794. }
  795.  
  796. if (enemiga7._vidas == 20) {
  797. enemiga7.animar();
  798. for (int i = 0; i < nBalas; ++i) {
  799. if (balas[i] != NULL) {
  800. if ((balas[i]->_x == enemiga7._x + 2 && balas[i]->_y == enemiga7._y) || (balas[i]->_x == enemiga7._x && balas[i]->_y == enemiga7._y) || (balas[i]->_x == enemiga7._x + 1 && balas[i]->_y == enemiga7._y) || (balas[i]->_x == enemiga7._x + 3 && balas[i]->_y == enemiga7._y) || (balas[i]->_x == enemiga7._x + 4 && balas[i]->_y == enemiga7._y)) {
  801. enemiga7._vidas = 19;
  802.  
  803. score += 100;
  804. retraso = 0;
  805. }
  806. }
  807.  
  808. }
  809. }
  810. if (enemiga7._vidas == 19) {
  811. enemiga7.borrar();
  812. Console::SetCursorPosition(enemiga7._x + 1, enemiga7._y);
  813. cout << "100";
  814.  
  815. if (retraso == 30) {
  816. Console::SetCursorPosition(enemiga7._x + 1, enemiga7._y);
  817. cout << " ";
  818. enemiga7._vidas = 18;
  819. }
  820. retraso++;
  821. if (enemiga7._vidas == 18)
  822. retraso = 0;
  823. }
  824.  
  825.  
  826. if (enemiga8._vidas == 20) {
  827. enemiga8.animar();
  828. for (int i = 0; i < nBalas; ++i) {
  829. if (balas[i] != NULL) {
  830. if ((balas[i]->_x == enemiga8._x + 2 && balas[i]->_y == enemiga8._y) || (balas[i]->_x == enemiga8._x && balas[i]->_y == enemiga8._y) || (balas[i]->_x == enemiga8._x + 1 && balas[i]->_y == enemiga8._y) || (balas[i]->_x == enemiga8._x + 3 && balas[i]->_y == enemiga8._y) || (balas[i]->_x == enemiga8._x + 4 && balas[i]->_y == enemiga8._y)) {
  831. enemiga8._vidas = 19;
  832.  
  833. score += 100;
  834. retraso = 0;
  835. }
  836. }
  837.  
  838. }
  839. }
  840. if (enemiga8._vidas == 19) {
  841. enemiga8.borrar();
  842. Console::SetCursorPosition(enemiga8._x + 1, enemiga8._y);
  843. cout << "100";
  844.  
  845. if (retraso == 30) {
  846. Console::SetCursorPosition(enemiga8._x + 1, enemiga8._y);
  847. cout << " ";
  848. enemiga8._vidas = 18;
  849. }
  850. retraso++;
  851. if (enemiga8._vidas == 18)
  852. retraso = 0;
  853. }
  854.  
  855. if (enemiga9._vidas == 20) {
  856. enemiga9.animar();
  857. for (int i = 0; i < nBalas; ++i) {
  858. if (balas[i] != NULL) {
  859. if ((balas[i]->_x == enemiga9._x + 2 && balas[i]->_y == enemiga9._y) || (balas[i]->_x == enemiga9._x && balas[i]->_y == enemiga9._y) || (balas[i]->_x == enemiga9._x + 1 && balas[i]->_y == enemiga9._y) || (balas[i]->_x == enemiga9._x + 3 && balas[i]->_y == enemiga9._y) || (balas[i]->_x == enemiga9._x + 4 && balas[i]->_y == enemiga9._y)) {
  860. enemiga9._vidas = 19;
  861.  
  862. score += 100;
  863. retraso = 0;
  864. }
  865. }
  866.  
  867. }
  868. }
  869. if (enemiga9._vidas == 19) {
  870. enemiga9.borrar();
  871. Console::SetCursorPosition(enemiga9._x + 1, enemiga9._y);
  872. cout << "100";
  873.  
  874. if (retraso == 30) {
  875. Console::SetCursorPosition(enemiga9._x + 1, enemiga9._y);
  876. cout << " ";
  877. enemiga9._vidas = 18;
  878. }
  879. retraso++;
  880. if (enemiga9._vidas == 18)
  881. retraso = 0;
  882. }
  883.  
  884.  
  885. /********************************************************************************/
  886. if (ene1._vidas == 20) {
  887. ene1.animar();
  888. for (int i = 0; i < nBalas; ++i) {
  889. if (balas[i] != NULL) {
  890. if ((balas[i]->_x == ene1._x + 2 && balas[i]->_y == ene1._y) || (balas[i]->_x == ene1._x && balas[i]->_y == ene1._y) || (balas[i]->_x == ene1._x + 1 && balas[i]->_y == ene1._y) ||
  891. (balas[i]->_x == ene1._x + 3 && balas[i]->_y == ene1._y) || (balas[i]->_x == ene1._x + 4 && balas[i]->_y == ene1._y)) {
  892. ene1._vidas = 19;
  893. score += 300;
  894. retraso = 0;
  895. }
  896. }
  897.  
  898. }
  899. }
  900. if (ene1._vidas == 19) {
  901. ene1.borrar();
  902. Console::SetCursorPosition(ene1._x + 1, ene1._y);
  903. cout << "300";
  904.  
  905. if (retraso == 30) {
  906. Console::SetCursorPosition(ene1._x + 1, ene1._y);
  907. cout << " ";
  908. ene1._vidas = 18;
  909. }
  910. retraso++;
  911. if (ene1._vidas == 18)
  912. retraso = 0;
  913.  
  914. }
  915. if (ene2._vidas == 20) {
  916. ene2.animar();
  917. for (int i = 0; i < nBalas; ++i) {
  918. if (balas[i] != NULL) {
  919. if ((balas[i]->_x == ene2._x + 2 && balas[i]->_y == ene2._y) || (balas[i]->_x == ene2._x && balas[i]->_y == ene2._y) || (balas[i]->_x == ene2._x + 1 && balas[i]->_y == ene2._y) ||
  920. (balas[i]->_x == ene2._x + 3 && balas[i]->_y == ene2._y) || (balas[i]->_x == ene2._x + 4 && balas[i]->_y == ene2._y)) {
  921. ene2._vidas = 19;
  922. score += 300;
  923. retraso = 0;
  924. }
  925. }
  926.  
  927. }
  928. }
  929. if (ene2._vidas == 19) {
  930. ene2.borrar();
  931. Console::SetCursorPosition(ene2._x + 1, ene2._y);
  932. cout << "300";
  933.  
  934. if (retraso == 30) {
  935. Console::SetCursorPosition(ene2._x + 1, ene2._y);
  936. cout << " ";
  937. ene2._vidas = 18;
  938. }
  939. retraso++;
  940. if (ene2._vidas == 18)
  941. retraso = 0;
  942.  
  943. }
  944. /****************************************************************************/
  945. if (e1._vidas == 30 || e1._vidas == 29) {
  946. e1.animar();
  947. if (e1._x == nave->_x && retrasobala == 0) {
  948.  
  949. balaenemigas[balaseneActual] = e1.disparar();
  950.  
  951. balaseneActual++;
  952. retrasobala = 1;
  953. }
  954.  
  955.  
  956. for (short i = 0; i < balaseneActual; ++i) {
  957. if (i == balaseneActual - 4)
  958. balaenemigas[i]->animar();
  959. retrasobala = 0;
  960. }
  961. for (int i = 0; i < nBalas; ++i) {
  962. if (balas[i] != NULL) {
  963. if ((balas[i]->_x == e1._x + 2 && balas[i]->_y == e1._y) || (balas[i]->_x == e1._x && balas[i]->_y == e1._y) || (balas[i]->_x == e1._x + 1 && balas[i]->_y == e1._y) ||
  964. (balas[i]->_x == e1._x + 3 && balas[i]->_y == e1._y) || (balas[i]->_x == e1._x + 4 && balas[i]->_y == e1._y)) {
  965. e1._vidas--;
  966. if (e1._vidas == 28)
  967. score += 500;
  968. retraso = 0;
  969. }
  970. }
  971. }
  972. for (int i = 0; i < balasene; ++i) {
  973. if (balaenemigas[i] != NULL) {
  974. if ((balaenemigas[i]->_x == nave->_x + 2 && balaenemigas[i]->_y == nave->_y) || (balaenemigas[i]->_x == nave->_x && balaenemigas[i]->_y == nave->_y) || (balaenemigas[i]->_x == nave->_x + 1 && balaenemigas[i]->_y == nave->_y) ||
  975. (balaenemigas[i]->_x == nave->_x + 3 && balaenemigas[i]->_y == nave->_y) || (balaenemigas[i]->_x == nave->_x + 4 && balaenemigas[i]->_y == nave->_y) && algo == 0) {
  976. nave->borrar();
  977. balaenemigas[i]->borrar();
  978. Console::SetCursorPosition(LIMITE_ANCHO / 2 - 3, LIMITE_ALTO - 3);
  979. nave->_x = LIMITE_ANCHO / 2 - 3; nave->_y = LIMITE_ALTO - 3;
  980. nave->dibujar();
  981. nave->_vidas--;
  982. retraso = 0;
  983. algo = 1;
  984. }
  985. else if (balaenemigas[i]->_y == LIMITE_ALTO) {
  986. balaenemigas[i]->borrar();
  987.  
  988. }
  989.  
  990. }
  991. }
  992. }
  993. if (e1._vidas == 28) {
  994. e1.borrar();
  995. Console::SetCursorPosition(e1._x + 1, e1._y);
  996. cout << "500";
  997.  
  998. if (retraso == 30) {
  999. Console::SetCursorPosition(e1._x + 1, e1._y);
  1000. cout << " ";
  1001. e1._vidas = 27;
  1002. }
  1003. retraso++;
  1004. if (e1._vidas == 27)
  1005. retraso = 0;
  1006.  
  1007. }
  1008. if (e2._vidas == 30 || e2._vidas == 29) {
  1009. e2.animar();
  1010. if (e2._x == nave->_x && retrasobala1 == 0) {
  1011.  
  1012. balaenemigas1[balaseneActual1] = e2.disparar();
  1013.  
  1014. balaseneActual1++;
  1015. retrasobala1 = 1;
  1016. }
  1017.  
  1018.  
  1019. for (short i = 0; i < balaseneActual1; ++i) {
  1020. if (i == balaseneActual1 - 4)
  1021. balaenemigas1[i]->animar();
  1022. retrasobala1 = 0;
  1023. }
  1024. for (int i = 0; i < nBalas; ++i) {
  1025. if (balas[i] != NULL) {
  1026. if ((balas[i]->_x == e2._x + 2 && balas[i]->_y == e2._y) || (balas[i]->_x == e2._x && balas[i]->_y == e2._y) || (balas[i]->_x == e2._x + 1 && balas[i]->_y == e2._y) ||
  1027. (balas[i]->_x == e2._x + 3 && balas[i]->_y == e2._y) || (balas[i]->_x == e2._x + 4 && balas[i]->_y == e2._y)) {
  1028. e2._vidas--;
  1029. if (e2._vidas == 28)
  1030. score += 500;
  1031. retraso = 0;
  1032. }
  1033. }
  1034. }
  1035. for (int i = 0; i < balasene; ++i) {
  1036. if (balaenemigas1[i] != NULL) {
  1037. if ((balaenemigas1[i]->_x == nave->_x + 2 && balaenemigas1[i]->_y == nave->_y) || (balaenemigas1[i]->_x == nave->_x && balaenemigas1[i]->_y == nave->_y) || (balaenemigas1[i]->_x == nave->_x + 1 && balaenemigas1[i]->_y == nave->_y) ||
  1038. (balaenemigas1[i]->_x == nave->_x + 3 && balaenemigas1[i]->_y == nave->_y) || (balaenemigas1[i]->_x == nave->_x + 4 && balaenemigas1[i]->_y == nave->_y) && algo1 == 0) {
  1039. nave->borrar();
  1040. Console::SetCursorPosition(LIMITE_ANCHO / 2 - 3, LIMITE_ALTO - 3);
  1041. nave->_x = LIMITE_ANCHO / 2 - 3; nave->_y = LIMITE_ALTO - 3;
  1042. nave->dibujar();
  1043. nave->_vidas--;
  1044. retraso = 0;
  1045. algo1 = 1;
  1046. }
  1047. }
  1048. }
  1049. }
  1050. if (e2._vidas == 28) {
  1051. e2.borrar();
  1052. Console::SetCursorPosition(e2._x + 1, e2._y);
  1053. cout << "500";
  1054.  
  1055. if (retraso == 30) {
  1056. Console::SetCursorPosition(e2._x + 1, e2._y);
  1057. cout << " ";
  1058. e2._vidas = 27;
  1059. }
  1060. retraso++;
  1061. if (e2._vidas == 27)
  1062. retraso = 0;
  1063.  
  1064. }
  1065. }
  1066. if (Nivel2 == 1) {
  1067. zzz = 25;
  1068. if (ene4._vidas == 20) {
  1069. ene4.animar();
  1070. for (int i = 0; i < nBalas; ++i) {
  1071. if (balas[i] != NULL) {
  1072. if ((balas[i]->_x == ene4._x + 2 && balas[i]->_y == ene4._y) || (balas[i]->_x == ene4._x && balas[i]->_y == ene4._y) || (balas[i]->_x == ene4._x + 1 && balas[i]->_y == ene4._y) ||
  1073. (balas[i]->_x == ene4._x + 3 && balas[i]->_y == ene4._y) || (balas[i]->_x == ene4._x + 4 && balas[i]->_y == ene4._y)) {
  1074. ene4._vidas = 19;
  1075. score += 300;
  1076. retraso = 0;
  1077. }
  1078. }
  1079.  
  1080. }
  1081. }
  1082. if (ene4._vidas == 19) {
  1083. ene4.borrar();
  1084. Console::SetCursorPosition(ene4._x + 1, ene4._y);
  1085. cout << "300";
  1086.  
  1087. if (retraso == 30) {
  1088. Console::SetCursorPosition(ene4._x + 1, ene4._y);
  1089. cout << " ";
  1090. ene4._vidas = 18;
  1091. }
  1092. retraso++;
  1093. if (ene4._vidas == 18)
  1094. retraso = 0;
  1095.  
  1096. }
  1097. if (ene1._vidas == 18) {
  1098. ene1.animar();
  1099. for (int i = 0; i < nBalas; ++i) {
  1100. if (balas[i] != NULL) {
  1101. if ((balas[i]->_x == ene1._x + 2 && balas[i]->_y == ene1._y) || (balas[i]->_x == ene1._x && balas[i]->_y == ene1._y) || (balas[i]->_x == ene1._x + 1 && balas[i]->_y == ene1._y) ||
  1102. (balas[i]->_x == ene1._x + 3 && balas[i]->_y == ene1._y) || (balas[i]->_x == ene1._x + 4 && balas[i]->_y == ene1._y)) {
  1103. ene1._vidas = 17;
  1104. score += 300;
  1105. retraso = 0;
  1106. }
  1107. }
  1108.  
  1109. }
  1110. }
  1111. if (ene1._vidas == 17) {
  1112. ene1.borrar();
  1113. Console::SetCursorPosition(ene1._x + 1, ene1._y);
  1114. cout << "300";
  1115.  
  1116. if (retraso == 30) {
  1117. Console::SetCursorPosition(ene1._x + 1, ene1._y);
  1118. cout << " ";
  1119. ene1._vidas = 16;
  1120. }
  1121. retraso++;
  1122. if (ene1._vidas == 16)
  1123. retraso = 0;
  1124.  
  1125. }
  1126. if (ene2._vidas == 18) {
  1127. ene2.animar();
  1128. for (int i = 0; i < nBalas; ++i) {
  1129. if (balas[i] != NULL) {
  1130. if ((balas[i]->_x == ene2._x + 2 && balas[i]->_y == ene2._y) || (balas[i]->_x == ene2._x && balas[i]->_y == ene2._y) || (balas[i]->_x == ene2._x + 1 && balas[i]->_y == ene2._y) ||
  1131. (balas[i]->_x == ene2._x + 3 && balas[i]->_y == ene2._y) || (balas[i]->_x == ene2._x + 4 && balas[i]->_y == ene2._y)) {
  1132. ene2._vidas = 17;
  1133. score += 300;
  1134. retraso = 0;
  1135. }
  1136. }
  1137.  
  1138. }
  1139. }
  1140. if (ene2._vidas == 17) {
  1141. ene2.borrar();
  1142. Console::SetCursorPosition(ene2._x + 1, ene2._y);
  1143. cout << "300";
  1144.  
  1145. if (retraso == 30) {
  1146. Console::SetCursorPosition(ene2._x + 1, ene2._y);
  1147. cout << " ";
  1148. ene2._vidas = 16;
  1149. }
  1150. retraso++;
  1151. if (ene2._vidas == 16)
  1152. retraso = 0;
  1153.  
  1154. }
  1155. if (ene3._vidas == 20) {
  1156. ene3.animar();
  1157. for (int i = 0; i < nBalas; ++i) {
  1158. if (balas[i] != NULL) {
  1159. if ((balas[i]->_x == ene3._x + 2 && balas[i]->_y == ene3._y) || (balas[i]->_x == ene3._x && balas[i]->_y == ene3._y) || (balas[i]->_x == ene3._x + 1 && balas[i]->_y == ene3._y) ||
  1160. (balas[i]->_x == ene3._x + 3 && balas[i]->_y == ene3._y) || (balas[i]->_x == ene3._x + 4 && balas[i]->_y == ene3._y)) {
  1161. ene3._vidas = 19;
  1162. score += 300;
  1163. retraso = 0;
  1164. }
  1165. }
  1166.  
  1167. }
  1168. }
  1169. if (ene3._vidas == 19) {
  1170. ene3.borrar();
  1171. Console::SetCursorPosition(ene3._x + 1, ene3._y);
  1172. cout << "300";
  1173.  
  1174. if (retraso == 30) {
  1175. Console::SetCursorPosition(ene3._x + 1, ene3._y);
  1176. cout << " ";
  1177. ene3._vidas = 18;
  1178. }
  1179. retraso++;
  1180. if (ene3._vidas == 18)
  1181. retraso = 0;
  1182.  
  1183. }
  1184. if (ene5._vidas == 20) {
  1185. ene5.animar();
  1186. for (int i = 0; i < nBalas; ++i) {
  1187. if (balas[i] != NULL) {
  1188. if ((balas[i]->_x == ene5._x + 2 && balas[i]->_y == ene5._y) || (balas[i]->_x == ene5._x && balas[i]->_y == ene5._y) || (balas[i]->_x == ene5._x + 1 && balas[i]->_y == ene5._y) ||
  1189. (balas[i]->_x == ene5._x + 3 && balas[i]->_y == ene5._y) || (balas[i]->_x == ene5._x + 4 && balas[i]->_y == ene5._y)) {
  1190. ene5._vidas = 19;
  1191. score += 300;
  1192. retraso = 0;
  1193. }
  1194. }
  1195.  
  1196. }
  1197. }
  1198. if (ene5._vidas == 19) {
  1199. ene5.borrar();
  1200. Console::SetCursorPosition(ene5._x + 1, ene5._y);
  1201. cout << "300";
  1202.  
  1203. if (retraso == 30) {
  1204. Console::SetCursorPosition(ene5._x + 1, ene5._y);
  1205. cout << " ";
  1206. ene5._vidas = 18;
  1207. }
  1208. retraso++;
  1209. if (ene5._vidas == 18)
  1210. retraso = 0;
  1211.  
  1212. }
  1213. if (ene6._vidas == 20) {
  1214. ene6.animar();
  1215. for (int i = 0; i < nBalas; ++i) {
  1216. if (balas[i] != NULL) {
  1217. if ((balas[i]->_x == ene6._x + 2 && balas[i]->_y == ene6._y) || (balas[i]->_x == ene6._x && balas[i]->_y == ene6._y) || (balas[i]->_x == ene6._x + 1 && balas[i]->_y == ene6._y) ||
  1218. (balas[i]->_x == ene6._x + 3 && balas[i]->_y == ene6._y) || (balas[i]->_x == ene6._x + 4 && balas[i]->_y == ene6._y)) {
  1219. ene6._vidas = 19;
  1220. score += 300;
  1221. retraso = 0;
  1222. }
  1223. }
  1224.  
  1225. }
  1226. }
  1227. if (ene6._vidas == 19) {
  1228. ene6.borrar();
  1229. Console::SetCursorPosition(ene6._x + 1, ene6._y);
  1230. cout << "300";
  1231.  
  1232. if (retraso == 30) {
  1233. Console::SetCursorPosition(ene6._x + 1, ene6._y);
  1234. cout << " ";
  1235. ene6._vidas = 18;
  1236. }
  1237. retraso++;
  1238. if (ene6._vidas == 18)
  1239. retraso = 0;
  1240.  
  1241. }
  1242. if (ene7._vidas == 20) {
  1243. ene7.animar();
  1244. for (int i = 0; i < nBalas; ++i) {
  1245. if (balas[i] != NULL) {
  1246. if ((balas[i]->_x == ene7._x + 2 && balas[i]->_y == ene7._y) || (balas[i]->_x == ene7._x && balas[i]->_y == ene7._y) || (balas[i]->_x == ene7._x + 1 && balas[i]->_y == ene7._y) ||
  1247. (balas[i]->_x == ene7._x + 3 && balas[i]->_y == ene7._y) || (balas[i]->_x == ene7._x + 4 && balas[i]->_y == ene7._y)) {
  1248. ene7._vidas = 19;
  1249. score += 300;
  1250. retraso = 0;
  1251. }
  1252. }
  1253.  
  1254. }
  1255. }
  1256. if (ene7._vidas == 19) {
  1257. ene7.borrar();
  1258. Console::SetCursorPosition(ene7._x + 1, ene7._y);
  1259. cout << "300";
  1260.  
  1261. if (retraso == 30) {
  1262. Console::SetCursorPosition(ene7._x + 1, ene7._y);
  1263. cout << " ";
  1264. ene7._vidas = 18;
  1265. }
  1266. retraso++;
  1267. if (ene7._vidas == 18)
  1268. retraso = 0;
  1269.  
  1270. }
  1271. if (ene8._vidas == 20) {
  1272. ene8.animar();
  1273. for (int i = 0; i < nBalas; ++i) {
  1274. if (balas[i] != NULL) {
  1275. if ((balas[i]->_x == ene8._x + 2 && balas[i]->_y == ene8._y) || (balas[i]->_x == ene8._x && balas[i]->_y == ene8._y) || (balas[i]->_x == ene8._x + 1 && balas[i]->_y == ene8._y) ||
  1276. (balas[i]->_x == ene8._x + 3 && balas[i]->_y == ene8._y) || (balas[i]->_x == ene8._x + 4 && balas[i]->_y == ene8._y)) {
  1277. ene8._vidas = 19;
  1278. score += 300;
  1279. retraso = 0;
  1280. }
  1281. }
  1282.  
  1283. }
  1284. }
  1285. if (ene8._vidas == 19) {
  1286. ene8.borrar();
  1287. Console::SetCursorPosition(ene8._x + 1, ene8._y);
  1288. cout << "300";
  1289.  
  1290. if (retraso == 30) {
  1291. Console::SetCursorPosition(ene8._x + 1, ene8._y);
  1292. cout << " ";
  1293. ene8._vidas = 18;
  1294. }
  1295. retraso++;
  1296. if (ene8._vidas == 18)
  1297. retraso = 0;
  1298.  
  1299. }
  1300. if (ene9._vidas == 20) {
  1301. ene9.animar();
  1302. for (int i = 0; i < nBalas; ++i) {
  1303. if (balas[i] != NULL) {
  1304. if ((balas[i]->_x == ene9._x + 2 && balas[i]->_y == ene9._y) || (balas[i]->_x == ene9._x && balas[i]->_y == ene9._y) || (balas[i]->_x == ene9._x + 1 && balas[i]->_y == ene9._y) ||
  1305. (balas[i]->_x == ene9._x + 3 && balas[i]->_y == ene9._y) || (balas[i]->_x == ene9._x + 4 && balas[i]->_y == ene9._y)) {
  1306. ene9._vidas = 19;
  1307. score += 300;
  1308. retraso = 0;
  1309. }
  1310. }
  1311.  
  1312. }
  1313. }
  1314. if (ene9._vidas == 19) {
  1315. ene9.borrar();
  1316. Console::SetCursorPosition(ene9._x + 1, ene9._y);
  1317. cout << "300";
  1318.  
  1319. if (retraso == 30) {
  1320. Console::SetCursorPosition(ene9._x + 1, ene9._y);
  1321. cout << " ";
  1322. ene9._vidas = 18;
  1323. }
  1324. retraso++;
  1325. if (ene9._vidas == 18)
  1326. retraso = 0;
  1327.  
  1328. }
  1329. if (ene10._vidas == 20) {
  1330. ene10.animar();
  1331. for (int i = 0; i < nBalas; ++i) {
  1332. if (balas[i] != NULL) {
  1333. if ((balas[i]->_x == ene10._x + 2 && balas[i]->_y == ene10._y) || (balas[i]->_x == ene10._x && balas[i]->_y == ene10._y) || (balas[i]->_x == ene10._x + 1 && balas[i]->_y == ene10._y) ||
  1334. (balas[i]->_x == ene10._x + 3 && balas[i]->_y == ene10._y) || (balas[i]->_x == ene10._x + 4 && balas[i]->_y == ene10._y)) {
  1335. ene10._vidas = 19;
  1336. score += 300;
  1337. retraso = 0;
  1338. }
  1339. }
  1340.  
  1341. }
  1342. }
  1343. if (ene10._vidas == 19) {
  1344. ene10.borrar();
  1345. Console::SetCursorPosition(ene10._x + 1, ene10._y);
  1346. cout << "300";
  1347.  
  1348. if (retraso == 30) {
  1349. Console::SetCursorPosition(ene10._x + 1, ene10._y);
  1350. cout << " ";
  1351. ene10._vidas = 18;
  1352. }
  1353. retraso++;
  1354. if (ene10._vidas == 18)
  1355. retraso = 0;
  1356.  
  1357. }
  1358. /***********************************************************************/
  1359. if (e1._vidas == 27 || e1._vidas == 26) {
  1360. e1.animar();
  1361. if (e1._x == nave->_x && retrasobala == 0) {
  1362.  
  1363. balaenemigas[balaseneActual] = e1.disparar();
  1364.  
  1365. balaseneActual++;
  1366. retrasobala = 1;
  1367. }
  1368.  
  1369.  
  1370. for (short i = 0; i < balaseneActual; ++i) {
  1371. if (i == balaseneActual - 4)
  1372. balaenemigas[i]->animar();
  1373. retrasobala = 0;
  1374. }
  1375. for (int i = 0; i < nBalas; ++i) {
  1376. if (balas[i] != NULL) {
  1377. if ((balas[i]->_x == e1._x + 2 && balas[i]->_y == e1._y) || (balas[i]->_x == e1._x && balas[i]->_y == e1._y) || (balas[i]->_x == e1._x + 1 && balas[i]->_y == e1._y) ||
  1378. (balas[i]->_x == e1._x + 3 && balas[i]->_y == e1._y) || (balas[i]->_x == e1._x + 4 && balas[i]->_y == e1._y)) {
  1379. e1._vidas--;
  1380. if (e1._vidas == 25)
  1381. score += 500;
  1382. retraso = 0;
  1383. }
  1384. }
  1385. }
  1386. for (int i = 0; i < balasene; ++i) {
  1387. if (balaenemigas[i] != NULL) {
  1388. if ((balaenemigas[i]->_x == nave->_x + 2 && balaenemigas[i]->_y == nave->_y) || (balaenemigas[i]->_x == nave->_x && balaenemigas[i]->_y == nave->_y) || (balaenemigas[i]->_x == nave->_x + 1 && balaenemigas[i]->_y == nave->_y) ||
  1389. (balaenemigas[i]->_x == nave->_x + 3 && balaenemigas[i]->_y == nave->_y) || (balaenemigas[i]->_x == nave->_x + 4 && balaenemigas[i]->_y == nave->_y) && algo == 0) {
  1390. nave->borrar();
  1391. balaenemigas[i]->borrar();
  1392. Console::SetCursorPosition(LIMITE_ANCHO / 2 - 3, LIMITE_ALTO - 3);
  1393. nave->_x = LIMITE_ANCHO / 2 - 3; nave->_y = LIMITE_ALTO - 3;
  1394. nave->dibujar();
  1395. nave->_vidas--;
  1396. retraso = 0;
  1397. algo = 1;
  1398. }
  1399. else if (balaenemigas[i]->_y == LIMITE_ALTO) {
  1400. balaenemigas[i]->borrar();
  1401.  
  1402. }
  1403.  
  1404. }
  1405. }
  1406. }
  1407. if (e1._vidas == 25) {
  1408. e1.borrar();
  1409. Console::SetCursorPosition(e1._x + 1, e1._y);
  1410. cout << "500";
  1411.  
  1412. if (retraso == 30) {
  1413. Console::SetCursorPosition(e1._x + 1, e1._y);
  1414. cout << " ";
  1415. e1._vidas = 24;
  1416. }
  1417. retraso++;
  1418. if (e1._vidas == 24)
  1419. retraso = 0;
  1420.  
  1421. }
  1422. if (e2._vidas == 27 || e2._vidas == 26) {
  1423. e2.animar();
  1424. if (e2._x == nave->_x && retrasobala == 0) {
  1425.  
  1426. balaenemigas1[balaseneActual1] = e2.disparar();
  1427.  
  1428. balaseneActual1++;
  1429. retrasobala = 1;
  1430. }
  1431.  
  1432.  
  1433. for (short i = 0; i < balaseneActual1; ++i) {
  1434. if (i == balaseneActual1 - 4)
  1435. balaenemigas1[i]->animar();
  1436. retrasobala = 0;
  1437. }
  1438. for (int i = 0; i < nBalas; ++i) {
  1439. if (balas[i] != NULL) {
  1440. if ((balas[i]->_x == e2._x + 2 && balas[i]->_y == e2._y) || (balas[i]->_x == e2._x && balas[i]->_y == e2._y) || (balas[i]->_x == e2._x + 1 && balas[i]->_y == e2._y) ||
  1441. (balas[i]->_x == e2._x + 3 && balas[i]->_y == e2._y) || (balas[i]->_x == e2._x + 4 && balas[i]->_y == e2._y)) {
  1442. e2._vidas--;
  1443. if (e2._vidas == 25)
  1444. score += 500;
  1445. retraso = 0;
  1446. }
  1447. }
  1448. }
  1449. for (int i = 0; i < balasene; ++i) {
  1450. if (balaenemigas1[i] != NULL) {
  1451. if ((balaenemigas1[i]->_x == nave->_x + 2 && balaenemigas1[i]->_y == nave->_y) || (balaenemigas1[i]->_x == nave->_x && balaenemigas1[i]->_y == nave->_y) || (balaenemigas1[i]->_x == nave->_x + 1 && balaenemigas1[i]->_y == nave->_y) ||
  1452. (balaenemigas1[i]->_x == nave->_x + 3 && balaenemigas1[i]->_y == nave->_y) || (balaenemigas1[i]->_x == nave->_x + 4 && balaenemigas1[i]->_y == nave->_y) && algo == 0) {
  1453. nave->borrar();
  1454. balaenemigas1[i]->borrar();
  1455. Console::SetCursorPosition(LIMITE_ANCHO / 2 - 3, LIMITE_ALTO - 3);
  1456. nave->_x = LIMITE_ANCHO / 2 - 3; nave->_y = LIMITE_ALTO - 3;
  1457. nave->dibujar();
  1458. nave->_vidas--;
  1459. retraso = 0;
  1460. algo = 1;
  1461. }
  1462. else if (balaenemigas1[i]->_y == LIMITE_ALTO) {
  1463. balaenemigas1[i]->borrar();
  1464.  
  1465. }
  1466.  
  1467. }
  1468. }
  1469. }
  1470. if (e2._vidas == 25) {
  1471. e2.borrar();
  1472. Console::SetCursorPosition(e2._x + 1, e2._y);
  1473. cout << "500";
  1474.  
  1475. if (retraso == 30) {
  1476. Console::SetCursorPosition(e2._x + 1, e2._y);
  1477. cout << " ";
  1478. e2._vidas = 24;
  1479. }
  1480. retraso++;
  1481. if (e2._vidas == 24)
  1482. retraso = 0;
  1483.  
  1484. }
  1485. if (e3._vidas == 30 || e3._vidas == 29) {
  1486. e3.animar();
  1487. if (e3._x == nave->_x && retrasobala == 0) {
  1488.  
  1489. balaenemigas2[balaseneActual2] = e3.disparar();
  1490.  
  1491. balaseneActual2++;
  1492. retrasobala = 1;
  1493. }
  1494.  
  1495.  
  1496. for (short i = 0; i < balaseneActual2; ++i) {
  1497. if (i == balaseneActual2 - 4)
  1498. balaenemigas2[i]->animar();
  1499. retrasobala = 0;
  1500. }
  1501. for (int i = 0; i < nBalas; ++i) {
  1502. if (balas[i] != NULL) {
  1503. if ((balas[i]->_x == e3._x + 2 && balas[i]->_y == e3._y) || (balas[i]->_x == e3._x && balas[i]->_y == e3._y) || (balas[i]->_x == e3._x + 1 && balas[i]->_y == e3._y) ||
  1504. (balas[i]->_x == e3._x + 3 && balas[i]->_y == e3._y) || (balas[i]->_x == e3._x + 4 && balas[i]->_y == e3._y)) {
  1505. e3._vidas--;
  1506. if (e3._vidas == 28)
  1507. score += 500;
  1508. retraso = 0;
  1509. }
  1510. }
  1511. }
  1512. for (int i = 0; i < balasene; ++i) {
  1513. if (balaenemigas2[i] != NULL) {
  1514. if ((balaenemigas2[i]->_x == nave->_x + 2 && balaenemigas2[i]->_y == nave->_y) || (balaenemigas2[i]->_x == nave->_x && balaenemigas2[i]->_y == nave->_y) || (balaenemigas2[i]->_x == nave->_x + 1 && balaenemigas2[i]->_y == nave->_y) ||
  1515. (balaenemigas2[i]->_x == nave->_x + 3 && balaenemigas2[i]->_y == nave->_y) || (balaenemigas2[i]->_x == nave->_x + 4 && balaenemigas2[i]->_y == nave->_y) && algo == 0) {
  1516. nave->borrar();
  1517. balaenemigas2[i]->borrar();
  1518. Console::SetCursorPosition(LIMITE_ANCHO / 2 - 3, LIMITE_ALTO - 3);
  1519. nave->_x = LIMITE_ANCHO / 2 - 3; nave->_y = LIMITE_ALTO - 3;
  1520. nave->dibujar();
  1521. nave->_vidas--;
  1522. retraso = 0;
  1523. algo = 1;
  1524. }
  1525. else if (balaenemigas2[i]->_y == LIMITE_ALTO) {
  1526. balaenemigas2[i]->borrar();
  1527.  
  1528. }
  1529.  
  1530. }
  1531. }
  1532. }
  1533. if (e3._vidas == 28) {
  1534. e3.borrar();
  1535. Console::SetCursorPosition(e3._x + 1, e3._y);
  1536. cout << "500";
  1537.  
  1538. if (retraso == 30) {
  1539. Console::SetCursorPosition(e3._x + 1, e3._y);
  1540. cout << " ";
  1541. e3._vidas = 27;
  1542. }
  1543. retraso++;
  1544. if (e3._vidas == 27)
  1545. retraso = 0;
  1546. }
  1547. if (e4._vidas == 30 || e4._vidas == 29) {
  1548. e4.animar();
  1549. if (e4._x == nave->_x && retrasobala == 0) {
  1550.  
  1551. balaenemigas3[balaseneActual3] = e4.disparar();
  1552.  
  1553. balaseneActual3++;
  1554. retrasobala = 1;
  1555. }
  1556.  
  1557.  
  1558. for (short i = 0; i < balaseneActual3; ++i) {
  1559. if (i == balaseneActual3 - 4)
  1560. balaenemigas3[i]->animar();
  1561. retrasobala = 0;
  1562. }
  1563. for (int i = 0; i < nBalas; ++i) {
  1564. if (balas[i] != NULL) {
  1565. if ((balas[i]->_x == e4._x + 2 && balas[i]->_y == e4._y) || (balas[i]->_x == e4._x && balas[i]->_y == e4._y) || (balas[i]->_x == e4._x + 1 && balas[i]->_y == e4._y) ||
  1566. (balas[i]->_x == e4._x + 3 && balas[i]->_y == e4._y) || (balas[i]->_x == e4._x + 4 && balas[i]->_y == e4._y)) {
  1567. e4._vidas--;
  1568. if (e4._vidas == 28)
  1569. score += 500;
  1570. retraso = 0;
  1571. }
  1572. }
  1573. }
  1574. for (int i = 0; i < balasene; ++i) {
  1575. if (balaenemigas3[i] != NULL) {
  1576. if ((balaenemigas3[i]->_x == nave->_x + 2 && balaenemigas3[i]->_y == nave->_y) || (balaenemigas3[i]->_x == nave->_x && balaenemigas3[i]->_y == nave->_y) || (balaenemigas3[i]->_x == nave->_x + 1 && balaenemigas3[i]->_y == nave->_y) ||
  1577. (balaenemigas3[i]->_x == nave->_x + 3 && balaenemigas3[i]->_y == nave->_y) || (balaenemigas3[i]->_x == nave->_x + 4 && balaenemigas3[i]->_y == nave->_y) && algo == 0) {
  1578. nave->borrar();
  1579. balaenemigas3[i]->borrar();
  1580. Console::SetCursorPosition(LIMITE_ANCHO / 2 - 3, LIMITE_ALTO - 3);
  1581. nave->_x = LIMITE_ANCHO / 2 - 3; nave->_y = LIMITE_ALTO - 3;
  1582. nave->dibujar();
  1583. nave->_vidas--;
  1584. retraso = 0;
  1585. algo = 1;
  1586. }
  1587. else if (balaenemigas3[i]->_y == LIMITE_ALTO) {
  1588. balaenemigas3[i]->borrar();
  1589.  
  1590. }
  1591.  
  1592. }
  1593. }
  1594. }
  1595. if (e4._vidas == 28) {
  1596. e4.borrar();
  1597. Console::SetCursorPosition(e4._x + 1, e4._y);
  1598. cout << "500";
  1599.  
  1600. if (retraso == 30) {
  1601. Console::SetCursorPosition(e4._x + 1, e4._y);
  1602. cout << " ";
  1603. e4._vidas = 27;
  1604. }
  1605. retraso++;
  1606. if (e4._vidas == 27)
  1607. retraso = 0;
  1608. }
  1609.  
  1610. }
  1611. if (Nivel3 == 1) {
  1612.  
  1613. zzz = 15;
  1614. if (e1._vidas == 24 || e1._vidas == 23) {
  1615. e1.animar();
  1616. if (e1._x == nave->_x && retrasobala == 0) {
  1617.  
  1618. balaenemigas[balaseneActual] = e1.disparar();
  1619.  
  1620. balaseneActual++;
  1621. retrasobala = 1;
  1622. }
  1623.  
  1624.  
  1625. for (short i = 0; i < balaseneActual; ++i) {
  1626. if (i == balaseneActual - 4)
  1627. balaenemigas[i]->animar();
  1628. retrasobala = 0;
  1629. }
  1630. for (int i = 0; i < nBalas; ++i) {
  1631. if (balas[i] != NULL) {
  1632. if ((balas[i]->_x == e1._x + 2 && balas[i]->_y == e1._y) || (balas[i]->_x == e1._x && balas[i]->_y == e1._y) || (balas[i]->_x == e1._x + 1 && balas[i]->_y == e1._y) ||
  1633. (balas[i]->_x == e1._x + 3 && balas[i]->_y == e1._y) || (balas[i]->_x == e1._x + 4 && balas[i]->_y == e1._y)) {
  1634. e1._vidas--;
  1635. if (e1._vidas == 22)
  1636. score += 500;
  1637. retraso = 0;
  1638. }
  1639. }
  1640. }
  1641. for (int i = 0; i < balasene; ++i) {
  1642. if (balaenemigas[i] != NULL) {
  1643. if ((balaenemigas[i]->_x == nave->_x + 2 && balaenemigas[i]->_y == nave->_y) || (balaenemigas[i]->_x == nave->_x && balaenemigas[i]->_y == nave->_y) || (balaenemigas[i]->_x == nave->_x + 1 && balaenemigas[i]->_y == nave->_y) ||
  1644. (balaenemigas[i]->_x == nave->_x + 3 && balaenemigas[i]->_y == nave->_y) || (balaenemigas[i]->_x == nave->_x + 4 && balaenemigas[i]->_y == nave->_y) && algo == 0) {
  1645. nave->borrar();
  1646. balaenemigas[i]->borrar();
  1647. Console::SetCursorPosition(LIMITE_ANCHO / 2 - 3, LIMITE_ALTO - 3);
  1648. nave->_x = LIMITE_ANCHO / 2 - 3; nave->_y = LIMITE_ALTO - 3;
  1649. nave->dibujar();
  1650. nave->_vidas--;
  1651. retraso = 0;
  1652. algo = 1;
  1653. }
  1654. else if (balaenemigas[i]->_y == LIMITE_ALTO) {
  1655. balaenemigas[i]->borrar();
  1656.  
  1657. }
  1658.  
  1659. }
  1660. }
  1661. }
  1662. if (e1._vidas == 22) {
  1663. e1.borrar();
  1664. Console::SetCursorPosition(e1._x + 1, e1._y);
  1665. cout << "500";
  1666.  
  1667. if (retraso == 21) {
  1668. Console::SetCursorPosition(e1._x + 1, e1._y);
  1669. cout << " ";
  1670. e1._vidas = 21;
  1671. }
  1672. retraso++;
  1673. if (e1._vidas == 21)
  1674. retraso = 0;
  1675.  
  1676. }
  1677. if (e2._vidas == 24 || e2._vidas == 23) {
  1678. e2.animar();
  1679. if (e2._x == nave->_x && retrasobala == 0) {
  1680.  
  1681. balaenemigas1[balaseneActual1] = e2.disparar();
  1682.  
  1683. balaseneActual1++;
  1684. retrasobala = 1;
  1685. }
  1686.  
  1687.  
  1688. for (short i = 0; i < balaseneActual1; ++i) {
  1689. if (i == balaseneActual1 - 4)
  1690. balaenemigas1[i]->animar();
  1691. retrasobala = 0;
  1692. }
  1693. for (int i = 0; i < nBalas; ++i) {
  1694. if (balas[i] != NULL) {
  1695. if ((balas[i]->_x == e2._x + 2 && balas[i]->_y == e2._y) || (balas[i]->_x == e2._x && balas[i]->_y == e2._y) || (balas[i]->_x == e2._x + 1 && balas[i]->_y == e2._y) ||
  1696. (balas[i]->_x == e2._x + 3 && balas[i]->_y == e2._y) || (balas[i]->_x == e2._x + 4 && balas[i]->_y == e2._y)) {
  1697. e2._vidas--;
  1698. if (e2._vidas == 22)
  1699. score += 500;
  1700. retraso = 0;
  1701. }
  1702. }
  1703. }
  1704. for (int i = 0; i < balasene; ++i) {
  1705. if (balaenemigas1[i] != NULL) {
  1706. if ((balaenemigas1[i]->_x == nave->_x + 2 && balaenemigas1[i]->_y == nave->_y) || (balaenemigas1[i]->_x == nave->_x && balaenemigas1[i]->_y == nave->_y) || (balaenemigas1[i]->_x == nave->_x + 1 && balaenemigas1[i]->_y == nave->_y) ||
  1707. (balaenemigas1[i]->_x == nave->_x + 3 && balaenemigas1[i]->_y == nave->_y) || (balaenemigas1[i]->_x == nave->_x + 4 && balaenemigas1[i]->_y == nave->_y) && algo == 0) {
  1708. nave->borrar();
  1709. balaenemigas1[i]->borrar();
  1710. Console::SetCursorPosition(LIMITE_ANCHO / 2 - 3, LIMITE_ALTO - 3);
  1711. nave->_x = LIMITE_ANCHO / 2 - 3; nave->_y = LIMITE_ALTO - 3;
  1712. nave->dibujar();
  1713. nave->_vidas--;
  1714. retraso = 0;
  1715. algo = 1;
  1716. }
  1717. else if (balaenemigas1[i]->_y == LIMITE_ALTO) {
  1718. balaenemigas1[i]->borrar();
  1719.  
  1720. }
  1721.  
  1722. }
  1723. }
  1724. }
  1725. if (e2._vidas == 22) {
  1726. e2.borrar();
  1727. Console::SetCursorPosition(e2._x + 1, e2._y);
  1728. cout << "500";
  1729.  
  1730. if (retraso == 21) {
  1731. Console::SetCursorPosition(e2._x + 1, e2._y);
  1732. cout << " ";
  1733. e2._vidas = 21;
  1734. }
  1735. retraso++;
  1736. if (e2._vidas == 21)
  1737. retraso = 0;
  1738.  
  1739. }
  1740. if (e3._vidas == 27 || e3._vidas == 26) {
  1741. e3.animar();
  1742. if (e3._x == nave->_x && retrasobala == 0) {
  1743.  
  1744. balaenemigas2[balaseneActual2] = e3.disparar();
  1745.  
  1746. balaseneActual2++;
  1747. retrasobala = 1;
  1748. }
  1749.  
  1750.  
  1751. for (short i = 0; i < balaseneActual2; ++i) {
  1752. if (i == balaseneActual2 - 4)
  1753. balaenemigas2[i]->animar();
  1754. retrasobala = 0;
  1755. }
  1756. for (int i = 0; i < nBalas; ++i) {
  1757. if (balas[i] != NULL) {
  1758. if ((balas[i]->_x == e3._x + 2 && balas[i]->_y == e3._y) || (balas[i]->_x == e3._x && balas[i]->_y == e3._y) || (balas[i]->_x == e3._x + 1 && balas[i]->_y == e3._y) ||
  1759. (balas[i]->_x == e3._x + 3 && balas[i]->_y == e3._y) || (balas[i]->_x == e3._x + 4 && balas[i]->_y == e3._y)) {
  1760. e3._vidas--;
  1761. if (e3._vidas == 25)
  1762. score += 500;
  1763. retraso = 0;
  1764. }
  1765. }
  1766. }
  1767. for (int i = 0; i < balasene; ++i) {
  1768. if (balaenemigas2[i] != NULL) {
  1769. if ((balaenemigas2[i]->_x == nave->_x + 2 && balaenemigas2[i]->_y == nave->_y) || (balaenemigas2[i]->_x == nave->_x && balaenemigas2[i]->_y == nave->_y) || (balaenemigas2[i]->_x == nave->_x + 1 && balaenemigas2[i]->_y == nave->_y) ||
  1770. (balaenemigas2[i]->_x == nave->_x + 3 && balaenemigas2[i]->_y == nave->_y) || (balaenemigas2[i]->_x == nave->_x + 4 && balaenemigas2[i]->_y == nave->_y) && algo == 0) {
  1771. nave->borrar();
  1772. balaenemigas2[i]->borrar();
  1773. Console::SetCursorPosition(LIMITE_ANCHO / 2 - 3, LIMITE_ALTO - 3);
  1774. nave->_x = LIMITE_ANCHO / 2 - 3; nave->_y = LIMITE_ALTO - 3;
  1775. nave->dibujar();
  1776. nave->_vidas--;
  1777. retraso = 0;
  1778. algo = 1;
  1779. }
  1780. else if (balaenemigas2[i]->_y == LIMITE_ALTO) {
  1781. balaenemigas2[i]->borrar();
  1782.  
  1783. }
  1784.  
  1785. }
  1786. }
  1787. }
  1788. if (e3._vidas == 25) {
  1789. e3.borrar();
  1790. Console::SetCursorPosition(e3._x + 1, e3._y);
  1791. cout << "500";
  1792.  
  1793. if (retraso == 30) {
  1794. Console::SetCursorPosition(e3._x + 1, e3._y);
  1795. cout << " ";
  1796. e3._vidas = 24;
  1797. }
  1798. retraso++;
  1799. if (e3._vidas == 24)
  1800. retraso = 0;
  1801.  
  1802. }
  1803. if (e4._vidas == 27 || e4._vidas == 26) {
  1804. e4.animar();
  1805. if (e4._x == nave->_x && retrasobala == 0) {
  1806.  
  1807. balaenemigas3[balaseneActual3] = e4.disparar();
  1808.  
  1809. balaseneActual3++;
  1810. retrasobala = 1;
  1811. }
  1812.  
  1813.  
  1814. for (short i = 0; i < balaseneActual3; ++i) {
  1815. if (i == balaseneActual3 - 4)
  1816. balaenemigas3[i]->animar();
  1817. retrasobala = 0;
  1818. }
  1819. for (int i = 0; i < nBalas; ++i) {
  1820. if (balas[i] != NULL) {
  1821. if ((balas[i]->_x == e4._x + 2 && balas[i]->_y == e4._y) || (balas[i]->_x == e4._x && balas[i]->_y == e4._y) || (balas[i]->_x == e4._x + 1 && balas[i]->_y == e4._y) ||
  1822. (balas[i]->_x == e4._x + 3 && balas[i]->_y == e4._y) || (balas[i]->_x == e4._x + 4 && balas[i]->_y == e4._y)) {
  1823. e4._vidas--;
  1824. if (e4._vidas == 25)
  1825. score += 500;
  1826. retraso = 0;
  1827. }
  1828. }
  1829. }
  1830. for (int i = 0; i < balasene; ++i) {
  1831. if (balaenemigas3[i] != NULL) {
  1832. if ((balaenemigas3[i]->_x == nave->_x + 2 && balaenemigas3[i]->_y == nave->_y) || (balaenemigas3[i]->_x == nave->_x && balaenemigas3[i]->_y == nave->_y) || (balaenemigas3[i]->_x == nave->_x + 1 && balaenemigas3[i]->_y == nave->_y) ||
  1833. (balaenemigas3[i]->_x == nave->_x + 3 && balaenemigas3[i]->_y == nave->_y) || (balaenemigas3[i]->_x == nave->_x + 4 && balaenemigas3[i]->_y == nave->_y) && algo == 0) {
  1834. nave->borrar();
  1835. balaenemigas3[i]->borrar();
  1836. Console::SetCursorPosition(LIMITE_ANCHO / 2 - 3, LIMITE_ALTO - 3);
  1837. nave->_x = LIMITE_ANCHO / 2 - 3; nave->_y = LIMITE_ALTO - 3;
  1838. nave->dibujar();
  1839. nave->_vidas--;
  1840. retraso = 0;
  1841. algo = 1;
  1842. }
  1843. else if (balaenemigas3[i]->_y == LIMITE_ALTO) {
  1844. balaenemigas3[i]->borrar();
  1845.  
  1846. }
  1847.  
  1848. }
  1849. }
  1850. }
  1851. if (e4._vidas == 25) {
  1852. e4.borrar();
  1853. Console::SetCursorPosition(e4._x + 1, e4._y);
  1854. cout << "500";
  1855.  
  1856. if (retraso == 30) {
  1857. Console::SetCursorPosition(e4._x + 1, e4._y);
  1858. cout << " ";
  1859. e4._vidas = 24;
  1860. }
  1861. retraso++;
  1862. if (e4._vidas == 24)
  1863. retraso = 0;
  1864.  
  1865. }
  1866.  
  1867. if (e5._vidas == 30 || e5._vidas == 29) {
  1868. e5.animar();
  1869. if (e5._x == nave->_x && retrasobala == 0) {
  1870.  
  1871. balaenemigas4[balaseneActual4] = e5.disparar();
  1872.  
  1873. balaseneActual4++;
  1874. retrasobala = 1;
  1875. }
  1876.  
  1877.  
  1878. for (short i = 0; i < balaseneActual4; ++i) {
  1879. if (i == balaseneActual4 - 4)
  1880. balaenemigas4[i]->animar();
  1881. retrasobala = 0;
  1882. }
  1883. for (int i = 0; i < nBalas; ++i) {
  1884. if (balas[i] != NULL) {
  1885. if ((balas[i]->_x == e5._x + 2 && balas[i]->_y == e5._y) || (balas[i]->_x == e5._x && balas[i]->_y == e5._y) || (balas[i]->_x == e5._x + 1 && balas[i]->_y == e5._y) ||
  1886. (balas[i]->_x == e5._x + 3 && balas[i]->_y == e5._y) || (balas[i]->_x == e5._x + 4 && balas[i]->_y == e5._y)) {
  1887. e5._vidas--;
  1888. if (e5._vidas == 28)
  1889. score += 500;
  1890. retraso = 0;
  1891. }
  1892. }
  1893. }
  1894. for (int i = 0; i < balasene; ++i) {
  1895. if (balaenemigas4[i] != NULL) {
  1896. if ((balaenemigas4[i]->_x == nave->_x + 2 && balaenemigas4[i]->_y == nave->_y) || (balaenemigas4[i]->_x == nave->_x && balaenemigas4[i]->_y == nave->_y) || (balaenemigas4[i]->_x == nave->_x + 1 && balaenemigas4[i]->_y == nave->_y) ||
  1897. (balaenemigas4[i]->_x == nave->_x + 3 && balaenemigas4[i]->_y == nave->_y) || (balaenemigas4[i]->_x == nave->_x + 4 && balaenemigas4[i]->_y == nave->_y) && algo == 0) {
  1898. nave->borrar();
  1899. balaenemigas4[i]->borrar();
  1900. Console::SetCursorPosition(LIMITE_ANCHO / 2 - 3, LIMITE_ALTO - 3);
  1901. nave->_x = LIMITE_ANCHO / 2 - 3; nave->_y = LIMITE_ALTO - 3;
  1902. nave->dibujar();
  1903. nave->_vidas--;
  1904. retraso = 0;
  1905. algo = 1;
  1906. }
  1907. else if (balaenemigas4[i]->_y == LIMITE_ALTO) {
  1908. balaenemigas4[i]->borrar();
  1909.  
  1910. }
  1911.  
  1912. }
  1913. }
  1914. }
  1915. if (e5._vidas == 28) {
  1916. e5.borrar();
  1917. Console::SetCursorPosition(e5._x + 1, e5._y);
  1918. cout << "500";
  1919.  
  1920. if (retraso == 30) {
  1921. Console::SetCursorPosition(e5._x + 1, e5._y);
  1922. cout << " ";
  1923. e5._vidas = 27;
  1924. }
  1925. retraso++;
  1926. if (e5._vidas == 27)
  1927. retraso = 0;
  1928. }
  1929. if (e6._vidas == 30 || e6._vidas == 29) {
  1930. e6.animar();
  1931. if (e6._x == nave->_x && retrasobala == 0) {
  1932.  
  1933. balaenemigas5[balaseneActual5] = e6.disparar();
  1934.  
  1935. balaseneActual5++;
  1936. retrasobala = 1;
  1937. }
  1938.  
  1939.  
  1940. for (short i = 0; i < balaseneActual5; ++i) {
  1941. if (i == balaseneActual5 - 4)
  1942. balaenemigas5[i]->animar();
  1943. retrasobala = 0;
  1944. }
  1945. for (int i = 0; i < nBalas; ++i) {
  1946. if (balas[i] != NULL) {
  1947. if ((balas[i]->_x == e6._x + 2 && balas[i]->_y == e6._y) || (balas[i]->_x == e6._x && balas[i]->_y == e6._y) || (balas[i]->_x == e6._x + 1 && balas[i]->_y == e6._y) ||
  1948. (balas[i]->_x == e6._x + 3 && balas[i]->_y == e6._y) || (balas[i]->_x == e6._x + 4 && balas[i]->_y == e6._y)) {
  1949. e6._vidas--;
  1950. if (e6._vidas == 28)
  1951. score += 500;
  1952. retraso = 0;
  1953. }
  1954. }
  1955. }
  1956. for (int i = 0; i < balasene; ++i) {
  1957. if (balaenemigas5[i] != NULL) {
  1958. if ((balaenemigas5[i]->_x == nave->_x + 2 && balaenemigas5[i]->_y == nave->_y) || (balaenemigas5[i]->_x == nave->_x && balaenemigas5[i]->_y == nave->_y) || (balaenemigas5[i]->_x == nave->_x + 1 && balaenemigas5[i]->_y == nave->_y) ||
  1959. (balaenemigas5[i]->_x == nave->_x + 3 && balaenemigas5[i]->_y == nave->_y) || (balaenemigas5[i]->_x == nave->_x + 4 && balaenemigas5[i]->_y == nave->_y) && algo == 0) {
  1960. nave->borrar();
  1961. balaenemigas5[i]->borrar();
  1962. Console::SetCursorPosition(LIMITE_ANCHO / 2 - 3, LIMITE_ALTO - 3);
  1963. nave->_x = LIMITE_ANCHO / 2 - 3; nave->_y = LIMITE_ALTO - 3;
  1964. nave->dibujar();
  1965. nave->_vidas--;
  1966. retraso = 0;
  1967. algo = 1;
  1968. }
  1969. else if (balaenemigas5[i]->_y == LIMITE_ALTO) {
  1970. balaenemigas5[i]->borrar();
  1971.  
  1972. }
  1973.  
  1974. }
  1975. }
  1976. }
  1977. if (e6._vidas == 28) {
  1978. e6.borrar();
  1979. Console::SetCursorPosition(e6._x + 1, e6._y);
  1980. cout << "500";
  1981.  
  1982. if (retraso == 30) {
  1983. Console::SetCursorPosition(e6._x + 1, e6._y);
  1984. cout << " ";
  1985. e6._vidas = 27;
  1986. }
  1987. retraso++;
  1988. if (e6._vidas == 27)
  1989. retraso = 0;
  1990. }
  1991. if (e7._vidas == 30 || e7._vidas == 29) {
  1992. e7.animar();
  1993. if (e7._x == nave->_x && retrasobala == 0) {
  1994.  
  1995. balaenemigas6[balaseneActual6] = e7.disparar();
  1996.  
  1997. balaseneActual6++;
  1998. retrasobala = 1;
  1999. }
  2000.  
  2001.  
  2002. for (short i = 0; i < balaseneActual6; ++i) {
  2003. if (i == balaseneActual6 - 4)
  2004. balaenemigas6[i]->animar();
  2005. retrasobala = 0;
  2006. }
  2007. for (int i = 0; i < nBalas; ++i) {
  2008. if (balas[i] != NULL) {
  2009. if ((balas[i]->_x == e7._x + 2 && balas[i]->_y == e7._y) || (balas[i]->_x == e7._x && balas[i]->_y == e7._y) || (balas[i]->_x == e7._x + 1 && balas[i]->_y == e7._y) ||
  2010. (balas[i]->_x == e7._x + 3 && balas[i]->_y == e7._y) || (balas[i]->_x == e7._x + 4 && balas[i]->_y == e7._y)) {
  2011. e7._vidas--;
  2012. if (e7._vidas == 28)
  2013. score += 500;
  2014. retraso = 0;
  2015. }
  2016. }
  2017. }
  2018. for (int i = 0; i < balasene; ++i) {
  2019. if (balaenemigas6[i] != NULL) {
  2020. if ((balaenemigas6[i]->_x == nave->_x + 2 && balaenemigas6[i]->_y == nave->_y) || (balaenemigas6[i]->_x == nave->_x && balaenemigas6[i]->_y == nave->_y) || (balaenemigas6[i]->_x == nave->_x + 1 && balaenemigas6[i]->_y == nave->_y) ||
  2021. (balaenemigas6[i]->_x == nave->_x + 3 && balaenemigas6[i]->_y == nave->_y) || (balaenemigas6[i]->_x == nave->_x + 4 && balaenemigas6[i]->_y == nave->_y) && algo == 0) {
  2022. nave->borrar();
  2023. balaenemigas6[i]->borrar();
  2024. Console::SetCursorPosition(LIMITE_ANCHO / 2 - 3, LIMITE_ALTO - 3);
  2025. nave->_x = LIMITE_ANCHO / 2 - 3; nave->_y = LIMITE_ALTO - 3;
  2026. nave->dibujar();
  2027. nave->_vidas--;
  2028. retraso = 0;
  2029. algo = 1;
  2030. }
  2031. else if (balaenemigas6[i]->_y == LIMITE_ALTO) {
  2032. balaenemigas6[i]->borrar();
  2033.  
  2034. }
  2035.  
  2036. }
  2037. }
  2038. }
  2039. if (e7._vidas == 28) {
  2040. e7.borrar();
  2041. Console::SetCursorPosition(e7._x + 1, e7._y);
  2042. cout << "500";
  2043.  
  2044. if (retraso == 30) {
  2045. Console::SetCursorPosition(e7._x + 1, e7._y);
  2046. cout << " ";
  2047. e7._vidas = 27;
  2048. }
  2049. retraso++;
  2050. if (e7._vidas == 27)
  2051. retraso = 0;
  2052. }
  2053. if (e8._vidas == 30 || e8._vidas == 29) {
  2054. e8.animar();
  2055. if (e8._x == nave->_x && retrasobala == 0) {
  2056.  
  2057. balaenemigas7[balaseneActual7] = e8.disparar();
  2058.  
  2059. balaseneActual7++;
  2060. retrasobala = 1;
  2061. }
  2062.  
  2063.  
  2064. for (short i = 0; i < balaseneActual7; ++i) {
  2065. if (i == balaseneActual7 - 4)
  2066. balaenemigas7[i]->animar();
  2067. retrasobala = 0;
  2068. }
  2069. for (int i = 0; i < nBalas; ++i) {
  2070. if (balas[i] != NULL) {
  2071. if ((balas[i]->_x == e8._x + 2 && balas[i]->_y == e8._y) || (balas[i]->_x == e8._x && balas[i]->_y == e8._y) || (balas[i]->_x == e8._x + 1 && balas[i]->_y == e8._y) ||
  2072. (balas[i]->_x == e8._x + 3 && balas[i]->_y == e8._y) || (balas[i]->_x == e8._x + 4 && balas[i]->_y == e8._y)) {
  2073. e8._vidas--;
  2074. if (e8._vidas == 28)
  2075. score += 500;
  2076. retraso = 0;
  2077. }
  2078. }
  2079. }
  2080. for (int i = 0; i < balasene; ++i) {
  2081. if (balaenemigas7[i] != NULL) {
  2082. if ((balaenemigas7[i]->_x == nave->_x + 2 && balaenemigas7[i]->_y == nave->_y) || (balaenemigas7[i]->_x == nave->_x && balaenemigas7[i]->_y == nave->_y) || (balaenemigas7[i]->_x == nave->_x + 1 && balaenemigas7[i]->_y == nave->_y) ||
  2083. (balaenemigas7[i]->_x == nave->_x + 3 && balaenemigas7[i]->_y == nave->_y) || (balaenemigas7[i]->_x == nave->_x + 4 && balaenemigas7[i]->_y == nave->_y) && algo == 0) {
  2084. nave->borrar();
  2085. balaenemigas7[i]->borrar();
  2086. Console::SetCursorPosition(LIMITE_ANCHO / 2 - 3, LIMITE_ALTO - 3);
  2087. nave->_x = LIMITE_ANCHO / 2 - 3; nave->_y = LIMITE_ALTO - 3;
  2088. nave->dibujar();
  2089. nave->_vidas--;
  2090. retraso = 0;
  2091. algo = 1;
  2092. }
  2093. else if (balaenemigas7[i]->_y == LIMITE_ALTO) {
  2094. balaenemigas7[i]->borrar();
  2095.  
  2096. }
  2097.  
  2098. }
  2099. }
  2100. }
  2101. if (e8._vidas == 28) {
  2102. e8.borrar();
  2103. Console::SetCursorPosition(e8._x + 1, e8._y);
  2104. cout << "500";
  2105.  
  2106. if (retraso == 30) {
  2107. Console::SetCursorPosition(e8._x + 1, e8._y);
  2108. cout << " ";
  2109. e8._vidas = 27;
  2110. }
  2111. retraso++;
  2112. if (e8._vidas == 27)
  2113. retraso = 0;
  2114. }
  2115. if (e9._vidas == 30 || e9._vidas == 29) {
  2116. e9.animar();
  2117. if (e9._x == nave->_x && retrasobala == 0) {
  2118.  
  2119. balaenemigas8[balaseneActual8] = e9.disparar();
  2120.  
  2121. balaseneActual8++;
  2122. retrasobala = 1;
  2123. }
  2124.  
  2125.  
  2126. for (short i = 0; i < balaseneActual8; ++i) {
  2127. if (i == balaseneActual8 - 4)
  2128. balaenemigas8[i]->animar();
  2129. retrasobala = 0;
  2130. }
  2131. for (int i = 0; i < nBalas; ++i) {
  2132. if (balas[i] != NULL) {
  2133. if ((balas[i]->_x == e9._x + 2 && balas[i]->_y == e9._y) || (balas[i]->_x == e9._x && balas[i]->_y == e9._y) || (balas[i]->_x == e9._x + 1 && balas[i]->_y == e9._y) ||
  2134. (balas[i]->_x == e9._x + 3 && balas[i]->_y == e9._y) || (balas[i]->_x == e9._x + 4 && balas[i]->_y == e9._y)) {
  2135. e9._vidas--;
  2136. if (e9._vidas == 28)
  2137. score += 500;
  2138. retraso = 0;
  2139. }
  2140. }
  2141. }
  2142. for (int i = 0; i < balasene; ++i) {
  2143. if (balaenemigas8[i] != NULL) {
  2144. if ((balaenemigas8[i]->_x == nave->_x + 2 && balaenemigas8[i]->_y == nave->_y) || (balaenemigas8[i]->_x == nave->_x && balaenemigas8[i]->_y == nave->_y) || (balaenemigas8[i]->_x == nave->_x + 1 && balaenemigas8[i]->_y == nave->_y) ||
  2145. (balaenemigas8[i]->_x == nave->_x + 3 && balaenemigas8[i]->_y == nave->_y) || (balaenemigas8[i]->_x == nave->_x + 4 && balaenemigas8[i]->_y == nave->_y) && algo == 0) {
  2146. nave->borrar();
  2147. balaenemigas8[i]->borrar();
  2148. Console::SetCursorPosition(LIMITE_ANCHO / 2 - 3, LIMITE_ALTO - 3);
  2149. nave->_x = LIMITE_ANCHO / 2 - 3; nave->_y = LIMITE_ALTO - 3;
  2150. nave->dibujar();
  2151. nave->_vidas--;
  2152. retraso = 0;
  2153. algo = 1;
  2154. }
  2155. else if (balaenemigas8[i]->_y == LIMITE_ALTO) {
  2156. balaenemigas8[i]->borrar();
  2157.  
  2158. }
  2159.  
  2160. }
  2161. }
  2162. }
  2163. if (e9._vidas == 28) {
  2164. e9.borrar();
  2165. Console::SetCursorPosition(e9._x + 1, e9._y);
  2166. cout << "500";
  2167.  
  2168. if (retraso == 30) {
  2169. Console::SetCursorPosition(e9._x + 1, e9._y);
  2170. cout << " ";
  2171. e9._vidas = 27;
  2172. }
  2173. retraso++;
  2174. if (e9._vidas == 27)
  2175. retraso = 0;
  2176. }
  2177. if (e10._vidas == 30 || e10._vidas == 29) {
  2178. e10.animar();
  2179. if (e10._x == nave->_x && retrasobala == 0) {
  2180.  
  2181. balaenemigas9[balaseneActual9] = e10.disparar();
  2182.  
  2183. balaseneActual9++;
  2184. retrasobala = 1;
  2185. }
  2186.  
  2187.  
  2188. for (short i = 0; i < balaseneActual9; ++i) {
  2189. if (i == balaseneActual9 - 4)
  2190. balaenemigas9[i]->animar();
  2191. retrasobala = 0;
  2192. }
  2193. for (int i = 0; i < nBalas; ++i) {
  2194. if (balas[i] != NULL) {
  2195. if ((balas[i]->_x == e10._x + 2 && balas[i]->_y == e10._y) || (balas[i]->_x == e10._x && balas[i]->_y == e10._y) || (balas[i]->_x == e10._x + 1 && balas[i]->_y == e10._y) ||
  2196. (balas[i]->_x == e10._x + 3 && balas[i]->_y == e10._y) || (balas[i]->_x == e10._x + 4 && balas[i]->_y == e10._y)) {
  2197. e10._vidas--;
  2198. if (e10._vidas == 28)
  2199. score += 500;
  2200. retraso = 0;
  2201. }
  2202. }
  2203. }
  2204. for (int i = 0; i < balasene; ++i) {
  2205. if (balaenemigas9[i] != NULL) {
  2206. if ((balaenemigas9[i]->_x == nave->_x + 2 && balaenemigas9[i]->_y == nave->_y) || (balaenemigas9[i]->_x == nave->_x && balaenemigas9[i]->_y == nave->_y) || (balaenemigas9[i]->_x == nave->_x + 1 && balaenemigas9[i]->_y == nave->_y) ||
  2207. (balaenemigas9[i]->_x == nave->_x + 3 && balaenemigas9[i]->_y == nave->_y) || (balaenemigas9[i]->_x == nave->_x + 4 && balaenemigas9[i]->_y == nave->_y) && algo == 0) {
  2208. nave->borrar();
  2209. balaenemigas9[i]->borrar();
  2210. Console::SetCursorPosition(LIMITE_ANCHO / 2 - 3, LIMITE_ALTO - 3);
  2211. nave->_x = LIMITE_ANCHO / 2 - 3; nave->_y = LIMITE_ALTO - 3;
  2212. nave->dibujar();
  2213. nave->_vidas--;
  2214. retraso = 0;
  2215. algo = 1;
  2216. }
  2217. else if (balaenemigas9[i]->_y == LIMITE_ALTO) {
  2218. balaenemigas9[i]->borrar();
  2219.  
  2220. }
  2221.  
  2222. }
  2223. }
  2224. }
  2225. if (e10._vidas == 28) {
  2226. e10.borrar();
  2227. Console::SetCursorPosition(e10._x + 1, e10._y);
  2228. cout << "500";
  2229.  
  2230. if (retraso == 30) {
  2231. Console::SetCursorPosition(e10._x + 1, e10._y);
  2232. cout << " ";
  2233. e10._vidas = 27;
  2234. }
  2235. retraso++;
  2236. if (e10._vidas == 27)
  2237. retraso = 0;
  2238. }
  2239.  
  2240.  
  2241. }
  2242. if (Nivel4 == 1) {
  2243. zzz = 5;
  2244. if (enemiga1._vidas == 18) {
  2245. enemiga1.animar();
  2246. for (int i = 0; i < nBalas; ++i) {
  2247. if (balas[i] != NULL) {
  2248. if ((balas[i]->_x == enemiga1._x + 2 && balas[i]->_y == enemiga1._y) || (balas[i]->_x == enemiga1._x && balas[i]->_y == enemiga1._y) || (balas[i]->_x == enemiga1._x + 1 && balas[i]->_y == enemiga1._y) || (balas[i]->_x == enemiga1._x + 3 && balas[i]->_y == enemiga1._y) || (balas[i]->_x == enemiga1._x + 4 && balas[i]->_y == enemiga1._y)) {
  2249. enemiga1._vidas = 17;
  2250.  
  2251. score += 100;
  2252. retraso = 0;
  2253. }
  2254. }
  2255.  
  2256. }
  2257. }
  2258. if (enemiga1._vidas == 17) {
  2259. enemiga1.borrar();
  2260. Console::SetCursorPosition(enemiga1._x + 1, enemiga1._y);
  2261. cout << "100";
  2262.  
  2263. if (retraso == 30) {
  2264. Console::SetCursorPosition(enemiga1._x + 1, enemiga1._y);
  2265. cout << " ";
  2266. enemiga1._vidas = 16;
  2267. }
  2268. retraso++;
  2269. if (enemiga1._vidas == 16)
  2270. retraso = 0;
  2271. }
  2272. if (enemiga2._vidas == 18) {
  2273. enemiga2.animar();
  2274. for (int i = 0; i < nBalas; ++i) {
  2275. if (balas[i] != NULL) {
  2276. if ((balas[i]->_x == enemiga2._x + 2 && balas[i]->_y == enemiga2._y) || (balas[i]->_x == enemiga2._x && balas[i]->_y == enemiga2._y) || (balas[i]->_x == enemiga2._x + 1 && balas[i]->_y == enemiga2._y) || (balas[i]->_x == enemiga2._x + 3 && balas[i]->_y == enemiga2._y) || (balas[i]->_x == enemiga2._x + 4 && balas[i]->_y == enemiga2._y)) {
  2277. enemiga2._vidas = 17;
  2278.  
  2279. score += 100;
  2280. retraso = 0;
  2281. }
  2282. }
  2283.  
  2284. }
  2285. }
  2286. if (enemiga2._vidas == 17) {
  2287. enemiga2.borrar();
  2288. Console::SetCursorPosition(enemiga2._x + 1, enemiga2._y);
  2289. cout << "100";
  2290.  
  2291. if (retraso == 30) {
  2292. Console::SetCursorPosition(enemiga2._x + 1, enemiga2._y);
  2293. cout << " ";
  2294. enemiga2._vidas = 16;
  2295. }
  2296. retraso++;
  2297. if (enemiga2._vidas == 16)
  2298. retraso = 0;
  2299. }
  2300. if (enemiga3._vidas == 18) {
  2301. enemiga3.animar();
  2302. for (int i = 0; i < nBalas; ++i) {
  2303. if (balas[i] != NULL) {
  2304. if ((balas[i]->_x == enemiga3._x + 2 && balas[i]->_y == enemiga3._y) || (balas[i]->_x == enemiga3._x && balas[i]->_y == enemiga3._y) || (balas[i]->_x == enemiga3._x + 1 && balas[i]->_y == enemiga3._y) || (balas[i]->_x == enemiga3._x + 3 && balas[i]->_y == enemiga3._y) || (balas[i]->_x == enemiga3._x + 4 && balas[i]->_y == enemiga3._y)) {
  2305. enemiga3._vidas = 17;
  2306.  
  2307. score += 100;
  2308. retraso = 0;
  2309. }
  2310. }
  2311.  
  2312. }
  2313. }
  2314. if (enemiga3._vidas == 17) {
  2315. enemiga3.borrar();
  2316. Console::SetCursorPosition(enemiga3._x + 1, enemiga3._y);
  2317. cout << "100";
  2318.  
  2319. if (retraso == 30) {
  2320. Console::SetCursorPosition(enemiga3._x + 1, enemiga3._y);
  2321. cout << " ";
  2322. enemiga3._vidas = 16;
  2323. }
  2324. retraso++;
  2325. if (enemiga3._vidas == 16)
  2326. retraso = 0;
  2327. }
  2328. if (enemiga4._vidas == 18) {
  2329. enemiga4.animar();
  2330. for (int i = 0; i < nBalas; ++i) {
  2331. if (balas[i] != NULL) {
  2332. if ((balas[i]->_x == enemiga4._x + 2 && balas[i]->_y == enemiga4._y) || (balas[i]->_x == enemiga4._x && balas[i]->_y == enemiga4._y) || (balas[i]->_x == enemiga4._x + 1 && balas[i]->_y == enemiga4._y) || (balas[i]->_x == enemiga4._x + 3 && balas[i]->_y == enemiga4._y) || (balas[i]->_x == enemiga4._x + 4 && balas[i]->_y == enemiga4._y)) {
  2333. enemiga4._vidas = 17;
  2334.  
  2335. score += 100;
  2336. retraso = 0;
  2337. }
  2338. }
  2339.  
  2340. }
  2341. }
  2342. if (enemiga4._vidas == 17) {
  2343. enemiga4.borrar();
  2344. Console::SetCursorPosition(enemiga4._x + 1, enemiga4._y);
  2345. cout << "100";
  2346.  
  2347. if (retraso == 30) {
  2348. Console::SetCursorPosition(enemiga4._x + 1, enemiga4._y);
  2349. cout << " ";
  2350. enemiga4._vidas = 16;
  2351. }
  2352. retraso++;
  2353. if (enemiga4._vidas == 16)
  2354. retraso = 0;
  2355. }
  2356. if (enemiga5._vidas == 18) {
  2357. enemiga5.animar();
  2358. for (int i = 0; i < nBalas; ++i) {
  2359. if (balas[i] != NULL) {
  2360. if ((balas[i]->_x == enemiga5._x + 2 && balas[i]->_y == enemiga5._y) || (balas[i]->_x == enemiga5._x && balas[i]->_y == enemiga5._y) || (balas[i]->_x == enemiga5._x + 1 && balas[i]->_y == enemiga5._y) || (balas[i]->_x == enemiga5._x + 3 && balas[i]->_y == enemiga5._y) || (balas[i]->_x == enemiga5._x + 4 && balas[i]->_y == enemiga5._y)) {
  2361. enemiga5._vidas = 17;
  2362.  
  2363. score += 100;
  2364. retraso = 0;
  2365. }
  2366. }
  2367.  
  2368. }
  2369. }
  2370. if (enemiga5._vidas == 17) {
  2371. enemiga5.borrar();
  2372. Console::SetCursorPosition(enemiga5._x + 1, enemiga5._y);
  2373. cout << "100";
  2374.  
  2375. if (retraso == 30) {
  2376. Console::SetCursorPosition(enemiga5._x + 1, enemiga5._y);
  2377. cout << " ";
  2378. enemiga5._vidas = 16;
  2379. }
  2380. retraso++;
  2381. if (enemiga5._vidas == 16)
  2382. retraso = 0;
  2383. }
  2384. if (enemiga6._vidas == 18) {
  2385. enemiga6.animar();
  2386. for (int i = 0; i < nBalas; ++i) {
  2387. if (balas[i] != NULL) {
  2388. if ((balas[i]->_x == enemiga6._x + 2 && balas[i]->_y == enemiga6._y) || (balas[i]->_x == enemiga6._x && balas[i]->_y == enemiga6._y) || (balas[i]->_x == enemiga6._x + 1 && balas[i]->_y == enemiga6._y) || (balas[i]->_x == enemiga6._x + 3 && balas[i]->_y == enemiga6._y) || (balas[i]->_x == enemiga6._x + 4 && balas[i]->_y == enemiga6._y)) {
  2389. enemiga6._vidas = 17;
  2390.  
  2391. score += 100;
  2392. retraso = 0;
  2393. }
  2394. }
  2395.  
  2396. }
  2397. }
  2398. if (enemiga6._vidas == 17) {
  2399. enemiga6.borrar();
  2400. Console::SetCursorPosition(enemiga6._x + 1, enemiga6._y);
  2401. cout << "100";
  2402.  
  2403. if (retraso == 30) {
  2404. Console::SetCursorPosition(enemiga6._x + 1, enemiga6._y);
  2405. cout << " ";
  2406. enemiga6._vidas = 16;
  2407. }
  2408. retraso++;
  2409. if (enemiga6._vidas == 16)
  2410. retraso = 0;
  2411. }
  2412. if (enemiga7._vidas == 18) {
  2413. enemiga7.animar();
  2414. for (int i = 0; i < nBalas; ++i) {
  2415. if (balas[i] != NULL) {
  2416. if ((balas[i]->_x == enemiga7._x + 2 && balas[i]->_y == enemiga7._y) || (balas[i]->_x == enemiga7._x && balas[i]->_y == enemiga7._y) || (balas[i]->_x == enemiga7._x + 1 && balas[i]->_y == enemiga7._y) || (balas[i]->_x == enemiga7._x + 3 && balas[i]->_y == enemiga7._y) || (balas[i]->_x == enemiga7._x + 4 && balas[i]->_y == enemiga7._y)) {
  2417. enemiga7._vidas = 17;
  2418.  
  2419. score += 100;
  2420. retraso = 0;
  2421. }
  2422. }
  2423.  
  2424. }
  2425. }
  2426. if (enemiga7._vidas == 17) {
  2427. enemiga7.borrar();
  2428. Console::SetCursorPosition(enemiga7._x + 1, enemiga7._y);
  2429. cout << "100";
  2430.  
  2431. if (retraso == 30) {
  2432. Console::SetCursorPosition(enemiga7._x + 1, enemiga7._y);
  2433. cout << " ";
  2434. enemiga7._vidas = 16;
  2435. }
  2436. retraso++;
  2437. if (enemiga7._vidas == 16)
  2438. retraso = 0;
  2439. }
  2440. if (enemiga8._vidas == 18) {
  2441. enemiga8.animar();
  2442. for (int i = 0; i < nBalas; ++i) {
  2443. if (balas[i] != NULL) {
  2444. if ((balas[i]->_x == enemiga8._x + 2 && balas[i]->_y == enemiga8._y) || (balas[i]->_x == enemiga8._x && balas[i]->_y == enemiga8._y) || (balas[i]->_x == enemiga8._x + 1 && balas[i]->_y == enemiga8._y) || (balas[i]->_x == enemiga8._x + 3 && balas[i]->_y == enemiga8._y) || (balas[i]->_x == enemiga8._x + 4 && balas[i]->_y == enemiga8._y)) {
  2445. enemiga8._vidas = 17;
  2446.  
  2447. score += 100;
  2448. retraso = 0;
  2449. }
  2450. }
  2451.  
  2452. }
  2453. }
  2454. if (enemiga8._vidas == 17) {
  2455. enemiga8.borrar();
  2456. Console::SetCursorPosition(enemiga8._x + 1, enemiga8._y);
  2457. cout << "100";
  2458.  
  2459. if (retraso == 30) {
  2460. Console::SetCursorPosition(enemiga8._x + 1, enemiga8._y);
  2461. cout << " ";
  2462. enemiga8._vidas = 16;
  2463. }
  2464. retraso++;
  2465. if (enemiga8._vidas == 16)
  2466. retraso = 0;
  2467. }
  2468. if (ene10._vidas == 18) {
  2469. ene10.animar();
  2470. for (int i = 0; i < nBalas; ++i) {
  2471. if (balas[i] != NULL) {
  2472. if ((balas[i]->_x == ene10._x + 2 && balas[i]->_y == ene10._y) || (balas[i]->_x == ene10._x && balas[i]->_y == ene10._y) || (balas[i]->_x == ene10._x + 1 && balas[i]->_y == ene10._y) ||
  2473. (balas[i]->_x == ene10._x + 3 && balas[i]->_y == ene10._y) || (balas[i]->_x == ene10._x + 4 && balas[i]->_y == ene10._y)) {
  2474. ene10._vidas = 17;
  2475. score += 300;
  2476. retraso = 0;
  2477. }
  2478. }
  2479.  
  2480. }
  2481. }
  2482. if (ene10._vidas == 17) {
  2483. ene10.borrar();
  2484. Console::SetCursorPosition(ene10._x + 1, ene10._y);
  2485. cout << "300";
  2486.  
  2487. if (retraso == 30) {
  2488. Console::SetCursorPosition(ene10._x + 1, ene10._y);
  2489. cout << " ";
  2490. ene10._vidas = 16;
  2491. }
  2492. retraso++;
  2493. if (ene10._vidas == 16)
  2494. retraso = 0;
  2495.  
  2496. }
  2497. if (ene9._vidas == 18) {
  2498. ene9.animar();
  2499. for (int i = 0; i < nBalas; ++i) {
  2500. if (balas[i] != NULL) {
  2501. if ((balas[i]->_x == ene9._x + 2 && balas[i]->_y == ene9._y) || (balas[i]->_x == ene9._x && balas[i]->_y == ene9._y) || (balas[i]->_x == ene9._x + 1 && balas[i]->_y == ene9._y) ||
  2502. (balas[i]->_x == ene9._x + 3 && balas[i]->_y == ene9._y) || (balas[i]->_x == ene9._x + 4 && balas[i]->_y == ene9._y)) {
  2503. ene9._vidas = 17;
  2504. score += 300;
  2505. retraso = 0;
  2506. }
  2507. }
  2508.  
  2509. }
  2510. }
  2511. if (ene9._vidas == 17) {
  2512. ene9.borrar();
  2513. Console::SetCursorPosition(ene9._x + 1, ene9._y);
  2514. cout << "300";
  2515.  
  2516. if (retraso == 30) {
  2517. Console::SetCursorPosition(ene9._x + 1, ene9._y);
  2518. cout << " ";
  2519. ene9._vidas = 16;
  2520. }
  2521. retraso++;
  2522. if (ene9._vidas == 16)
  2523. retraso = 0;
  2524.  
  2525. }
  2526. if (ene8._vidas == 18) {
  2527. ene8.animar();
  2528. for (int i = 0; i < nBalas; ++i) {
  2529. if (balas[i] != NULL) {
  2530. if ((balas[i]->_x == ene8._x + 2 && balas[i]->_y == ene8._y) || (balas[i]->_x == ene8._x && balas[i]->_y == ene8._y) || (balas[i]->_x == ene8._x + 1 && balas[i]->_y == ene8._y) ||
  2531. (balas[i]->_x == ene8._x + 3 && balas[i]->_y == ene8._y) || (balas[i]->_x == ene8._x + 4 && balas[i]->_y == ene8._y)) {
  2532. ene8._vidas = 17;
  2533. score += 300;
  2534. retraso = 0;
  2535. }
  2536. }
  2537.  
  2538. }
  2539. }
  2540. if (ene8._vidas == 17) {
  2541. ene8.borrar();
  2542. Console::SetCursorPosition(ene8._x + 1, ene8._y);
  2543. cout << "300";
  2544.  
  2545. if (retraso == 30) {
  2546. Console::SetCursorPosition(ene8._x + 1, ene8._y);
  2547. cout << " ";
  2548. ene8._vidas = 16;
  2549. }
  2550. retraso++;
  2551. if (ene8._vidas == 16)
  2552. retraso = 0;
  2553.  
  2554. }
  2555. if (ene7._vidas == 18) {
  2556. ene7.animar();
  2557. for (int i = 0; i < nBalas; ++i) {
  2558. if (balas[i] != NULL) {
  2559. if ((balas[i]->_x == ene7._x + 2 && balas[i]->_y == ene7._y) || (balas[i]->_x == ene7._x && balas[i]->_y == ene7._y) || (balas[i]->_x == ene7._x + 1 && balas[i]->_y == ene7._y) ||
  2560. (balas[i]->_x == ene7._x + 3 && balas[i]->_y == ene7._y) || (balas[i]->_x == ene7._x + 4 && balas[i]->_y == ene7._y)) {
  2561. ene7._vidas = 17;
  2562. score += 300;
  2563. retraso = 0;
  2564. }
  2565. }
  2566.  
  2567. }
  2568. }
  2569. if (ene7._vidas == 17) {
  2570. ene7.borrar();
  2571. Console::SetCursorPosition(ene7._x + 1, ene7._y);
  2572. cout << "300";
  2573.  
  2574. if (retraso == 30) {
  2575. Console::SetCursorPosition(ene7._x + 1, ene7._y);
  2576. cout << " ";
  2577. ene7._vidas = 16;
  2578. }
  2579. retraso++;
  2580. if (ene7._vidas == 16)
  2581. retraso = 0;
  2582.  
  2583. }
  2584. if (ene6._vidas == 18) {
  2585. ene6.animar();
  2586. for (int i = 0; i < nBalas; ++i) {
  2587. if (balas[i] != NULL) {
  2588. if ((balas[i]->_x == ene6._x + 2 && balas[i]->_y == ene6._y) || (balas[i]->_x == ene6._x && balas[i]->_y == ene6._y) || (balas[i]->_x == ene6._x + 1 && balas[i]->_y == ene6._y) ||
  2589. (balas[i]->_x == ene6._x + 3 && balas[i]->_y == ene6._y) || (balas[i]->_x == ene6._x + 4 && balas[i]->_y == ene6._y)) {
  2590. ene6._vidas = 17;
  2591. score += 300;
  2592. retraso = 0;
  2593. }
  2594. }
  2595.  
  2596. }
  2597. }
  2598. if (ene6._vidas == 17) {
  2599. ene6.borrar();
  2600. Console::SetCursorPosition(ene6._x + 1, ene6._y);
  2601. cout << "300";
  2602.  
  2603. if (retraso == 30) {
  2604. Console::SetCursorPosition(ene6._x + 1, ene6._y);
  2605. cout << " ";
  2606. ene6._vidas = 16;
  2607. }
  2608. retraso++;
  2609. if (ene6._vidas == 16)
  2610. retraso = 0;
  2611.  
  2612. }
  2613. if (ene5._vidas == 18) {
  2614. ene5.animar();
  2615. for (int i = 0; i < nBalas; ++i) {
  2616. if (balas[i] != NULL) {
  2617. if ((balas[i]->_x == ene5._x + 2 && balas[i]->_y == ene5._y) || (balas[i]->_x == ene5._x && balas[i]->_y == ene5._y) || (balas[i]->_x == ene5._x + 1 && balas[i]->_y == ene5._y) ||
  2618. (balas[i]->_x == ene5._x + 3 && balas[i]->_y == ene5._y) || (balas[i]->_x == ene5._x + 4 && balas[i]->_y == ene5._y)) {
  2619. ene5._vidas = 17;
  2620. score += 300;
  2621. retraso = 0;
  2622. }
  2623. }
  2624.  
  2625. }
  2626. }
  2627. if (ene5._vidas == 17) {
  2628. ene5.borrar();
  2629. Console::SetCursorPosition(ene5._x + 1, ene5._y);
  2630. cout << "300";
  2631.  
  2632. if (retraso == 30) {
  2633. Console::SetCursorPosition(ene5._x + 1, ene5._y);
  2634. cout << " ";
  2635. ene5._vidas = 16;
  2636. }
  2637. retraso++;
  2638. if (ene5._vidas == 16)
  2639. retraso = 0;
  2640.  
  2641. }
  2642. if (ene4._vidas == 18) {
  2643. ene4.animar();
  2644. for (int i = 0; i < nBalas; ++i) {
  2645. if (balas[i] != NULL) {
  2646. if ((balas[i]->_x == ene4._x + 2 && balas[i]->_y == ene4._y) || (balas[i]->_x == ene4._x && balas[i]->_y == ene4._y) || (balas[i]->_x == ene4._x + 1 && balas[i]->_y == ene4._y) ||
  2647. (balas[i]->_x == ene4._x + 3 && balas[i]->_y == ene4._y) || (balas[i]->_x == ene4._x + 4 && balas[i]->_y == ene4._y)) {
  2648. ene4._vidas = 17;
  2649. score += 300;
  2650. retraso = 0;
  2651. }
  2652. }
  2653.  
  2654. }
  2655. }
  2656. if (ene4._vidas == 17) {
  2657. ene4.borrar();
  2658. Console::SetCursorPosition(ene4._x + 1, ene4._y);
  2659. cout << "300";
  2660.  
  2661. if (retraso == 30) {
  2662. Console::SetCursorPosition(ene4._x + 1, ene4._y);
  2663. cout << " ";
  2664. ene4._vidas = 16;
  2665. }
  2666. retraso++;
  2667. if (ene4._vidas == 16)
  2668. retraso = 0;
  2669.  
  2670. }
  2671. if (ene3._vidas == 18) {
  2672. ene3.animar();
  2673. for (int i = 0; i < nBalas; ++i) {
  2674. if (balas[i] != NULL) {
  2675. if ((balas[i]->_x == ene3._x + 2 && balas[i]->_y == ene3._y) || (balas[i]->_x == ene3._x && balas[i]->_y == ene3._y) || (balas[i]->_x == ene3._x + 1 && balas[i]->_y == ene3._y) ||
  2676. (balas[i]->_x == ene3._x + 3 && balas[i]->_y == ene3._y) || (balas[i]->_x == ene3._x + 4 && balas[i]->_y == ene3._y)) {
  2677. ene3._vidas = 17;
  2678. score += 300;
  2679. retraso = 0;
  2680. }
  2681. }
  2682.  
  2683. }
  2684. }
  2685. if (ene3._vidas == 17) {
  2686. ene3.borrar();
  2687. Console::SetCursorPosition(ene3._x + 1, ene3._y);
  2688. cout << "300";
  2689.  
  2690. if (retraso == 30) {
  2691. Console::SetCursorPosition(ene3._x + 1, ene3._y);
  2692. cout << " ";
  2693. ene3._vidas = 16;
  2694. }
  2695. retraso++;
  2696. if (ene3._vidas == 16)
  2697. retraso = 0;
  2698.  
  2699. }
  2700. if (e3._vidas == 24 || e3._vidas == 23) {
  2701. e3.animar();
  2702. if (e3._x == nave->_x && retrasobala == 0) {
  2703.  
  2704. balaenemigas2[balaseneActual2] = e3.disparar();
  2705.  
  2706. balaseneActual2++;
  2707. retrasobala = 1;
  2708. }
  2709.  
  2710.  
  2711. for (short i = 0; i < balaseneActual2; ++i) {
  2712. if (i == balaseneActual2 - 4)
  2713. balaenemigas2[i]->animar();
  2714. retrasobala = 0;
  2715. }
  2716. for (int i = 0; i < nBalas; ++i) {
  2717. if (balas[i] != NULL) {
  2718. if ((balas[i]->_x == e3._x + 2 && balas[i]->_y == e3._y) || (balas[i]->_x == e3._x && balas[i]->_y == e3._y) || (balas[i]->_x == e3._x + 1 && balas[i]->_y == e3._y) ||
  2719. (balas[i]->_x == e3._x + 3 && balas[i]->_y == e3._y) || (balas[i]->_x == e3._x + 4 && balas[i]->_y == e3._y)) {
  2720. e3._vidas--;
  2721. if (e3._vidas == 22)
  2722. score += 500;
  2723. retraso = 0;
  2724. }
  2725. }
  2726. }
  2727. for (int i = 0; i < balasene; ++i) {
  2728. if (balaenemigas2[i] != NULL) {
  2729. if ((balaenemigas2[i]->_x == nave->_x + 2 && balaenemigas2[i]->_y == nave->_y) || (balaenemigas2[i]->_x == nave->_x && balaenemigas2[i]->_y == nave->_y) || (balaenemigas2[i]->_x == nave->_x + 1 && balaenemigas2[i]->_y == nave->_y) ||
  2730. (balaenemigas2[i]->_x == nave->_x + 3 && balaenemigas2[i]->_y == nave->_y) || (balaenemigas2[i]->_x == nave->_x + 4 && balaenemigas2[i]->_y == nave->_y) && algo == 0) {
  2731. nave->borrar();
  2732. balaenemigas2[i]->borrar();
  2733. Console::SetCursorPosition(LIMITE_ANCHO / 2 - 3, LIMITE_ALTO - 3);
  2734. nave->_x = LIMITE_ANCHO / 2 - 3; nave->_y = LIMITE_ALTO - 3;
  2735. nave->dibujar();
  2736. nave->_vidas--;
  2737. retraso = 0;
  2738. algo = 1;
  2739. }
  2740. else if (balaenemigas2[i]->_y == LIMITE_ALTO) {
  2741. balaenemigas2[i]->borrar();
  2742.  
  2743. }
  2744.  
  2745. }
  2746. }
  2747. }
  2748. if (e3._vidas == 22) {
  2749. e3.borrar();
  2750. Console::SetCursorPosition(e3._x + 1, e3._y);
  2751. cout << "500";
  2752.  
  2753. if (retraso == 21) {
  2754. Console::SetCursorPosition(e3._x + 1, e3._y);
  2755. cout << " ";
  2756. e3._vidas = 21;
  2757. }
  2758. retraso++;
  2759. if (e3._vidas == 21)
  2760. retraso = 0;
  2761.  
  2762. }
  2763.  
  2764. if (e4._vidas == 24 || e4._vidas == 23) {
  2765. e4.animar();
  2766. if (e4._x == nave->_x && retrasobala == 0) {
  2767.  
  2768. balaenemigas3[balaseneActual3] = e4.disparar();
  2769.  
  2770. balaseneActual3++;
  2771. retrasobala = 1;
  2772. }
  2773.  
  2774.  
  2775. for (short i = 0; i < balaseneActual3; ++i) {
  2776. if (i == balaseneActual3 - 4)
  2777. balaenemigas3[i]->animar();
  2778. retrasobala = 0;
  2779. }
  2780. for (int i = 0; i < nBalas; ++i) {
  2781. if (balas[i] != NULL) {
  2782. if ((balas[i]->_x == e4._x + 2 && balas[i]->_y == e4._y) || (balas[i]->_x == e4._x && balas[i]->_y == e4._y) || (balas[i]->_x == e4._x + 1 && balas[i]->_y == e4._y) ||
  2783. (balas[i]->_x == e4._x + 3 && balas[i]->_y == e4._y) || (balas[i]->_x == e4._x + 4 && balas[i]->_y == e4._y)) {
  2784. e4._vidas--;
  2785. if (e4._vidas == 22)
  2786. score += 500;
  2787. retraso = 0;
  2788. }
  2789. }
  2790. }
  2791. for (int i = 0; i < balasene; ++i) {
  2792. if (balaenemigas3[i] != NULL) {
  2793. if ((balaenemigas3[i]->_x == nave->_x + 2 && balaenemigas3[i]->_y == nave->_y) || (balaenemigas3[i]->_x == nave->_x && balaenemigas3[i]->_y == nave->_y) || (balaenemigas3[i]->_x == nave->_x + 1 && balaenemigas3[i]->_y == nave->_y) ||
  2794. (balaenemigas3[i]->_x == nave->_x + 3 && balaenemigas3[i]->_y == nave->_y) || (balaenemigas3[i]->_x == nave->_x + 4 && balaenemigas3[i]->_y == nave->_y) && algo == 0) {
  2795. nave->borrar();
  2796. balaenemigas3[i]->borrar();
  2797. Console::SetCursorPosition(LIMITE_ANCHO / 2 - 3, LIMITE_ALTO - 3);
  2798. nave->_x = LIMITE_ANCHO / 2 - 3; nave->_y = LIMITE_ALTO - 3;
  2799. nave->dibujar();
  2800. nave->_vidas--;
  2801. retraso = 0;
  2802. algo = 1;
  2803. }
  2804. else if (balaenemigas3[i]->_y == LIMITE_ALTO) {
  2805. balaenemigas3[i]->borrar();
  2806.  
  2807. }
  2808.  
  2809. }
  2810. }
  2811. }
  2812. if (e4._vidas == 22) {
  2813. e4.borrar();
  2814. Console::SetCursorPosition(e4._x + 1, e4._y);
  2815. cout << "500";
  2816.  
  2817. if (retraso == 21) {
  2818. Console::SetCursorPosition(e4._x + 1, e4._y);
  2819. cout << " ";
  2820. e4._vidas = 21;
  2821. }
  2822. retraso++;
  2823. if (e4._vidas == 21)
  2824. retraso = 0;
  2825. }
  2826. if (e5._vidas == 27 || e5._vidas == 26) {
  2827. e5.animar();
  2828. if (e5._x == nave->_x && retrasobala == 0) {
  2829.  
  2830. balaenemigas4[balaseneActual4] = e5.disparar();
  2831.  
  2832. balaseneActual4++;
  2833. retrasobala = 1;
  2834. }
  2835.  
  2836.  
  2837. for (short i = 0; i < balaseneActual4; ++i) {
  2838. if (i == balaseneActual4 - 4)
  2839. balaenemigas4[i]->animar();
  2840. retrasobala = 0;
  2841. }
  2842. for (int i = 0; i < nBalas; ++i) {
  2843. if (balas[i] != NULL) {
  2844. if ((balas[i]->_x == e5._x + 2 && balas[i]->_y == e5._y) || (balas[i]->_x == e5._x && balas[i]->_y == e5._y) || (balas[i]->_x == e5._x + 1 && balas[i]->_y == e5._y) ||
  2845. (balas[i]->_x == e5._x + 3 && balas[i]->_y == e5._y) || (balas[i]->_x == e5._x + 4 && balas[i]->_y == e5._y)) {
  2846. e5._vidas--;
  2847. if (e5._vidas == 25)
  2848. score += 500;
  2849. retraso = 0;
  2850. }
  2851.  
  2852. }
  2853. for (int i = 0; i < balasene; ++i) {
  2854. if (balaenemigas4[i] != NULL) {
  2855. if ((balaenemigas4[i]->_x == nave->_x + 2 && balaenemigas4[i]->_y == nave->_y) || (balaenemigas4[i]->_x == nave->_x && balaenemigas4[i]->_y == nave->_y) || (balaenemigas4[i]->_x == nave->_x + 1 && balaenemigas4[i]->_y == nave->_y) ||
  2856. (balaenemigas4[i]->_x == nave->_x + 3 && balaenemigas4[i]->_y == nave->_y) || (balaenemigas4[i]->_x == nave->_x + 4 && balaenemigas4[i]->_y == nave->_y) && algo == 0) {
  2857. nave->borrar();
  2858. balaenemigas4[i]->borrar();
  2859. Console::SetCursorPosition(LIMITE_ANCHO / 2 - 3, LIMITE_ALTO - 3);
  2860. nave->_x = LIMITE_ANCHO / 2 - 3; nave->_y = LIMITE_ALTO - 3;
  2861. nave->dibujar();
  2862. nave->_vidas--;
  2863. retraso = 0;
  2864. algo = 1;
  2865. }
  2866. else if (balaenemigas4[i]->_y == LIMITE_ALTO) {
  2867. balaenemigas4[i]->borrar();
  2868.  
  2869. }
  2870.  
  2871. }
  2872. }
  2873. }
  2874. }
  2875. if (e5._vidas == 25) {
  2876. e5.borrar();
  2877. Console::SetCursorPosition(e5._x + 1, e5._y);
  2878. cout << "500";
  2879.  
  2880. if (retraso == 30) {
  2881. Console::SetCursorPosition(e5._x + 1, e5._y);
  2882. cout << " ";
  2883. e5._vidas = 24;
  2884. }
  2885. retraso++;
  2886. if (e5._vidas == 24)
  2887. retraso = 0;
  2888.  
  2889. }
  2890. if (e6._vidas == 27 || e6._vidas == 26) {
  2891. e6.animar();
  2892. if (e6._x == nave->_x && retrasobala == 0) {
  2893.  
  2894. balaenemigas5[balaseneActual5] = e6.disparar();
  2895.  
  2896. balaseneActual5++;
  2897. retrasobala = 1;
  2898. }
  2899.  
  2900.  
  2901. for (short i = 0; i < balaseneActual5; ++i) {
  2902. if (i == balaseneActual5 - 4)
  2903. balaenemigas5[i]->animar();
  2904. retrasobala = 0;
  2905. }
  2906. for (int i = 0; i < nBalas; ++i) {
  2907. if (balas[i] != NULL) {
  2908. if ((balas[i]->_x == e6._x + 2 && balas[i]->_y == e6._y) || (balas[i]->_x == e6._x && balas[i]->_y == e6._y) || (balas[i]->_x == e6._x + 1 && balas[i]->_y == e6._y) ||
  2909. (balas[i]->_x == e6._x + 3 && balas[i]->_y == e6._y) || (balas[i]->_x == e6._x + 4 && balas[i]->_y == e6._y)) {
  2910. e6._vidas--;
  2911. if (e6._vidas == 25)
  2912. score += 500;
  2913. retraso = 0;
  2914. }
  2915. }
  2916. }
  2917. for (int i = 0; i < balasene; ++i) {
  2918. if (balaenemigas5[i] != NULL) {
  2919. if ((balaenemigas5[i]->_x == nave->_x + 2 && balaenemigas5[i]->_y == nave->_y) || (balaenemigas5[i]->_x == nave->_x && balaenemigas5[i]->_y == nave->_y) || (balaenemigas5[i]->_x == nave->_x + 1 && balaenemigas5[i]->_y == nave->_y) ||
  2920. (balaenemigas5[i]->_x == nave->_x + 3 && balaenemigas5[i]->_y == nave->_y) || (balaenemigas5[i]->_x == nave->_x + 4 && balaenemigas5[i]->_y == nave->_y) && algo == 0) {
  2921. nave->borrar();
  2922. balaenemigas5[i]->borrar();
  2923. Console::SetCursorPosition(LIMITE_ANCHO / 2 - 3, LIMITE_ALTO - 3);
  2924. nave->_x = LIMITE_ANCHO / 2 - 3; nave->_y = LIMITE_ALTO - 3;
  2925. nave->dibujar();
  2926. nave->_vidas--;
  2927. retraso = 0;
  2928. algo = 1;
  2929. }
  2930. else if (balaenemigas5[i]->_y == LIMITE_ALTO) {
  2931. balaenemigas5[i]->borrar();
  2932.  
  2933. }
  2934.  
  2935. }
  2936. }
  2937. }
  2938. if (e6._vidas == 25) {
  2939. e6.borrar();
  2940. Console::SetCursorPosition(e6._x + 1, e6._y);
  2941. cout << "500";
  2942.  
  2943. if (retraso == 30) {
  2944. Console::SetCursorPosition(e6._x + 1, e6._y);
  2945. cout << " ";
  2946. e6._vidas = 24;
  2947. }
  2948. retraso++;
  2949. if (e6._vidas == 24)
  2950. retraso = 0;
  2951.  
  2952. }
  2953. if (e7._vidas == 27 || e7._vidas == 26) {
  2954. e7.animar();
  2955. if (e7._x == nave->_x && retrasobala == 0) {
  2956.  
  2957. balaenemigas6[balaseneActual6] = e7.disparar();
  2958.  
  2959. balaseneActual6++;
  2960. retrasobala = 1;
  2961. }
  2962.  
  2963.  
  2964. for (short i = 0; i < balaseneActual6; ++i) {
  2965. if (i == balaseneActual6 - 4)
  2966. balaenemigas6[i]->animar();
  2967. retrasobala = 0;
  2968. }
  2969. for (int i = 0; i < nBalas; ++i) {
  2970. if (balas[i] != NULL) {
  2971. if ((balas[i]->_x == e7._x + 2 && balas[i]->_y == e7._y) || (balas[i]->_x == e7._x && balas[i]->_y == e7._y) || (balas[i]->_x == e7._x + 1 && balas[i]->_y == e7._y) ||
  2972. (balas[i]->_x == e7._x + 3 && balas[i]->_y == e7._y) || (balas[i]->_x == e7._x + 4 && balas[i]->_y == e7._y)) {
  2973. e7._vidas--;
  2974. if (e7._vidas == 25)
  2975. score += 500;
  2976. retraso = 0;
  2977. }
  2978. }
  2979. }
  2980. for (int i = 0; i < balasene; ++i) {
  2981. if (balaenemigas6[i] != NULL) {
  2982. if ((balaenemigas6[i]->_x == nave->_x + 2 && balaenemigas6[i]->_y == nave->_y) || (balaenemigas6[i]->_x == nave->_x && balaenemigas6[i]->_y == nave->_y) || (balaenemigas6[i]->_x == nave->_x + 1 && balaenemigas6[i]->_y == nave->_y) ||
  2983. (balaenemigas6[i]->_x == nave->_x + 3 && balaenemigas6[i]->_y == nave->_y) || (balaenemigas6[i]->_x == nave->_x + 4 && balaenemigas6[i]->_y == nave->_y) && algo == 0) {
  2984. nave->borrar();
  2985. balaenemigas6[i]->borrar();
  2986. Console::SetCursorPosition(LIMITE_ANCHO / 2 - 3, LIMITE_ALTO - 3);
  2987. nave->_x = LIMITE_ANCHO / 2 - 3; nave->_y = LIMITE_ALTO - 3;
  2988. nave->dibujar();
  2989. nave->_vidas--;
  2990. retraso = 0;
  2991. algo = 1;
  2992. }
  2993. else if (balaenemigas6[i]->_y == LIMITE_ALTO) {
  2994. balaenemigas6[i]->borrar();
  2995.  
  2996. }
  2997.  
  2998. }
  2999. }
  3000. }
  3001. if (e7._vidas == 25) {
  3002. e7.borrar();
  3003. Console::SetCursorPosition(e7._x + 1, e7._y);
  3004. cout << "500";
  3005.  
  3006. if (retraso == 30) {
  3007. Console::SetCursorPosition(e7._x + 1, e7._y);
  3008. cout << " ";
  3009. e7._vidas = 24;
  3010. }
  3011. retraso++;
  3012. if (e7._vidas == 24)
  3013. retraso = 0;
  3014.  
  3015. }
  3016.  
  3017. if (e8._vidas == 27 || e8._vidas == 26) {
  3018. e8.animar();
  3019. if (e8._x == nave->_x && retrasobala == 0) {
  3020.  
  3021. balaenemigas7[balaseneActual7] = e8.disparar();
  3022.  
  3023. balaseneActual7++;
  3024. retrasobala = 1;
  3025. }
  3026.  
  3027.  
  3028. for (short i = 0; i < balaseneActual7; ++i) {
  3029. if (i == balaseneActual7 - 4)
  3030. balaenemigas7[i]->animar();
  3031. retrasobala = 0;
  3032. }
  3033. for (int i = 0; i < nBalas; ++i) {
  3034. if (balas[i] != NULL) {
  3035. if ((balas[i]->_x == e8._x + 2 && balas[i]->_y == e8._y) || (balas[i]->_x == e8._x && balas[i]->_y == e8._y) || (balas[i]->_x == e8._x + 1 && balas[i]->_y == e8._y) ||
  3036. (balas[i]->_x == e8._x + 3 && balas[i]->_y == e8._y) || (balas[i]->_x == e8._x + 4 && balas[i]->_y == e8._y)) {
  3037. e8._vidas--;
  3038. if (e8._vidas == 25)
  3039. score += 500;
  3040. retraso = 0;
  3041. }
  3042. }
  3043. }
  3044. for (int i = 0; i < balasene; ++i) {
  3045. if (balaenemigas7[i] != NULL) {
  3046. if ((balaenemigas7[i]->_x == nave->_x + 2 && balaenemigas7[i]->_y == nave->_y) || (balaenemigas7[i]->_x == nave->_x && balaenemigas7[i]->_y == nave->_y) || (balaenemigas7[i]->_x == nave->_x + 1 && balaenemigas7[i]->_y == nave->_y) ||
  3047. (balaenemigas7[i]->_x == nave->_x + 3 && balaenemigas7[i]->_y == nave->_y) || (balaenemigas7[i]->_x == nave->_x + 4 && balaenemigas7[i]->_y == nave->_y) && algo == 0) {
  3048. nave->borrar();
  3049. balaenemigas7[i]->borrar();
  3050. Console::SetCursorPosition(LIMITE_ANCHO / 2 - 3, LIMITE_ALTO - 3);
  3051. nave->_x = LIMITE_ANCHO / 2 - 3; nave->_y = LIMITE_ALTO - 3;
  3052. nave->dibujar();
  3053. nave->_vidas--;
  3054. retraso = 0;
  3055. algo = 1;
  3056. }
  3057. else if (balaenemigas7[i]->_y == LIMITE_ALTO) {
  3058. balaenemigas7[i]->borrar();
  3059.  
  3060. }
  3061.  
  3062. }
  3063. }
  3064. }
  3065. if (e8._vidas == 25) {
  3066. e8.borrar();
  3067. Console::SetCursorPosition(e8._x + 1, e8._y);
  3068. cout << "500";
  3069.  
  3070. if (retraso == 30) {
  3071. Console::SetCursorPosition(e8._x + 1, e8._y);
  3072. cout << " ";
  3073. e8._vidas = 24;
  3074. }
  3075. retraso++;
  3076. if (e8._vidas == 24)
  3077. retraso = 0;
  3078.  
  3079. }
  3080. if (e9._vidas == 27 || e9._vidas == 26) {
  3081. e9.animar();
  3082. if (e9._x == nave->_x && retrasobala == 0) {
  3083.  
  3084. balaenemigas8[balaseneActual8] = e9.disparar();
  3085.  
  3086. balaseneActual8++;
  3087. retrasobala = 1;
  3088. }
  3089.  
  3090.  
  3091. for (short i = 0; i < balaseneActual8; ++i) {
  3092. if (i == balaseneActual8 - 4)
  3093. balaenemigas8[i]->animar();
  3094. retrasobala = 0;
  3095. }
  3096. for (int i = 0; i < nBalas; ++i) {
  3097. if (balas[i] != NULL) {
  3098. if ((balas[i]->_x == e9._x + 2 && balas[i]->_y == e9._y) || (balas[i]->_x == e9._x && balas[i]->_y == e9._y) || (balas[i]->_x == e9._x + 1 && balas[i]->_y == e9._y) ||
  3099. (balas[i]->_x == e9._x + 3 && balas[i]->_y == e9._y) || (balas[i]->_x == e9._x + 4 && balas[i]->_y == e9._y)) {
  3100. e9._vidas--;
  3101. if (e9._vidas == 25)
  3102. score += 500;
  3103. retraso = 0;
  3104. }
  3105. }
  3106. }
  3107. for (int i = 0; i < balasene; ++i) {
  3108. if (balaenemigas8[i] != NULL) {
  3109. if ((balaenemigas8[i]->_x == nave->_x + 2 && balaenemigas8[i]->_y == nave->_y) || (balaenemigas8[i]->_x == nave->_x && balaenemigas8[i]->_y == nave->_y) || (balaenemigas8[i]->_x == nave->_x + 1 && balaenemigas8[i]->_y == nave->_y) ||
  3110. (balaenemigas8[i]->_x == nave->_x + 3 && balaenemigas8[i]->_y == nave->_y) || (balaenemigas8[i]->_x == nave->_x + 4 && balaenemigas8[i]->_y == nave->_y) && algo == 0) {
  3111. nave->borrar();
  3112. balaenemigas8[i]->borrar();
  3113. Console::SetCursorPosition(LIMITE_ANCHO / 2 - 3, LIMITE_ALTO - 3);
  3114. nave->_x = LIMITE_ANCHO / 2 - 3; nave->_y = LIMITE_ALTO - 3;
  3115. nave->dibujar();
  3116. nave->_vidas--;
  3117. retraso = 0;
  3118. algo = 1;
  3119. }
  3120. else if (balaenemigas8[i]->_y == LIMITE_ALTO) {
  3121. balaenemigas8[i]->borrar();
  3122.  
  3123. }
  3124.  
  3125. }
  3126. }
  3127. }
  3128. if (e9._vidas == 25) {
  3129. e9.borrar();
  3130. Console::SetCursorPosition(e9._x + 1, e9._y);
  3131. cout << "500";
  3132.  
  3133. if (retraso == 30) {
  3134. Console::SetCursorPosition(e9._x + 1, e9._y);
  3135. cout << " ";
  3136. e9._vidas = 24;
  3137. }
  3138. retraso++;
  3139. if (e9._vidas == 24)
  3140. retraso = 0;
  3141.  
  3142. }
  3143. }
  3144.  
  3145.  
  3146.  
  3147.  
  3148. /*********************************************************************************/
  3149.  
  3150. /**************************************************************************/
  3151. if (nave->_x == enemiga1._x && nave->_y == enemiga1._y || nave->_x + 1 == enemiga1._x && nave->_y == enemiga1._y || nave->_x + 2 == enemiga1._x && nave->_y == enemiga1._y || nave->_x + 3 == enemiga1._x && nave->_y == enemiga1._y || nave->_x + 4 == enemiga1._x && nave->_y == enemiga1._y ||
  3152. nave->_x == enemiga1._x + 2 && nave->_y - 1 == enemiga1._y || nave->_x == enemiga1._x + 1 && nave->_y == enemiga1._y || nave->_x + 1 == enemiga1._x + 1 && nave->_y == enemiga1._y || nave->_x + 2 == enemiga1._x + 1 && nave->_y == enemiga1._y || nave->_x + 3 == enemiga1._x + 1 && nave->_y == enemiga1._y || nave->_x + 4 == enemiga1._x && nave->_y == enemiga1._y ||
  3153. nave->_x == enemiga1._x + 2 && nave->_y - 1 == enemiga1._y || nave->_x == enemiga2._x && nave->_y == enemiga2._y || nave->_x + 1 == enemiga2._x && nave->_y == enemiga2._y || nave->_x + 2 == enemiga2._x && nave->_y == enemiga2._y || nave->_x + 3 == enemiga2._x && nave->_y == enemiga2._y || nave->_x + 4 == enemiga2._x && nave->_y == enemiga2._y ||
  3154. nave->_x == enemiga2._x + 2 && nave->_y - 1 == enemiga2._y || nave->_x == enemiga2._x + 1 && nave->_y == enemiga2._y || nave->_x + 1 == enemiga2._x + 1 && nave->_y == enemiga2._y || nave->_x + 2 == enemiga2._x + 1 && nave->_y == enemiga2._y ||
  3155. nave->_x + 3 == enemiga2._x + 1 && nave->_y == enemiga2._y || nave->_x + 4 == enemiga2._x && nave->_y == enemiga2._y || nave->_x == enemiga2._x + 2 && nave->_y - 1 == enemiga2._y || nave->_x == enemiga3._x && nave->_y == enemiga3._y || nave->_x + 1 == enemiga3._x && nave->_y == enemiga3._y || nave->_x + 2 == enemiga3._x && nave->_y == enemiga3._y || nave->_x + 3 == enemiga3._x && nave->_y == enemiga3._y || nave->_x + 4 == enemiga3._x && nave->_y == enemiga3._y ||
  3156. nave->_x == enemiga3._x + 2 && nave->_y - 1 == enemiga3._y || nave->_x == enemiga3._x + 1 && nave->_y == enemiga3._y || nave->_x + 1 == enemiga3._x + 1 && nave->_y == enemiga3._y || nave->_x + 2 == enemiga3._x + 1 && nave->_y == enemiga3._y || nave->_x + 3 == enemiga3._x + 1 && nave->_y == enemiga3._y || nave->_x + 4 == enemiga3._x && nave->_y == enemiga3._y ||
  3157. nave->_x == enemiga3._x + 2 && nave->_y - 1 == enemiga3._y || nave->_x == enemiga4._x && nave->_y == enemiga4._y || nave->_x + 1 == enemiga4._x && nave->_y == enemiga4._y || nave->_x + 2 == enemiga4._x && nave->_y == enemiga4._y || nave->_x + 3 == enemiga4._x && nave->_y == enemiga4._y || nave->_x + 4 == enemiga4._x && nave->_y == enemiga4._y ||
  3158. nave->_x == enemiga4._x + 2 && nave->_y - 1 == enemiga4._y || nave->_x == enemiga4._x + 1 && nave->_y == enemiga4._y || nave->_x + 1 == enemiga4._x + 1 && nave->_y == enemiga4._y || nave->_x + 2 == enemiga4._x + 1 && nave->_y == enemiga4._y || nave->_x + 3 == enemiga4._x + 1 && nave->_y == enemiga4._y || nave->_x + 4 == enemiga4._x && nave->_y == enemiga4._y ||
  3159. nave->_x == enemiga4._x + 2 && nave->_y - 1 == enemiga4._y || nave->_x == enemiga5._x && nave->_y == enemiga5._y || nave->_x + 1 == enemiga5._x && nave->_y == enemiga5._y || nave->_x + 2 == enemiga5._x && nave->_y == enemiga5._y || nave->_x + 3 == enemiga5._x && nave->_y == enemiga5._y || nave->_x + 4 == enemiga5._x && nave->_y == enemiga5._y ||
  3160. nave->_x == enemiga5._x + 2 && nave->_y - 1 == enemiga5._y || nave->_x == enemiga5._x + 1 && nave->_y == enemiga5._y || nave->_x + 1 == enemiga5._x + 1 && nave->_y == enemiga5._y || nave->_x + 2 == enemiga5._x + 1 && nave->_y == enemiga5._y || nave->_x + 3 == enemiga5._x + 1 && nave->_y == enemiga5._y || nave->_x + 4 == enemiga5._x && nave->_y == enemiga5._y ||
  3161. nave->_x == enemiga5._x + 2 && nave->_y - 1 == enemiga5._y || nave->_x == enemiga6._x && nave->_y == enemiga6._y || nave->_x + 1 == enemiga6._x && nave->_y == enemiga6._y || nave->_x + 2 == enemiga6._x && nave->_y == enemiga6._y || nave->_x + 3 == enemiga6._x && nave->_y == enemiga6._y || nave->_x + 4 == enemiga6._x && nave->_y == enemiga6._y ||
  3162. nave->_x == enemiga6._x + 2 && nave->_y - 1 == enemiga6._y || nave->_x == enemiga6._x + 1 && nave->_y == enemiga6._y || nave->_x + 1 == enemiga6._x + 1 && nave->_y == enemiga6._y || nave->_x + 2 == enemiga6._x + 1 && nave->_y == enemiga6._y || nave->_x + 3 == enemiga6._x + 1 && nave->_y == enemiga6._y || nave->_x + 4 == enemiga6._x && nave->_y == enemiga6._y ||
  3163. nave->_x == enemiga6._x + 2 && nave->_y - 1 == enemiga6._y || nave->_x == enemiga7._x && nave->_y == enemiga7._y || nave->_x + 1 == enemiga7._x && nave->_y == enemiga7._y || nave->_x + 2 == enemiga7._x && nave->_y == enemiga7._y || nave->_x + 3 == enemiga7._x && nave->_y == enemiga7._y || nave->_x + 4 == enemiga7._x && nave->_y == enemiga7._y ||
  3164. nave->_x == enemiga7._x + 2 && nave->_y - 1 == enemiga7._y || nave->_x == enemiga7._x + 1 && nave->_y == enemiga7._y || nave->_x + 1 == enemiga7._x + 1 && nave->_y == enemiga7._y || nave->_x + 2 == enemiga7._x + 1 && nave->_y == enemiga7._y || nave->_x + 3 == enemiga7._x + 1 && nave->_y == enemiga7._y || nave->_x + 4 == enemiga7._x && nave->_y == enemiga7._y ||
  3165. nave->_x == enemiga7._x + 2 && nave->_y - 1 == enemiga7._y || nave->_x == enemiga8._x && nave->_y == enemiga8._y || nave->_x + 1 == enemiga8._x && nave->_y == enemiga8._y || nave->_x + 2 == enemiga8._x && nave->_y == enemiga8._y || nave->_x + 3 == enemiga8._x && nave->_y == enemiga8._y || nave->_x + 4 == enemiga8._x && nave->_y == enemiga8._y ||
  3166. nave->_x == enemiga8._x + 2 && nave->_y - 1 == enemiga8._y || nave->_x == enemiga8._x + 1 && nave->_y == enemiga8._y || nave->_x + 1 == enemiga8._x + 1 && nave->_y == enemiga8._y || nave->_x + 2 == enemiga8._x + 1 && nave->_y == enemiga8._y || nave->_x + 3 == enemiga8._x + 1 && nave->_y == enemiga8._y || nave->_x + 4 == enemiga8._x && nave->_y == enemiga8._y ||
  3167. nave->_x == enemiga8._x + 2 && nave->_y - 1 == enemiga8._y || nave->_x == enemiga9._x && nave->_y == enemiga9._y || nave->_x + 1 == enemiga9._x && nave->_y == enemiga9._y || nave->_x + 2 == enemiga9._x && nave->_y == enemiga9._y || nave->_x + 3 == enemiga9._x && nave->_y == enemiga9._y || nave->_x + 4 == enemiga9._x && nave->_y == enemiga9._y ||
  3168. nave->_x == enemiga9._x + 2 && nave->_y - 1 == enemiga9._y || nave->_x == enemiga9._x + 1 && nave->_y == enemiga9._y || nave->_x + 1 == enemiga9._x + 1 && nave->_y == enemiga9._y || nave->_x + 2 == enemiga9._x + 1 && nave->_y == enemiga9._y || nave->_x + 3 == enemiga9._x + 1 && nave->_y == enemiga9._y || nave->_x + 4 == enemiga9._x && nave->_y == enemiga9._y ||
  3169. nave->_x == enemiga9._x + 2 && nave->_y - 1 == enemiga9._y ||
  3170.  
  3171.  
  3172. nave->_x == ene1._x && nave->_y == ene1._y || nave->_x + 1 == ene1._x && nave->_y == ene1._y || nave->_x + 2 == ene1._x && nave->_y == ene1._y || nave->_x + 3 == ene1._x && nave->_y == ene1._y || nave->_x + 4 == ene1._x && nave->_y == ene1._y ||
  3173. nave->_x == ene1._x + 2 && nave->_y - 1 == ene1._y || nave->_x == ene1._x + 1 && nave->_y == ene1._y || nave->_x + 1 == ene1._x + 1 && nave->_y == ene1._y || nave->_x + 2 == ene1._x + 1 && nave->_y == ene1._y ||
  3174. nave->_x + 3 == ene1._x + 1 && nave->_y == ene1._y || nave->_x + 4 == ene1._x && nave->_y == ene1._y || nave->_x == ene1._x + 2 && nave->_y - 1 == ene1._y || nave->_x == ene2._x && nave->_y == ene2._y || nave->_x + 1 == ene2._x && nave->_y == ene2._y || nave->_x + 2 == ene2._x && nave->_y == ene2._y || nave->_x + 3 == ene2._x && nave->_y == ene2._y || nave->_x + 4 == ene2._x && nave->_y == ene2._y ||
  3175. nave->_x == ene2._x + 2 && nave->_y - 1 == ene2._y || nave->_x == ene2._x + 1 && nave->_y == ene2._y || nave->_x + 1 == ene2._x + 1 && nave->_y == ene2._y || nave->_x + 2 == ene2._x + 1 && nave->_y == ene2._y ||
  3176. nave->_x + 3 == ene2._x + 1 && nave->_y == ene2._y || nave->_x + 4 == ene2._x && nave->_y == ene2._y || nave->_x == ene2._x + 2 && nave->_y - 1 == ene2._y || nave->_x == ene3._x && nave->_y == ene3._y || nave->_x + 1 == ene3._x && nave->_y == ene3._y || nave->_x + 2 == ene3._x && nave->_y == ene3._y || nave->_x + 3 == ene3._x && nave->_y == ene3._y || nave->_x + 4 == ene3._x && nave->_y == ene3._y ||
  3177. nave->_x == ene3._x + 2 && nave->_y - 1 == ene3._y || nave->_x == ene3._x + 1 && nave->_y == ene3._y || nave->_x + 1 == ene3._x + 1 && nave->_y == ene3._y || nave->_x + 2 == ene3._x + 1 && nave->_y == ene3._y ||
  3178. nave->_x + 3 == ene3._x + 1 && nave->_y == ene3._y || nave->_x + 4 == ene3._x && nave->_y == ene3._y || nave->_x == ene3._x + 2 && nave->_y - 1 == ene3._y || nave->_x == ene4._x && nave->_y == ene4._y || nave->_x + 1 == ene4._x && nave->_y == ene4._y || nave->_x + 2 == ene4._x && nave->_y == ene4._y || nave->_x + 3 == ene4._x && nave->_y == ene4._y || nave->_x + 4 == ene4._x && nave->_y == ene4._y ||
  3179. nave->_x == ene4._x + 2 && nave->_y - 1 == ene4._y || nave->_x == ene4._x + 1 && nave->_y == ene4._y || nave->_x + 1 == ene4._x + 1 && nave->_y == ene4._y || nave->_x + 2 == ene4._x + 1 && nave->_y == ene4._y ||
  3180. nave->_x + 3 == ene4._x + 1 && nave->_y == ene4._y || nave->_x + 4 == ene4._x && nave->_y == ene4._y || nave->_x == ene4._x + 2 && nave->_y - 1 == ene4._y || nave->_x == ene5._x && nave->_y == ene5._y || nave->_x + 1 == ene5._x && nave->_y == ene5._y || nave->_x + 2 == ene5._x && nave->_y == ene5._y || nave->_x + 3 == ene5._x && nave->_y == ene5._y || nave->_x + 4 == ene5._x && nave->_y == ene5._y ||
  3181. nave->_x == ene5._x + 2 && nave->_y - 1 == ene5._y || nave->_x == ene5._x + 1 && nave->_y == ene5._y || nave->_x + 1 == ene5._x + 1 && nave->_y == ene5._y || nave->_x + 2 == ene5._x + 1 && nave->_y == ene5._y ||
  3182. nave->_x + 3 == ene5._x + 1 && nave->_y == ene5._y || nave->_x + 4 == ene5._x && nave->_y == ene5._y || nave->_x == ene5._x + 2 && nave->_y - 1 == ene5._y || nave->_x == ene6._x && nave->_y == ene6._y || nave->_x + 1 == ene6._x && nave->_y == ene6._y || nave->_x + 2 == ene6._x && nave->_y == ene6._y || nave->_x + 3 == ene6._x && nave->_y == ene6._y || nave->_x + 4 == ene6._x && nave->_y == ene6._y ||
  3183. nave->_x == ene6._x + 2 && nave->_y - 1 == ene6._y || nave->_x == ene6._x + 1 && nave->_y == ene6._y || nave->_x + 1 == ene6._x + 1 && nave->_y == ene6._y || nave->_x + 2 == ene6._x + 1 && nave->_y == ene6._y ||
  3184. nave->_x + 3 == ene6._x + 1 && nave->_y == ene6._y || nave->_x + 4 == ene6._x && nave->_y == ene6._y || nave->_x == ene6._x + 2 && nave->_y - 1 == ene6._y || nave->_x == ene7._x && nave->_y == ene7._y || nave->_x + 1 == ene7._x && nave->_y == ene7._y || nave->_x + 2 == ene7._x && nave->_y == ene7._y || nave->_x + 3 == ene7._x && nave->_y == ene7._y || nave->_x + 4 == ene7._x && nave->_y == ene7._y ||
  3185. nave->_x == ene7._x + 2 && nave->_y - 1 == ene7._y || nave->_x == ene7._x + 1 && nave->_y == ene7._y || nave->_x + 1 == ene7._x + 1 && nave->_y == ene7._y || nave->_x + 2 == ene7._x + 1 && nave->_y == ene7._y ||
  3186. nave->_x + 3 == ene7._x + 1 && nave->_y == ene7._y || nave->_x + 4 == ene7._x && nave->_y == ene7._y || nave->_x == ene7._x + 2 && nave->_y - 1 == ene7._y || nave->_x == ene8._x && nave->_y == ene8._y || nave->_x + 1 == ene8._x && nave->_y == ene8._y || nave->_x + 2 == ene8._x && nave->_y == ene8._y || nave->_x + 3 == ene8._x && nave->_y == ene8._y || nave->_x + 4 == ene8._x && nave->_y == ene8._y ||
  3187. nave->_x == ene8._x + 2 && nave->_y - 1 == ene8._y || nave->_x == ene8._x + 1 && nave->_y == ene8._y || nave->_x + 1 == ene8._x + 1 && nave->_y == ene8._y || nave->_x + 2 == ene8._x + 1 && nave->_y == ene8._y ||
  3188. nave->_x + 3 == ene8._x + 1 && nave->_y == ene8._y || nave->_x + 4 == ene8._x && nave->_y == ene8._y || nave->_x == ene8._x + 2 && nave->_y - 1 == ene8._y || nave->_x == ene9._x && nave->_y == ene9._y || nave->_x + 1 == ene9._x && nave->_y == ene9._y || nave->_x + 2 == ene9._x && nave->_y == ene9._y || nave->_x + 3 == ene9._x && nave->_y == ene9._y || nave->_x + 4 == ene9._x && nave->_y == ene9._y ||
  3189. nave->_x == ene9._x + 2 && nave->_y - 1 == ene9._y || nave->_x == ene9._x + 1 && nave->_y == ene9._y || nave->_x + 1 == ene9._x + 1 && nave->_y == ene9._y || nave->_x + 2 == ene9._x + 1 && nave->_y == ene9._y ||
  3190. nave->_x + 3 == ene9._x + 1 && nave->_y == ene9._y || nave->_x + 4 == ene9._x && nave->_y == ene9._y || nave->_x == ene9._x + 2 && nave->_y - 1 == ene9._y || nave->_x == ene10._x && nave->_y == ene10._y || nave->_x + 1 == ene10._x && nave->_y == ene10._y || nave->_x + 2 == ene10._x && nave->_y == ene10._y || nave->_x + 3 == ene10._x && nave->_y == ene10._y || nave->_x + 4 == ene10._x && nave->_y == ene10._y ||
  3191. nave->_x == ene10._x + 2 && nave->_y - 1 == ene10._y || nave->_x == ene10._x + 1 && nave->_y == ene10._y || nave->_x + 1 == ene10._x + 1 && nave->_y == ene10._y || nave->_x + 2 == ene10._x + 1 && nave->_y == ene10._y ||
  3192. nave->_x + 3 == ene10._x + 1 && nave->_y == ene10._y || nave->_x + 4 == ene10._x && nave->_y == ene10._y || nave->_x == ene10._x + 2 && nave->_y - 1 == ene10._y ||
  3193.  
  3194.  
  3195. nave->_x == e1._x && nave->_y == e1._y || nave->_x + 1 == e1._x && nave->_y == e1._y || nave->_x + 2 == e1._x && nave->_y == e1._y || nave->_x + 3 == e1._x && nave->_y == e1._y || nave->_x + 4 == e1._x && nave->_y == e1._y ||
  3196. nave->_x == e1._x + 2 && nave->_y - 1 == e1._y || nave->_x == e1._x + 1 && nave->_y == e1._y || nave->_x + 1 == e1._x + 1 && nave->_y == e1._y || nave->_x + 2 == e1._x + 1 && nave->_y == e1._y ||
  3197. nave->_x + 3 == e1._x + 1 && nave->_y == e1._y || nave->_x + 4 == e1._x && nave->_y == e1._y || nave->_x == e1._x + 2 && nave->_y - 1 == e1._y || nave->_x == e2._x && nave->_y == e2._y || nave->_x + 1 == e2._x && nave->_y == e2._y ||
  3198. nave->_x + 2 == e2._x && nave->_y == e2._y || nave->_x + 3 == e2._x && nave->_y == e2._y || nave->_x + 4 == e2._x && nave->_y == e2._y ||
  3199. nave->_x == e2._x + 2 && nave->_y - 1 == e2._y || nave->_x == e2._x + 1 && nave->_y == e2._y || nave->_x + 1 == e2._x + 1 && nave->_y == e2._y || nave->_x + 2 == e2._x + 1 && nave->_y == e2._y ||
  3200. nave->_x + 3 == e2._x + 1 && nave->_y == e2._y || nave->_x + 4 == e2._x && nave->_y == e2._y || nave->_x == e2._x + 2 && nave->_y - 1 == e2._y || nave->_x == e3._x && nave->_y == e3._y || nave->_x + 1 == e3._x && nave->_y == e3._y || nave->_x + 2 == e3._x && nave->_y == e3._y || nave->_x + 3 == e3._x && nave->_y == e3._y || nave->_x + 4 == e3._x && nave->_y == e3._y ||
  3201. nave->_x == e3._x + 2 && nave->_y - 1 == e3._y || nave->_x == e3._x + 1 && nave->_y == e3._y || nave->_x + 1 == e3._x + 1 && nave->_y == e3._y || nave->_x + 2 == e3._x + 1 && nave->_y == e3._y ||
  3202. nave->_x + 3 == e3._x + 1 && nave->_y == e3._y || nave->_x + 4 == e3._x && nave->_y == e3._y || nave->_x == e3._x + 2 && nave->_y - 1 == e3._y || nave->_x == e4._x && nave->_y == e4._y || nave->_x + 1 == e4._x && nave->_y == e4._y || nave->_x + 2 == e4._x && nave->_y == e4._y || nave->_x + 3 == e4._x && nave->_y == e4._y || nave->_x + 4 == e4._x && nave->_y == e4._y ||
  3203. nave->_x == e4._x + 2 && nave->_y - 1 == e4._y || nave->_x == e4._x + 1 && nave->_y == e4._y || nave->_x + 1 == e4._x + 1 && nave->_y == e4._y || nave->_x + 2 == e4._x + 1 && nave->_y == e4._y ||
  3204. nave->_x + 3 == e4._x + 1 && nave->_y == e4._y || nave->_x + 4 == e4._x && nave->_y == e4._y || nave->_x == e4._x + 2 && nave->_y - 1 == e4._y || nave->_x == e5._x && nave->_y == e5._y || nave->_x + 1 == e5._x && nave->_y == e5._y || nave->_x + 2 == e5._x && nave->_y == e5._y || nave->_x + 3 == e5._x && nave->_y == e5._y || nave->_x + 4 == e5._x && nave->_y == e5._y ||
  3205. nave->_x == e5._x + 2 && nave->_y - 1 == e5._y || nave->_x == e5._x + 1 && nave->_y == e5._y || nave->_x + 1 == e5._x + 1 && nave->_y == e5._y || nave->_x + 2 == e5._x + 1 && nave->_y == e5._y ||
  3206. nave->_x + 3 == e5._x + 1 && nave->_y == e5._y || nave->_x + 4 == e5._x && nave->_y == e5._y || nave->_x == e5._x + 2 && nave->_y - 1 == e5._y || nave->_x == e6._x && nave->_y == e6._y || nave->_x + 1 == e6._x && nave->_y == e6._y || nave->_x + 2 == e6._x && nave->_y == e6._y || nave->_x + 3 == e6._x && nave->_y == e6._y || nave->_x + 4 == e6._x && nave->_y == e6._y ||
  3207. nave->_x == e6._x + 2 && nave->_y - 1 == e6._y || nave->_x == e6._x + 1 && nave->_y == e6._y || nave->_x + 1 == e6._x + 1 && nave->_y == e6._y || nave->_x + 2 == e6._x + 1 && nave->_y == e6._y ||
  3208. nave->_x + 3 == e6._x + 1 && nave->_y == e6._y || nave->_x + 4 == e6._x && nave->_y == e6._y || nave->_x == e6._x + 2 && nave->_y - 1 == e6._y || nave->_x == e7._x && nave->_y == e7._y || nave->_x + 1 == e7._x && nave->_y == e7._y || nave->_x + 2 == e7._x && nave->_y == e7._y || nave->_x + 3 == e7._x && nave->_y == e7._y || nave->_x + 4 == e7._x && nave->_y == e7._y ||
  3209. nave->_x == e7._x + 2 && nave->_y - 1 == e7._y || nave->_x == e7._x + 1 && nave->_y == e7._y || nave->_x + 1 == e7._x + 1 && nave->_y == e7._y || nave->_x + 2 == e7._x + 1 && nave->_y == e7._y ||
  3210. nave->_x + 3 == e7._x + 1 && nave->_y == e7._y || nave->_x + 4 == e7._x && nave->_y == e7._y || nave->_x == e7._x + 2 && nave->_y - 1 == e7._y || nave->_x == e8._x && nave->_y == e8._y || nave->_x + 1 == e8._x && nave->_y == e8._y || nave->_x + 2 == e8._x && nave->_y == e8._y || nave->_x + 3 == e8._x && nave->_y == e8._y || nave->_x + 4 == e8._x && nave->_y == e8._y ||
  3211. nave->_x == e8._x + 2 && nave->_y - 1 == e8._y || nave->_x == e8._x + 1 && nave->_y == e8._y || nave->_x + 1 == e8._x + 1 && nave->_y == e8._y || nave->_x + 2 == e8._x + 1 && nave->_y == e8._y ||
  3212. nave->_x + 3 == e8._x + 1 && nave->_y == e8._y || nave->_x + 4 == e8._x && nave->_y == e8._y || nave->_x == e8._x + 2 && nave->_y - 1 == e8._y || nave->_x == e9._x && nave->_y == e9._y || nave->_x + 1 == e9._x && nave->_y == e9._y || nave->_x + 2 == e9._x && nave->_y == e9._y || nave->_x + 3 == e9._x && nave->_y == e9._y || nave->_x + 4 == e9._x && nave->_y == e9._y ||
  3213. nave->_x == e9._x + 2 && nave->_y - 1 == e9._y || nave->_x == e9._x + 1 && nave->_y == e9._y || nave->_x + 1 == e9._x + 1 && nave->_y == e9._y || nave->_x + 2 == e9._x + 1 && nave->_y == e9._y ||
  3214. nave->_x + 3 == e9._x + 1 && nave->_y == e9._y || nave->_x + 4 == e9._x && nave->_y == e9._y || nave->_x == e9._x + 2 && nave->_y - 1 == e9._y || nave->_x == e10._x && nave->_y == e10._y || nave->_x + 1 == e10._x && nave->_y == e10._y || nave->_x + 2 == e10._x && nave->_y == e10._y || nave->_x + 3 == e10._x && nave->_y == e10._y || nave->_x + 4 == e10._x && nave->_y == e10._y ||
  3215. nave->_x == e10._x + 2 && nave->_y - 1 == e10._y || nave->_x == e10._x + 1 && nave->_y == e10._y || nave->_x + 1 == e10._x + 1 && nave->_y == e10._y || nave->_x + 2 == e10._x + 1 && nave->_y == e10._y ||
  3216. nave->_x + 3 == e10._x + 1 && nave->_y == e10._y || nave->_x + 4 == e10._x && nave->_y == e10._y || nave->_x == e10._x + 2 && nave->_y - 1 == e10._y) {
  3217. nave->borrar();
  3218. Console::SetCursorPosition(LIMITE_ANCHO / 2 - 3, LIMITE_ALTO - 3);
  3219. nave->_x = LIMITE_ANCHO / 2 - 3; nave->_y = LIMITE_ALTO - 3;
  3220. nave->dibujar();
  3221. nave->_vidas--;
  3222. }
  3223. imprimirMensaje(*nave, municion, score, tiempo);
  3224.  
  3225. if (municion == 0) {
  3226. break;
  3227. }
  3228. for (int i = 0; i < 30; ++i) {
  3229.  
  3230. if ((nave->_x == es[i]._x && nave->_y == es[i]._y) || (nave->_x + 1 == es[i]._x && nave->_y == es[i]._y) || (nave->_x + 2 == es[i]._x && nave->_y == es[i]._y)
  3231. || (nave->_x + 3 == es[i]._x && nave->_y == es[i]._y) || (nave->_x + 4 == es[i]._x && nave->_y == es[i]._y) || (nave->_x + 2 == es[i]._x && nave->_y - 1 == es[i]._y)
  3232. || (nave->_x + 1 == es[i]._x && nave->_y - 1 == es[i]._y) || (nave->_x + 3 == es[i]._x && nave->_y - 1 == es[i]._y) ||
  3233. (nave->_x + 4 == es[i]._x && nave->_y - 1 == es[i]._y) || (nave->_x == es[i]._x && nave->_y - 1 == es[i]._y) ||
  3234. (enemiga1._x == es[i]._x && enemiga1._y - 1 == es[i]._y) || (enemiga1._x + 1 == es[i]._x && enemiga1._y - 1 == es[i]._y) ||
  3235. (enemiga1._x + 2 == es[i]._x && enemiga1._y - 1 == es[i]._y) || (enemiga1._x + 3 == es[i]._x && enemiga1._y - 1 == es[i]._y) ||
  3236. (enemiga1._x + 4 == es[i]._x && enemiga1._y - 1 == es[i]._y) || (enemiga1._x == es[i]._x && enemiga1._y == es[i]._y) || (enemiga1._x + 1 == es[i]._x && enemiga1._y == es[i]._y) ||
  3237. (enemiga1._x + 2 == es[i]._x && enemiga1._y == es[i]._y) || (enemiga1._x + 3 == es[i]._x && enemiga1._y == es[i]._y) || (enemiga1._x + 4 == es[i]._x && enemiga1._y == es[i]._y) ||
  3238. (enemiga2._x == es[i]._x && enemiga2._y - 1 == es[i]._y) || (enemiga2._x + 1 == es[i]._x && enemiga2._y - 1 == es[i]._y) ||
  3239. (enemiga2._x + 2 == es[i]._x && enemiga2._y - 1 == es[i]._y) || (enemiga2._x + 3 == es[i]._x && enemiga2._y - 1 == es[i]._y) ||
  3240. (enemiga2._x + 4 == es[i]._x && enemiga2._y - 1 == es[i]._y) || (enemiga2._x == es[i]._x && enemiga2._y == es[i]._y) || (enemiga2._x + 1 == es[i]._x && enemiga2._y == es[i]._y) ||
  3241. (enemiga2._x + 2 == es[i]._x && enemiga2._y == es[i]._y) || (enemiga2._x + 3 == es[i]._x && enemiga2._y == es[i]._y) || (enemiga2._x + 4 == es[i]._x && enemiga2._y == es[i]._y) || (enemiga3._x == es[i]._x && enemiga3._y - 1 == es[i]._y) || (enemiga3._x + 1 == es[i]._x && enemiga3._y - 1 == es[i]._y) ||
  3242. (enemiga3._x + 2 == es[i]._x && enemiga3._y - 1 == es[i]._y) || (enemiga3._x + 3 == es[i]._x && enemiga3._y - 1 == es[i]._y) ||
  3243. (enemiga3._x + 4 == es[i]._x && enemiga3._y - 1 == es[i]._y) || (enemiga3._x == es[i]._x && enemiga3._y == es[i]._y) || (enemiga3._x + 1 == es[i]._x && enemiga3._y == es[i]._y) ||
  3244. (enemiga3._x + 2 == es[i]._x && enemiga3._y == es[i]._y) || (enemiga3._x + 3 == es[i]._x && enemiga3._y == es[i]._y) || (enemiga3._x + 4 == es[i]._x && enemiga3._y == es[i]._y) ||
  3245. (enemiga4._x == es[i]._x && enemiga4._y - 1 == es[i]._y) || (enemiga4._x + 1 == es[i]._x && enemiga4._y - 1 == es[i]._y) ||
  3246. (enemiga4._x + 2 == es[i]._x && enemiga4._y - 1 == es[i]._y) || (enemiga4._x + 3 == es[i]._x && enemiga4._y - 1 == es[i]._y) ||
  3247. (enemiga4._x + 4 == es[i]._x && enemiga4._y - 1 == es[i]._y) || (enemiga4._x == es[i]._x && enemiga4._y == es[i]._y) || (enemiga4._x + 1 == es[i]._x && enemiga4._y == es[i]._y) ||
  3248. (enemiga4._x + 2 == es[i]._x && enemiga4._y == es[i]._y) || (enemiga4._x + 3 == es[i]._x && enemiga4._y == es[i]._y) || (enemiga4._x + 4 == es[i]._x && enemiga4._y == es[i]._y) ||
  3249. (enemiga5._x == es[i]._x && enemiga5._y - 1 == es[i]._y) || (enemiga5._x + 1 == es[i]._x && enemiga5._y - 1 == es[i]._y) ||
  3250. (enemiga5._x + 2 == es[i]._x && enemiga5._y - 1 == es[i]._y) || (enemiga5._x + 3 == es[i]._x && enemiga5._y - 1 == es[i]._y) ||
  3251. (enemiga5._x + 4 == es[i]._x && enemiga5._y - 1 == es[i]._y) || (enemiga5._x == es[i]._x && enemiga5._y == es[i]._y) || (enemiga5._x + 1 == es[i]._x && enemiga5._y == es[i]._y) ||
  3252. (enemiga5._x + 2 == es[i]._x && enemiga5._y == es[i]._y) || (enemiga5._x + 3 == es[i]._x && enemiga5._y == es[i]._y) || (enemiga5._x + 4 == es[i]._x && enemiga5._y == es[i]._y) ||
  3253. (enemiga6._x == es[i]._x && enemiga6._y - 1 == es[i]._y) || (enemiga6._x + 1 == es[i]._x && enemiga6._y - 1 == es[i]._y) ||
  3254. (enemiga6._x + 2 == es[i]._x && enemiga6._y - 1 == es[i]._y) || (enemiga6._x + 3 == es[i]._x && enemiga6._y - 1 == es[i]._y) ||
  3255. (enemiga6._x + 4 == es[i]._x && enemiga6._y - 1 == es[i]._y) || (enemiga6._x == es[i]._x && enemiga6._y == es[i]._y) || (enemiga6._x + 1 == es[i]._x && enemiga6._y == es[i]._y) ||
  3256. (enemiga6._x + 2 == es[i]._x && enemiga6._y == es[i]._y) || (enemiga6._x + 3 == es[i]._x && enemiga6._y == es[i]._y) || (enemiga6._x + 4 == es[i]._x && enemiga6._y == es[i]._y) ||
  3257. (enemiga7._x == es[i]._x && enemiga7._y - 1 == es[i]._y) || (enemiga7._x + 1 == es[i]._x && enemiga7._y - 1 == es[i]._y) ||
  3258. (enemiga7._x + 2 == es[i]._x && enemiga7._y - 1 == es[i]._y) || (enemiga7._x + 3 == es[i]._x && enemiga7._y - 1 == es[i]._y) ||
  3259. (enemiga7._x + 4 == es[i]._x && enemiga7._y - 1 == es[i]._y) || (enemiga7._x == es[i]._x && enemiga7._y == es[i]._y) || (enemiga7._x + 1 == es[i]._x && enemiga7._y == es[i]._y) ||
  3260. (enemiga7._x + 2 == es[i]._x && enemiga7._y == es[i]._y) || (enemiga7._x + 3 == es[i]._x && enemiga7._y == es[i]._y) || (enemiga7._x + 4 == es[i]._x && enemiga7._y == es[i]._y) ||
  3261. (enemiga8._x == es[i]._x && enemiga8._y - 1 == es[i]._y) || (enemiga8._x + 1 == es[i]._x && enemiga8._y - 1 == es[i]._y) ||
  3262. (enemiga8._x + 2 == es[i]._x && enemiga8._y - 1 == es[i]._y) || (enemiga8._x + 3 == es[i]._x && enemiga8._y - 1 == es[i]._y) ||
  3263. (enemiga8._x + 4 == es[i]._x && enemiga8._y - 1 == es[i]._y) || (enemiga8._x == es[i]._x && enemiga8._y == es[i]._y) || (enemiga8._x + 1 == es[i]._x && enemiga8._y == es[i]._y) ||
  3264. (enemiga8._x + 2 == es[i]._x && enemiga8._y == es[i]._y) || (enemiga8._x + 3 == es[i]._x && enemiga8._y == es[i]._y) || (enemiga8._x + 4 == es[i]._x && enemiga8._y == es[i]._y) ||
  3265. (enemiga9._x == es[i]._x && enemiga9._y - 1 == es[i]._y) || (enemiga9._x + 1 == es[i]._x && enemiga9._y - 1 == es[i]._y) ||
  3266. (enemiga9._x + 2 == es[i]._x && enemiga9._y - 1 == es[i]._y) || (enemiga9._x + 3 == es[i]._x && enemiga9._y - 1 == es[i]._y) ||
  3267. (enemiga9._x + 4 == es[i]._x && enemiga9._y - 1 == es[i]._y) || (enemiga9._x == es[i]._x && enemiga9._y == es[i]._y) || (enemiga9._x + 1 == es[i]._x && enemiga9._y == es[i]._y) ||
  3268. (enemiga9._x + 2 == es[i]._x && enemiga9._y == es[i]._y) || (enemiga9._x + 3 == es[i]._x && enemiga9._y == es[i]._y) || (enemiga9._x + 4 == es[i]._x && enemiga9._y == es[i]._y) ||
  3269.  
  3270.  
  3271.  
  3272.  
  3273. (ene2._x == es[i]._x && ene2._y - 1 == es[i]._y) || (ene2._x + 1 == es[i]._x && ene2._y - 1 == es[i]._y) ||
  3274. (ene2._x + 2 == es[i]._x && ene2._y - 1 == es[i]._y) || (ene2._x + 3 == es[i]._x && ene2._y - 1 == es[i]._y) ||
  3275. (ene2._x + 4 == es[i]._x && ene2._y - 1 == es[i]._y) || (ene2._x == es[i]._x && ene2._y == es[i]._y) || (ene2._x + 1 == es[i]._x && ene2._y == es[i]._y) ||
  3276. (ene2._x + 2 == es[i]._x && ene2._y == es[i]._y) || (ene2._x + 3 == es[i]._x && ene2._y == es[i]._y) || (ene2._x + 4 == es[i]._x && ene2._y == es[i]._y) ||
  3277. (ene1._x == es[i]._x && ene1._y - 1 == es[i]._y) || (ene1._x + 1 == es[i]._x && ene1._y - 1 == es[i]._y) ||
  3278. (ene1._x + 2 == es[i]._x && ene1._y - 1 == es[i]._y) || (ene1._x + 3 == es[i]._x && ene1._y - 1 == es[i]._y) ||
  3279. (ene1._x + 4 == es[i]._x && ene1._y - 1 == es[i]._y) || (ene1._x == es[i]._x && ene1._y == es[i]._y) || (ene1._x + 1 == es[i]._x && ene1._y == es[i]._y) ||
  3280. (ene1._x + 2 == es[i]._x && ene1._y == es[i]._y) || (ene1._x + 3 == es[i]._x && ene1._y == es[i]._y) || (ene1._x + 4 == es[i]._x && ene1._y == es[i]._y) ||
  3281. (ene3._x == es[i]._x && ene3._y - 1 == es[i]._y) || (ene3._x + 1 == es[i]._x && ene3._y - 1 == es[i]._y) ||
  3282. (ene3._x + 2 == es[i]._x && ene3._y - 1 == es[i]._y) || (ene3._x + 3 == es[i]._x && ene3._y - 1 == es[i]._y) ||
  3283. (ene3._x + 4 == es[i]._x && ene3._y - 1 == es[i]._y) || (ene3._x == es[i]._x && ene3._y == es[i]._y) || (ene3._x + 1 == es[i]._x && ene3._y == es[i]._y) ||
  3284. (ene3._x + 2 == es[i]._x && ene3._y == es[i]._y) || (ene3._x + 3 == es[i]._x && ene3._y == es[i]._y) || (ene3._x + 4 == es[i]._x && ene3._y == es[i]._y) ||
  3285. (ene4._x == es[i]._x && ene4._y - 1 == es[i]._y) || (ene4._x + 1 == es[i]._x && ene4._y - 1 == es[i]._y) ||
  3286. (ene4._x + 2 == es[i]._x && ene4._y - 1 == es[i]._y) || (ene4._x + 3 == es[i]._x && ene4._y - 1 == es[i]._y) ||
  3287. (ene4._x + 4 == es[i]._x && ene4._y - 1 == es[i]._y) || (ene4._x == es[i]._x && ene4._y == es[i]._y) || (ene4._x + 1 == es[i]._x && ene4._y == es[i]._y) ||
  3288. (ene4._x + 2 == es[i]._x && ene4._y == es[i]._y) || (ene4._x + 3 == es[i]._x && ene4._y == es[i]._y) || (ene4._x + 4 == es[i]._x && ene4._y == es[i]._y) ||
  3289. (ene5._x == es[i]._x && ene5._y - 1 == es[i]._y) || (ene5._x + 1 == es[i]._x && ene5._y - 1 == es[i]._y) ||
  3290. (ene5._x + 2 == es[i]._x && ene5._y - 1 == es[i]._y) || (ene5._x + 3 == es[i]._x && ene5._y - 1 == es[i]._y) ||
  3291. (ene5._x + 4 == es[i]._x && ene5._y - 1 == es[i]._y) || (ene5._x == es[i]._x && ene5._y == es[i]._y) || (ene5._x + 1 == es[i]._x && ene5._y == es[i]._y) ||
  3292. (ene5._x + 2 == es[i]._x && ene5._y == es[i]._y) || (ene5._x + 3 == es[i]._x && ene5._y == es[i]._y) || (ene5._x + 4 == es[i]._x && ene5._y == es[i]._y) ||
  3293. (ene6._x == es[i]._x && ene6._y - 1 == es[i]._y) || (ene6._x + 1 == es[i]._x && ene6._y - 1 == es[i]._y) ||
  3294. (ene6._x + 2 == es[i]._x && ene6._y - 1 == es[i]._y) || (ene6._x + 3 == es[i]._x && ene6._y - 1 == es[i]._y) ||
  3295. (ene6._x + 4 == es[i]._x && ene6._y - 1 == es[i]._y) || (ene6._x == es[i]._x && ene6._y == es[i]._y) || (ene6._x + 1 == es[i]._x && ene6._y == es[i]._y) ||
  3296. (ene6._x + 2 == es[i]._x && ene6._y == es[i]._y) || (ene6._x + 3 == es[i]._x && ene6._y == es[i]._y) || (ene6._x + 4 == es[i]._x && ene6._y == es[i]._y) ||
  3297. (ene7._x == es[i]._x && ene7._y - 1 == es[i]._y) || (ene7._x + 1 == es[i]._x && ene7._y - 1 == es[i]._y) ||
  3298. (ene7._x + 2 == es[i]._x && ene7._y - 1 == es[i]._y) || (ene7._x + 3 == es[i]._x && ene7._y - 1 == es[i]._y) ||
  3299. (ene7._x + 4 == es[i]._x && ene7._y - 1 == es[i]._y) || (ene7._x == es[i]._x && ene7._y == es[i]._y) || (ene7._x + 1 == es[i]._x && ene7._y == es[i]._y) ||
  3300. (ene7._x + 2 == es[i]._x && ene7._y == es[i]._y) || (ene7._x + 3 == es[i]._x && ene7._y == es[i]._y) || (ene7._x + 4 == es[i]._x && ene7._y == es[i]._y) ||
  3301. (ene8._x == es[i]._x && ene8._y - 1 == es[i]._y) || (ene8._x + 1 == es[i]._x && ene8._y - 1 == es[i]._y) ||
  3302. (ene8._x + 2 == es[i]._x && ene8._y - 1 == es[i]._y) || (ene8._x + 3 == es[i]._x && ene8._y - 1 == es[i]._y) ||
  3303. (ene8._x + 4 == es[i]._x && ene8._y - 1 == es[i]._y) || (ene8._x == es[i]._x && ene8._y == es[i]._y) || (ene8._x + 1 == es[i]._x && ene8._y == es[i]._y) ||
  3304. (ene8._x + 2 == es[i]._x && ene8._y == es[i]._y) || (ene8._x + 3 == es[i]._x && ene8._y == es[i]._y) || (ene8._x + 4 == es[i]._x && ene8._y == es[i]._y) ||
  3305. (ene9._x == es[i]._x && ene9._y - 1 == es[i]._y) || (ene9._x + 1 == es[i]._x && ene9._y - 1 == es[i]._y) ||
  3306. (ene9._x + 2 == es[i]._x && ene9._y - 1 == es[i]._y) || (ene9._x + 3 == es[i]._x && ene9._y - 1 == es[i]._y) ||
  3307. (ene9._x + 4 == es[i]._x && ene9._y - 1 == es[i]._y) || (ene9._x == es[i]._x && ene9._y == es[i]._y) || (ene9._x + 1 == es[i]._x && ene9._y == es[i]._y) ||
  3308. (ene9._x + 2 == es[i]._x && ene9._y == es[i]._y) || (ene9._x + 3 == es[i]._x && ene9._y == es[i]._y) || (ene9._x + 4 == es[i]._x && ene9._y == es[i]._y) ||
  3309. (ene10._x == es[i]._x && ene10._y - 1 == es[i]._y) || (ene10._x + 1 == es[i]._x && ene10._y - 1 == es[i]._y) ||
  3310. (ene10._x + 2 == es[i]._x && ene10._y - 1 == es[i]._y) || (ene10._x + 3 == es[i]._x && ene10._y - 1 == es[i]._y) ||
  3311. (ene10._x + 4 == es[i]._x && ene10._y - 1 == es[i]._y) || (ene10._x == es[i]._x && ene10._y == es[i]._y) || (ene10._x + 1 == es[i]._x && ene10._y == es[i]._y) ||
  3312. (ene10._x + 2 == es[i]._x && ene10._y == es[i]._y) || (ene10._x + 3 == es[i]._x && ene10._y == es[i]._y) || (ene10._x + 4 == es[i]._x && ene10._y == es[i]._y) ||
  3313.  
  3314.  
  3315.  
  3316.  
  3317. (e1._x == es[i]._x && e1._y - 1 == es[i]._y) || (e1._x + 1 == es[i]._x && e1._y - 1 == es[i]._y) ||
  3318. (e1._x + 2 == es[i]._x && e1._y - 1 == es[i]._y) || (e1._x + 3 == es[i]._x && e1._y - 1 == es[i]._y) ||
  3319. (e1._x + 4 == es[i]._x && e1._y - 1 == es[i]._y) || (e1._x == es[i]._x && e1._y == es[i]._y) || (e1._x + 1 == es[i]._x && e1._y == es[i]._y) ||
  3320. (e1._x + 2 == es[i]._x && e1._y == es[i]._y) || (e1._x + 3 == es[i]._x && e1._y == es[i]._y) || (e1._x + 4 == es[i]._x && e1._y == es[i]._y) ||
  3321. (e2._x == es[i]._x && e2._y - 1 == es[i]._y) || (e2._x + 1 == es[i]._x && e2._y - 1 == es[i]._y) ||
  3322. (e2._x + 2 == es[i]._x && e2._y - 1 == es[i]._y) || (e2._x + 3 == es[i]._x && e2._y - 1 == es[i]._y) ||
  3323. (e2._x + 4 == es[i]._x && e2._y - 1 == es[i]._y) || (e2._x == es[i]._x && e2._y == es[i]._y) || (e2._x + 1 == es[i]._x && e2._y == es[i]._y) ||
  3324. (e2._x + 2 == es[i]._x && e2._y == es[i]._y) || (e2._x + 3 == es[i]._x && e2._y == es[i]._y) || (e2._x + 4 == es[i]._x && e2._y == es[i]._y) ||
  3325. (e3._x == es[i]._x && e3._y - 1 == es[i]._y) || (e3._x + 1 == es[i]._x && e3._y - 1 == es[i]._y) ||
  3326. (e3._x + 2 == es[i]._x && e3._y - 1 == es[i]._y) || (e3._x + 3 == es[i]._x && e3._y - 1 == es[i]._y) ||
  3327. (e3._x + 4 == es[i]._x && e3._y - 1 == es[i]._y) || (e3._x == es[i]._x && e3._y == es[i]._y) || (e3._x + 1 == es[i]._x && e3._y == es[i]._y) ||
  3328. (e3._x + 2 == es[i]._x && e3._y == es[i]._y) || (e3._x + 3 == es[i]._x && e3._y == es[i]._y) || (e3._x + 4 == es[i]._x && e3._y == es[i]._y) ||
  3329. (e4._x == es[i]._x && e4._y - 1 == es[i]._y) || (e4._x + 1 == es[i]._x && e4._y - 1 == es[i]._y) ||
  3330. (e4._x + 2 == es[i]._x && e4._y - 1 == es[i]._y) || (e4._x + 3 == es[i]._x && e4._y - 1 == es[i]._y) ||
  3331. (e4._x + 4 == es[i]._x && e4._y - 1 == es[i]._y) || (e4._x == es[i]._x && e4._y == es[i]._y) || (e4._x + 1 == es[i]._x && e4._y == es[i]._y) ||
  3332. (e4._x + 2 == es[i]._x && e4._y == es[i]._y) || (e4._x + 3 == es[i]._x && e4._y == es[i]._y) || (e4._x + 4 == es[i]._x && e4._y == es[i]._y) ||
  3333. (e5._x == es[i]._x && e5._y - 1 == es[i]._y) || (e5._x + 1 == es[i]._x && e5._y - 1 == es[i]._y) ||
  3334. (e5._x + 2 == es[i]._x && e5._y - 1 == es[i]._y) || (e5._x + 3 == es[i]._x && e5._y - 1 == es[i]._y) ||
  3335. (e5._x + 4 == es[i]._x && e5._y - 1 == es[i]._y) || (e5._x == es[i]._x && e5._y == es[i]._y) || (e5._x + 1 == es[i]._x && e5._y == es[i]._y) ||
  3336. (e5._x + 2 == es[i]._x && e5._y == es[i]._y) || (e5._x + 3 == es[i]._x && e5._y == es[i]._y) || (e5._x + 4 == es[i]._x && e5._y == es[i]._y) ||
  3337. (e6._x == es[i]._x && e6._y - 1 == es[i]._y) || (e6._x + 1 == es[i]._x && e6._y - 1 == es[i]._y) ||
  3338. (e6._x + 2 == es[i]._x && e6._y - 1 == es[i]._y) || (e6._x + 3 == es[i]._x && e6._y - 1 == es[i]._y) ||
  3339. (e6._x + 4 == es[i]._x && e6._y - 1 == es[i]._y) || (e6._x == es[i]._x && e6._y == es[i]._y) || (e6._x + 1 == es[i]._x && e6._y == es[i]._y) ||
  3340. (e6._x + 2 == es[i]._x && e6._y == es[i]._y) || (e6._x + 3 == es[i]._x && e6._y == es[i]._y) || (e6._x + 4 == es[i]._x && e6._y == es[i]._y) ||
  3341. (e7._x == es[i]._x && e7._y - 1 == es[i]._y) || (e7._x + 1 == es[i]._x && e7._y - 1 == es[i]._y) ||
  3342. (e7._x + 2 == es[i]._x && e7._y - 1 == es[i]._y) || (e7._x + 3 == es[i]._x && e7._y - 1 == es[i]._y) ||
  3343. (e7._x + 4 == es[i]._x && e7._y - 1 == es[i]._y) || (e7._x == es[i]._x && e7._y == es[i]._y) || (e7._x + 1 == es[i]._x && e7._y == es[i]._y) ||
  3344. (e7._x + 2 == es[i]._x && e7._y == es[i]._y) || (e7._x + 3 == es[i]._x && e7._y == es[i]._y) || (e7._x + 4 == es[i]._x && e7._y == es[i]._y) ||
  3345. (e8._x == es[i]._x && e8._y - 1 == es[i]._y) || (e8._x + 1 == es[i]._x && e8._y - 1 == es[i]._y) ||
  3346. (e8._x + 2 == es[i]._x && e8._y - 1 == es[i]._y) || (e8._x + 3 == es[i]._x && e8._y - 1 == es[i]._y) ||
  3347. (e8._x + 4 == es[i]._x && e8._y - 1 == es[i]._y) || (e8._x == es[i]._x && e8._y == es[i]._y) || (e8._x + 1 == es[i]._x && e8._y == es[i]._y) ||
  3348. (e8._x + 2 == es[i]._x && e8._y == es[i]._y) || (e8._x + 3 == es[i]._x && e8._y == es[i]._y) || (e8._x + 4 == es[i]._x && e8._y == es[i]._y) ||
  3349. (e9._x == es[i]._x && e9._y - 1 == es[i]._y) || (e9._x + 1 == es[i]._x && e9._y - 1 == es[i]._y) ||
  3350. (e9._x + 2 == es[i]._x && e9._y - 1 == es[i]._y) || (e9._x + 3 == es[i]._x && e9._y - 1 == es[i]._y) ||
  3351. (e9._x + 4 == es[i]._x && e9._y - 1 == es[i]._y) || (e9._x == es[i]._x && e9._y == es[i]._y) || (e9._x + 1 == es[i]._x && e9._y == es[i]._y) ||
  3352. (e9._x + 2 == es[i]._x && e9._y == es[i]._y) || (e9._x + 3 == es[i]._x && e9._y == es[i]._y) || (e9._x + 4 == es[i]._x && e9._y == es[i]._y) ||
  3353. (e10._x == es[i]._x && e10._y - 1 == es[i]._y) || (e10._x + 1 == es[i]._x && e10._y - 1 == es[i]._y) ||
  3354. (e10._x + 2 == es[i]._x && e10._y - 1 == es[i]._y) || (e10._x + 3 == es[i]._x && e10._y - 1 == es[i]._y) ||
  3355. (e10._x + 4 == es[i]._x && e10._y - 1 == es[i]._y) || (e10._x == es[i]._x && e10._y == es[i]._y) || (e10._x + 1 == es[i]._x && e10._y == es[i]._y) ||
  3356. (e10._x + 2 == es[i]._x && e10._y == es[i]._y) || (e10._x + 3 == es[i]._x && e10._y == es[i]._y) || (e10._x + 4 == es[i]._x && e10._y == es[i]._y))
  3357. es[i].borrar();
  3358. else
  3359. es[i].animar();
  3360. }
  3361.  
  3362.  
  3363. if (kbhit()) {
  3364. char tecla = getch();
  3365. if (tecla == DISPARO) {
  3366. balas[nBalasActual] = nave->disparar();
  3367. municion--;
  3368. nBalasActual++;
  3369. }
  3370. if (
  3371. Direccion(tecla) == Direccion::Izquierda ||
  3372. Direccion(tecla) == Direccion::Derecha) {
  3373. nave->animar(Direccion(tecla));
  3374. }
  3375. if (tecla == 13) {
  3376. Console::SetCursorPosition(LIMITE_ANCHO / 2 - 4, LIMITE_ALTO / 2);
  3377. cout << "PAUSE";
  3378.  
  3379. system("pause>0");
  3380. Console::SetCursorPosition(LIMITE_ANCHO / 2 - 4, LIMITE_ALTO / 2);
  3381. cout << " ";
  3382.  
  3383. }
  3384. }
  3385. for (short i = 0; i < nBalasActual; ++i) {
  3386. balas[i]->animar();
  3387. }
  3388. if (nave->_vidas == 0) {
  3389. break;
  3390. }
  3391. if (tiempo == 0) {
  3392. tiempo = 9500;
  3393. nave->_vidas--;
  3394. }
  3395. if (score == 19200) {
  3396. break;
  3397. }
  3398.  
  3399. _sleep(zzz);
  3400.  
  3401.  
  3402.  
  3403. }
  3404. delete[] es;
  3405. if (municion == 0 || nave->_vidas == 0) {
  3406. system("cls");
  3407. Console::SetCursorPosition(LIMITE_ANCHO / 2, LIMITE_ALTO / 2);
  3408. cout << "GAME OVER";
  3409. Console::SetCursorPosition(LIMITE_ANCHO, LIMITE_ALTO);
  3410. cin >> a;
  3411. if (a == 1890) {
  3412. system("cls");
  3413. Console::SetCursorPosition(LIMITE_ANCHO / 2, LIMITE_ALTO / 2);
  3414. cout << "You win";
  3415. system("pause>0");
  3416. }
  3417. }
  3418. if (score == 19200) {
  3419. system("cls");
  3420. Console::SetCursorPosition(LIMITE_ANCHO / 2, LIMITE_ALTO / 2);
  3421. cout << "You win";
  3422. system("pause>0");
  3423.  
  3424. }
  3425.  
  3426. }
  3427. /*****************************************************************/
  3428. int main() {
  3429. srand(time(NULL));
  3430. Console::CursorVisible = false;
  3431. jugar();
  3432.  
  3433. return 0;
  3434. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement