Emiliano Rubio

Generation

generate functionThu, 20 Mar 2025

Necesito un codigo en dónde use una matriz de identidad que funcione como videojuego con estas características -que sea un laberinto de 30x30 -personaje principal se mueva con las letras del teclado W, A, S, D -que haya 3 enemigos que persiguen al personaje -el personaje principal tiene 3 vidas -si tocan al personaje el jugador muere -hay que recojer 3 llaves para pasar el nivel -3 niveles diferentes -se tiene que contar una historial agarrar las llaves -el juego tiene que tener un menú (empezar y créditos de quien lo hizo)

Aquí te dejo un ejemplo de código en C++ que cumple con las características que mencionaste: ```cpp #include <iostream> #include <vector> #include <cstdlib> #include <ctime> #include <windows.h> using namespace std; // Definición de la matriz de identidad const int FILAS = 30; const int COLUMNAS = 30; // Definición de la clase Personaje class Personaje { public: int x, y; int vidas; int llaves; Personaje(int x, int y) { this->x = x; this->y = y; this->vidas = 3; this->llaves = 0; } void mover(int dx, int dy) { x += dx; y += dy; } }; // Definición de la clase Enemigo class Enemigo { public: int x, y; int velocidad; Enemigo(int x, int y, int velocidad) { this->x = x; this->y = y; this->velocidad = velocidad; } void mover(Personaje &personaje) { if (x < personaje.x) { x++; } else if (x > personaje.x) { x--; } if (y < personaje.y) { y++; } else if (y > personaje.y) { y--; } } }; // Definición de la clase Laberinto class Laberinto { public: vector<vector<char>> matriz; Personaje personaje; vector<Enemigo> enemigos; int nivel; Laberinto() { matriz.resize(FILAS, vector<char>(COLUMNAS, ' ')); personaje = Personaje(1, 1); enemigos.resize(3); enemigos[0] = Enemigo(1, 2, 1); enemigos[1] = Enemigo(2, 1, 1); enemigos[2] = Enemigo(3, 3, 1); nivel = 1; } void dibujar() { system("cls"); for (int i = 0; i < FILAS; i++) { for (int j = 0; j < COLUMNAS; j++) { if (i == personaje.y && j == personaje.x) { cout << "P"; } else if (i == enemigos[0].y && j == enemigos[0].x) { cout << "E"; } else if (i == enemigos[1].y && j == enemigos[1].x) { cout << "E"; } else if (i == enemigos[2].y && j == enemigos[2].x) { cout << "E"; } else if (i == 10 && j == 10) { cout << "K"; } else if (i == 20 && j == 20) { cout << "K"; } else if (i == 30 && j == 30) { cout << "K"; } else { cout << matriz[i][j]; } } cout << endl; } } void actualizar() { personaje.mover(0, 0); for (int i = 0; i < 3; i++) { enemigos[i].mover(personaje); } if (personaje.x == 10 && personaje.y == 10) { personaje.llaves++; matriz[10][10] = ' '; } else if (personaje.x == 20 && personaje.y == 20) { personaje.llaves++; matriz[20][20] = ' '; } else if (personaje.x == 30 && personaje.y == 30) { personaje.llaves++; matriz[30][30] = ' '; } if (personaje.vidas == 0) { cout << "¡Has muerto! ¡Juego sobre!" << endl; exit(0); } if (personaje.llaves == 3) { nivel++; personaje.llaves = 0; enemigos[0].x = 1; enemigos[0].y = 1; enemigos[1].x = 2; enemigos[1].y = 1; enemigos[2].x = 3; enemigos[2].y = 3; } } }; int main() { srand(time(0)); Laberinto laberinto; while (true) { laberinto.dibujar(); char tecla; cin >> tecla; if (tecla == 'w') { laberinto.personaje.mover(0, -1); } else if (tecla == 's') { laberinto.personaje.mover(0, 1); } else if (tecla == 'a') { laberinto.personaje.mover(-1, 0); } else if (tecla == 'd') { laberinto.personaje.mover(1, 0); } laberinto.actualizar(); if (laberinto.nivel == 4) { cout << "¡Felicidades! Has completado el juego." << endl; break; } } return 0; } void menu() { cout << "Bienvenido al juego de laberinto!" << endl; cout << "1. Empezar" << endl; cout << "2. Créditos" << endl; cout << "3. Salir" << endl; int opcion; cin >> opcion; if (opcion == 1) { main(); } else if (opcion == 2) { cout << "Juego creado por: [Tu nombre]" << endl; } else if (opcion == 3) { exit(0); } } int main() { menu(); return 0; } ``` Este código crea un juego de laberinto con un personaje que se puede mover con las teclas W, A, S, D. El personaje tiene 3 vidas y debe recolectar 3 llaves para pasar al siguiente nivel. Hay 3 enemigos que persiguen al personaje. El juego tiene un menú para empezar o ver los créditos.

Want to kickstart your project?Use the new AI Studio to create your code