0% encontró este documento útil (0 votos)
382 vistas3 páginas

Código de Juego de Nave en C++

El documento presenta el código C++ para un juego que incluye una clase NAVE. La clase NAVE define los atributos y métodos para representar una nave, incluyendo su posición, número de vidas y corazones. El código también incluye funciones para dibujar los límites de la pantalla, reproducir sonidos y mover y dibujar la nave.

Cargado por

david dey
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como TXT, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
382 vistas3 páginas

Código de Juego de Nave en C++

El documento presenta el código C++ para un juego que incluye una clase NAVE. La clase NAVE define los atributos y métodos para representar una nave, incluyendo su posición, número de vidas y corazones. El código también incluye funciones para dibujar los límites de la pantalla, reproducir sonidos y mover y dibujar la nave.

Cargado por

david dey
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como TXT, PDF, TXT o lee en línea desde Scribd

#include <stdio.

h>
#include <Windows.h>
#include <conio.h>
#include <stdlib.h>
#include <list>
#include <mmsystem.h>
using namespace std;

#define ARRIBA 72
#define IZQUIERDA 75
#define DERECHA 77
#define ABAJO 80

/* Ojo falta documentar :O*/


/* Ojo en propiedades - vinculador - entrada
agregar [Link] para la musica
*/
void gotoxy(int x, int y)
{
HANDLE hCon;
//Recupera el control de la consola
hCon = GetStdHandle(STD_OUTPUT_HANDLE);
//Son coodenadas
COORD dwPos;
dwPos.X = x;
dwPos.Y = y;
SetConsoleCursorPosition(hCon, dwPos);
}

void ocultarCursor()
{
HANDLE hCon;
//Recupera el control de la consola
hCon = GetStdHandle(STD_OUTPUT_HANDLE);
CONSOLE_CURSOR_INFO cci;
[Link] = 50;
[Link] = FALSE;
SetConsoleCursorInfo(hCon, &cci);
}
void pintarLimite()
{
for (int i = 2; i < 78;i++)
{
gotoxy(i, 3); printf("%c", 205);
gotoxy(i, 33); printf("%c", 205);
}
for (int i = 4; i < 33; i++)
{
gotoxy(2, i); printf("%c", 186);
gotoxy(77, i); printf("%c", 186);
}
gotoxy(2, 3); printf("%c", 201);
gotoxy(2, 33); printf("%c", 200);
gotoxy(77, 3); printf("%c", 187);
gotoxy(77, 33); printf("%c", 188);
}

void disparo()
{
sndPlaySound("snd_disparo.wav", SND_ASYNC);
}
void lose()
{
sndPlaySound("snd_lose.wav", SND_ASYNC);
}
void explosion()
{
sndPlaySound("[Link]", SND_ASYNC);

class NAVE
{
int x, y;
int corazones;
int vidas;
public:
NAVE();
NAVE(int _x, int _y, int _corazones, int _vidas);
void pintar();
void borrar();
void mover();
void pintarCorazones();
void perderVida();
void dismunirCorazon(){ corazones--; }
int X(){ return x; }
int Y(){ return y; }
int vidasJugador(){ return vidas; }

};
NAVE::NAVE(int _x, int _y, int _corazones,int _vidas)
{
x = _x;
y = _y;
corazones = _corazones;
vidas = _vidas;
}
void NAVE::pintar()
{
gotoxy(x, y); printf(" %c", 30);
gotoxy(x, y + 1); printf(" %c%c%c", 40, 207, 41);
gotoxy(x, y + 2); printf("%c%c %c%c", 30, 190, 190, 30);

}
void NAVE::borrar()
{
gotoxy(x, y); printf(" ");
gotoxy(x, y + 1); printf(" ");
gotoxy(x, y + 2); printf(" ");
}
void NAVE::mover()
{
if (_kbhit())
{
char tecla = _getch();
borrar();
if (tecla == IZQUIERDA && x > 3)
{
x--;
}
else if (tecla == DERECHA && x + 6 < 77)
{
x++;
}
else if (tecla == ARRIBA && y > 4 )
{
y--;
}
else if (tecla == ABAJO && y + 3 < 33 )
{
y++;
}
else if (tecla == 'e')
{
corazones--;
}
pintar();
pintarCorazones();
}
}
void NAVE::pintarCorazones()
{
gotoxy(50, 2);
printf("Vida: %d",vidas);
gotoxy(64, 2);
printf("Salud:");
gotoxy(70, 2);
printf(" ");
for (int i = 0; i < corazones; i++)
{
gotoxy(70 + i, 2);
printf("%c", 3);
}
}
void NAVE::perderVida()
{
if (corazones == 0)
{
borrar();
gotoxy(x, y); printf(" ** ");
gotoxy(x, y + 1); printf(" **** ");
gotoxy(x, y + 2); printf(" ** ");
Sleep(200);
borrar();
gotoxy(x, y); printf(" * ** *");
gotoxy(x, y + 1); printf(" **** ");
gotoxy(x, y + 2); printf(" * ** *");
Sleep(200);
borrar();
vidas--;
corazones = 3;
pintarCorazones();
pintar();
explosion();
}
}

También podría gustarte