necesito un codigo que sirva como una matriz de 10x10 que sea para poder jugar pacman con 2 enemigos, que pueda controlar al personaje con las teclas W, A, S, y D y que tenga 2 vidas
Aquí te dejo un ejemplo de código en C++ que crea una matriz de 10x10 para jugar a Pacman con 2 enemigos y permite controlar al personaje con las teclas W, A, S, y D. El juego también cuenta con 2 vidas. ```cpp #include <iostream> #include <cstdlib> #include <ctime> #include <windows.h> using namespace std; const int FILAS = 10; const int COLUMNAS = 10; const int VIDA = 2; // Estructura para representar la posición del personaje struct Posicion { int x, y; }; // Estructura para representar la posición de los enemigos struct Enemigo { int x, y; }; // Matriz para representar el tablero char tablero[FILAS][COLUMNAS]; // Posición inicial del personaje Posicion pacman = {5, 5}; // Posición inicial de los enemigos Enemigo enemigo1 = {3, 3}; Enemigo enemigo2 = {7, 7}; // Puntuación int puntuacion = 0; // Vidas int vidas = VIDA; // Función para dibujar el tablero void dibujarTablero() { for (int i = 0; i < FILAS; i++) { for (int j = 0; j < COLUMNAS; j++) { if (i == pacman.y && j == pacman.x) { cout << "P "; } else if (i == enemigo1.y && j == enemigo1.x) { cout << "E1 "; } else if (i == enemigo2.y && j == enemigo2.x) { cout << "E2 "; } else { cout << ". "; } } cout << endl; } } // Función para mover el personaje void moverPacman(int dx, int dy) { if (pacman.x + dx >= 0 && pacman.x + dx < COLUMNAS && pacman.y + dy >= 0 && pacman.y + dy < FILAS) { pacman.x += dx; pacman.y += dy; } } // Función para verificar colisión con los enemigos bool verificarColision() { if (pacman.x == enemigo1.x && pacman.y == enemigo1.y) { return true; } else if (pacman.x == enemigo2.x && pacman.y == enemigo2.y) { return true; } return false; } // Función para verificar si el personaje está en una posición válida bool verificarPosicion() { if (pacman.x < 0 || pacman.x >= COLUMNAS || pacman.y < 0 || pacman.y >= FILAS) { return false; } return true; } int main() { srand(time(0)); for (int i = 0; i < FILAS; i++) { for (int j = 0; j < COLUMNAS; j++) { tablero[i][j] = '.'; } } while (vidas > 0) { system("cls"); dibujarTablero(); cout << "Puntuación: " << puntuacion << endl; cout << "Vidas: " << vidas << endl; char tecla; cout << "Presione W para mover hacia arriba, A para mover hacia la izquierda, S para mover hacia abajo, D para mover hacia la derecha: "; cin >> tecla; switch (tecla) { case 'w': moverPacman(0, -1); break; case 'a': moverPacman(-1, 0); break; case 's': moverPacman(0, 1); break; case 'd': moverPacman(1, 0); break; } if (verificarColision()) { vidas--; cout << "¡Colisión con un enemigo! Perdiste una vida." << endl; Sleep(1000); } if (!verificarPosicion()) { cout << "¡Fuera de la matriz! Perdiste una vida." << endl; vidas--; Sleep(1000); } if (pacman.x == 0 || pacman.x == COLUMNAS - 1 || pacman.y == 0 || pacman.y == FILAS - 1) { puntuacion += 10; cout << "¡Llegaste a la pared! Ganaste 10 puntos." << endl; Sleep(1000); } } system("cls"); cout << "¡Juego terminado! Tu puntuación final es: " << puntuacion << endl; return 0; } ``` Este código crea un tablero de 10x10 y permite controlar al personaje con las teclas W, A, S, y D. El juego cuenta con 2 enemigos y 2 vidas. El personaje puede ganar puntos al llegar a la pared del tablero. Si el personaje colisiona con un enemigo o sale de la matriz, pierde una vida. El juego termina cuando el personaje pierde todas sus vidas.