soy estudiante de programacion en videojuegos y como proyecto final nos dejaron hacer un juego de laberinto con las siguentes especificaciones: debe tener 5 enemigos,
unos moviendo en horizontal y otros en vertical. el enemigo puede matar al jugador y se termina el juego. dibujar 10 monedas, el jugador puede recoger las monedas,
el jugador gana si colecciona las 10 monedas. al terminar el juego imprimir si gane o perdi.
hasta ahorita llevo esto pero la verdad estoy batallando con los muros y no tengo ni idea como hacer que el jugador coleccione las monedas ni como hacerlas.
Código
#include <iostream> #include <windows.h> #include <stdlib.h> #include <conio.h> #include <Personaje.h> #include <Enemigo.h> using namespace std; char Mundo[79][20]= {' '}; void goxy(int x, int y) { COORD coord; coord.X = x; coord.Y = y; SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), coord); } void ImprimirMundo() { for(int y=0; y<20; y++) { for(int x=0; x<79; x++) { if(Mundo[x][y] == 'm') cout << (char)219; else cout << Mundo[x][y]; } cout << endl; } } int main() { for(int y=0; y<20; y++) ///muro izquiedo { Mundo[5][y]= 'm'; } for(int y=0; y<20; y++) ///muro derecho { Mundo[78][y]= 'm'; } for(int x=5; x<78; x++) ///muro arriba { Mundo[x][0]= 'm'; } for(int x=2; x<75; x++) ///muro derecho { Mundo[x][79]= 'm'; } for(int y=20; y<25; y++) ///muro y0 { Mundo[26][y]= 'm'; } for(int y=25; y<30; y++) ///muro y1 { Mundo[16][y]= 'm'; } for(int y=0; y<5; y++) ///muro y2 { Mundo[10][y]= 'm'; } for(int y=0; y<5; y++) ///muro y3 { Mundo[59][y]= 'm'; } for(int y=18; y<30; y++) ///muro y4 { Mundo[35][y]= 'm'; } for(int y=18; y<28; y++) ///muro y5 { Mundo[45][y]= 'm'; } for(int x=18; x<21; x++) ///muro 0 { Mundo[x][29]= 'm'; } for(int x=18; x<21; x++) ///muro 1 { Mundo[x][32]= 'm'; } for(int x=17; x<20; x++) ///muro 2 { Mundo[x][34]= 'm'; } for(int x=18; x<21; x++) ///muro 3 { Mundo[x][36]= 'm'; } for(int x=18; x<21; x++) ///muro 4 { Mundo[x][38]= 'm'; } for(int x=24; x<28; x++) ///muro 5 { Mundo[x][30]= 'm'; } for(int x=24; x<28; x++) ///muro 6 { Mundo[x][33]= 'm'; } for(int x=24; x<28; x++) ///muro 7 { Mundo[x][36]= 'm'; } for(int x=30; x<34; x++) ///muro 8 { Mundo[x][35]= 'm'; } for(int x=19; x<24; x++) ///muro 9 { Mundo[x][23]= 'm'; } for(int x=19; x<27; x++) ///muro 10 { Mundo[x][25]= 'm'; } for(int x=6; x<9; x++) ///muro 11 { Mundo[x][3]= 'm'; } for(int x=6; x<15; x++) ///muro 12 { Mundo[x][28]= 'm'; } for(int x=6; x<15; x++) ///muro 13 { Mundo[x][30]= 'm'; } for(int x=6; x<15; x++) ///muro 14 { Mundo[x][32]= 'm'; } for(int x=6; x<15; x++) ///muro 15 { Mundo[x][34]= 'm'; } for(int x=6; x<15; x++) ///muro 16 { Mundo[x][36]= 'm'; } for(int x=18; x<25; x++) ///muro 17 { Mundo[x][5]= 'm'; } for(int x=18; x<25; x++) ///muro 18 { Mundo[x][40]= 'm'; } system("pause"); system("Color 8B"); Personaje jugador; jugador.SetPos(6, 1); Mundo[6][1] = 'P'; Enemigo rival; rival.SetPos(11, 13); Mundo[11][13] = 'E'; int keypress=0; bool SalirJuego= false; while(SalirJuego==false) { while(!kbhit())///hasta que se presiones una tecla { ///loop rival.MoverDerecha(Mundo); if (Mundo[rival.x][rival.y] == Mundo[jugador.x][jugador.y]) { SalirJuego = true; } ///dibujar goxy(0,0); ImprimirMundo(); } ///obtenemos tecla que se presiono y hacemos accion segun tecla presionada keypress = getch(); if(keypress==72)///arriba { jugador.MoverArriba(Mundo); } if(keypress==80)///abajo { jugador.MoverAbajo(Mundo); } if(keypress==75)///izq. { jugador.MoverIzquierda(Mundo); } if(keypress==77)///der. { jugador.MoverDerecha(Mundo); } if(keypress ==27) { SalirJuego= true; } }///while(SalirJuego==false) return 0; }
· Los titulos deben ser descriptivos
>aquí las reglas del foro
-Engel Lex