Generation

translateSun, 06 Jul 2025

ayadele a este codijo ++ y ayadele mas includes y que cuando quites arboles #include <iostream> #include <string> #include <ctime> #include <cstdlib> #include <vector> #include <limits> #include <fstream> #include <sstream> using namespace std; // Estructura para representar a los dinosaurios struct Dinosaurio { string nombre; int salud; int velocidad; string tipo; // "carnivoro" o "herbivoro" }; // Estructura para representar al jugador struct Jugador { string nombre; int salud; int dinero; int billetes; int nivel; int comidaHerbivoros; int comidaCarnivoros; vector<Dinosaurio> misDinosaurios; }; // Lista de nombres aleatorios para dinosaurios vector<string> nombresDinosaurios = { "T-Rex", "Velociraptor", "Triceratops", "Spinosaurus", "Brachiosaurus", "Carnotaurus" }; // Tipos de dinosaurios vector<string> tiposDinosaurios = {"carnivoro", "herbivoro"}; // Función para limpiar la consola void limpiarPantalla() { #ifdef _WIN32 system("cls"); #else system("clear"); #endif } // Pausa el juego hasta que se presiona Enter void pausa() { cout << "\nPresiona Enter para continuar..."; cin.ignore(numeric_limits<streamsize>::max(), '\n'); } // Función para generar un dinosaurio aleatorio Dinosaurio generarDinosaurio() { Dinosaurio dino; dino.nombre = nombresDinosaurios[rand() % nombresDinosaurios.size()]; dino.salud = rand() % 100 + 50; dino.velocidad = rand() % 10 + 5; dino.tipo = tiposDinosaurios[rand() % 2]; return dino; } // Función para crear un jugador Jugador crearJugador() { Jugador jugador; cout << "Introduce tu nombre: "; getline(cin, jugador.nombre); jugador.salud = 100; jugador.dinero = 1000; jugador.billetes = 0; jugador.nivel = 1; jugador.comidaHerbivoros = 10; jugador.comidaCarnivoros = 10; return jugador; } void mostrarEstado(const Jugador& jugador) { cout << "\n[Jugador]\nNombre: " << jugador.nombre << "\nSalud: " << jugador.salud << "\nDinero: $" << jugador.dinero << "\nBilletes: " << jugador.billetes << "\nNivel: " << jugador.nivel << "\nComida para herbívoros: " << jugador.comidaHerbivoros << "\nComida para carnívoros: " << jugador.comidaCarnivoros << endl; if (!jugador.misDinosaurios.empty()) { cout << "\n--- Tus Dinosaurios ---\n"; for (const auto& dino : jugador.misDinosaurios) { cout << "- " << dino.nombre << " (" << dino.tipo << ") | Salud: " << dino.salud << endl; } } else { cout << "\nNo tienes dinosaurios aún.\n"; } } void mostrarDinosaurio(const Dinosaurio& dino) { cout << "\n[Dinosaurio]\nNombre: " << dino.nombre << "\nSalud: " << dino.salud << "\nVelocidad: " << dino.velocidad << "\nTipo: " << dino.tipo << endl; } void explorarZona(const string& zona, Jugador& jugador) { limpiarPantalla(); cout << "Estás en el área de los " << zona << ".\n"; Dinosaurio dino = generarDinosaurio(); mostrarDinosaurio(dino); cout << "\n1. Luchar contra el dinosaurio\n2. Huir del área\n3. Alimentar dinosaurio\nOpción: "; int eleccion; cin >> eleccion; if (eleccion == 1) { int daño = rand() % 20 + 10; dino.salud -= daño; cout << "¡Atacaste! Hiciste " << daño << " de daño.\n"; if (dino.salud <= 0) { cout << "¡Has derrotado al dinosaurio!\n"; jugador.dinero += 100; jugador.billetes += 1; jugador.nivel += 1; } else { cout << "¡El dinosaurio aún vive! Te golpea de regreso...\n"; int dañoRecibido = rand() % 15 + 5; jugador.salud -= dañoRecibido; cout << "Recibiste " << dañoRecibido << " de daño.\n"; } } else if (eleccion == 3) { if (dino.tipo == "herbivoro" && jugador.comidaHerbivoros > 0) { jugador.comidaHerbivoros--; dino.salud += 20; cout << "¡Has alimentado al dinosaurio herbívoro! Su salud aumentó.\n"; } else if (dino.tipo == "carnivoro" && jugador.comidaCarnivoros > 0) { jugador.comidaCarnivoros--; dino.salud += 20; cout << "¡Has alimentado al dinosaurio carnívoro! Su salud aumentó.\n"; } else { cout << "No tienes la comida necesaria para este dinosaurio.\n"; } } else { cout << "¡Has huido del área!\n"; } cin.ignore(); pausa(); } // Función para guardar el progreso del jugador void guardarProgreso(const Jugador& jugador) { ofstream archivo("progreso_jugador.txt"); if (archivo.is_open()) { archivo << jugador.nombre << "\n"; archivo << jugador.salud << "\n"; archivo << jugador.dinero << "\n"; archivo << jugador.billetes << "\n"; archivo << jugador.nivel << "\n"; archivo << jugador.comidaHerbivoros << "\n"; archivo << jugador.comidaCarnivoros << "\n"; archivo << jugador.misDinosaurios.size() << "\n"; // Guardar cantidad de dinosaurios for (const auto& dino : jugador.misDinosaurios) { archivo << dino.nombre << "\n"; archivo << dino.salud << "\n"; archivo << dino.velocidad << "\n"; archivo << dino.tipo << "\n"; } archivo.close(); cout << "Progreso guardado correctamente.\n"; } else { cout << "Error al guardar el progreso.\n"; } pausa(); } // Función para cargar el progreso del jugador Jugador cargarProgreso() { Jugador jugador; ifstream archivo("progreso_jugador.txt"); if (archivo.is_open()) { getline(archivo, jugador.nombre); string linea; getline(archivo, linea); jugador.salud = stoi(linea); getline(archivo, linea); jugador.dinero = stoi(linea); getline(archivo, linea); jugador.billetes = stoi(linea); getline(archivo, linea); jugador.nivel = stoi(linea); getline(archivo, linea); jugador.comidaHerbivoros = stoi(linea); getline(archivo, linea); jugador.comidaCarnivoros = stoi(linea); getline(archivo, linea); int numDinos = stoi(linea); for (int i = 0; i < numDinos; ++i) { Dinosaurio dino; getline(archivo, dino.nombre); getline(archivo, linea); dino.salud = stoi(linea); getline(archivo, linea); dino.velocidad = stoi(linea); getline(archivo, dino.tipo); jugador.misDinosaurios.push_back(dino); } archivo.close(); cout << "Progreso cargado correctamente.\n"; } else { cout << "No se encontró un archivo de progreso. Creando nuevo jugador.\n"; jugador = crearJugador(); } pausa(); return jugador; } void comprarDinosaurio(Jugador& jugador) { limpiarPantalla(); cout << "Bienvenido al Centro de Adopción de Dinosaurios ($200 cada uno)\n"; cout << "¿Quieres comprar un dinosaurio?\n1. Sí\n2. No\nOpción: "; int opcion; cin >> opcion; if (opcion == 1) { if (jugador.dinero >= 200) { Dinosaurio nuevo = generarDinosaurio(); jugador.misDinosaurios.push_back(nuevo); jugador.dinero -= 200; cout << "¡Felicidades! Has adoptado un " << nuevo.nombre << " (" << nuevo.tipo << ").\n"; } else { cout << "No tienes suficiente dinero para comprar un dinosaurio.\n"; } } else { cout << "Regresando al menú principal...\n"; } pausa(); } // Función principal del juego void jugar() { srand(time(0)); limpiarPantalla(); Jugador jugador; cout << "1. Nuevo juego\n2. Cargar juego\nOpción: "; int opcionInicio; cin >> opcionInicio; cin.ignore(); if (opcionInicio == 2) { jugador = cargarProgreso(); } else { jugador = crearJugador(); } int opcion; while (jugador.salud > 0 && jugador.dinero > 0) { limpiarPantalla(); mostrarEstado(jugador); cout << "\n¿A dónde deseas ir?\n"; cout << "1. Zona Triceratops\n"; cout << "2. Zona Velociraptor\n"; cout << "3. Zona Tiranosaurios\n"; cout << "4. Comprar un arma ($50)\n"; cout << "5. Comprar comida para herbívoros ($20)\n"; cout << "6. Comprar comida para carnívoros ($30)\n"; cout << "7. Comprar un dinosaurio ($200)\n"; cout << "8. Guardar progreso\n"; cout << "9. Salir del parque\n"; cout << "Opción: "; cin >> opcion; switch (opcion) { case 1: explorarZona("Triceratops", jugador); break; case 2: explorarZona("Velociraptor", jugador); break; case 3: explorarZona("Tiranosaurios", jugador); break; case 4: if (jugador.dinero >= 50) { jugador.dinero -= 50; cout << "Has comprado un arma.\n"; } else { cout << "No tienes suficiente dinero.\n"; } cin.ignore(); pausa(); break; case 5: if (jugador.dinero >= 20) { jugador.dinero -= 20; jugador.comidaHerbivoros += 5; cout << "Has comprado 5 unidades de comida para herbívoros.\n"; } else { cout << "No tienes suficiente dinero.\n"; } cin.ignore(); pausa(); break; case 6: if (jugador.dinero >= 30) { jugador.dinero -= 30; jugador.comidaCarnivoros += 5; cout << "Has comprado 5 unidades de comida para carnívoros.\n"; } else { cout << "No tienes suficiente dinero.\n"; } cin.ignore(); pausa(); break; case 7: comprarDinosaurio(jugador); break; case 8: guardarProgreso(jugador); break; case 9: cout << "¡Gracias por visitar Jurassic Park!\n"; return; default: cout << "Opción inválida.\n"; cin.ignore(); pausa(); break; } } if (jugador.salud <= 0) { cout << "Has muerto. Fin del juego.\n"; } else if (jugador.dinero <= 0) { cout << "Te has quedado sin dinero. Fin del juego.\n"; } } // Función para mostrar el menú principal void menuPrincipal() { int opcion; do { limpiarPantalla(); cout << "==============================\n"; cout << " JURASSIC PARK GAME\n"; cout << "==============================\n"; cout << "1. Jugar\n"; cout << "2. Opciones\n"; cout << "3. Créditos\n"; cout << "4. Salir\n"; cout << "Selecciona una opción: "; cin >> opcion; cin.ignore(); switch (opcion) { case 1: jugar(); break; case 2: cout << "\n(Opciones no disponibles aún...)\n"; pausa(); break; case 3: cout << "\nDesarrollado por: Zero y ChatGPT\nVersión: 1.2 con dinosaurios propios\n"; pausa(); break; case 4: cout << "\n¡Hasta la próxima aventura en Jurassic Park!\n"; break; default: cout << "\nOpción inválida.\n"; pausa(); break; } } while (opcion != 4); } int main() { menuPrincipal(); return 0; }

Please keep input under 1000 characters

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