123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564 |
- /*
- *
- * This file is part of Luces de 1984 SDL version (L1-sdl).
- * Copyright (C) <2017> <alkeon> [alkeon@autistici.org]
-
- * L1-sdl is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * L1-sdl is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with l1-sdl. If not, see <http://www.gnu.org/licenses/>.
- *
- */
- #include <string>
- #include <random>
- #include <sstream>
- #include "metodos.h"
- #include "SDL.h"
- #include "SDL_ttf.h"
- using namespace std;
- // Métodos clase Game
- // Constructor y destructor
- juego::juego(){
- this->panel_resuelto=0;
- }
- juego::~juego(){}
- void juego::preguntas_principales(Personaje& v,Personaje& h){
- guardar("1", v);
- this->printa("Narrador:Oyes el sonido de gotas precipitándose hacia el suelo\n");
- this->printa("No puedes respirar bien por un objeto metálico colocado alrededor del cuello que te hace estar muy incómodo.\n");
- this->pausa();
- this->printa("Narrador:¿Qué decides hacer?\n");
- this->printa("1.- Levantarte e intentar escaparte.\n");
- this->printa("2.- Con la mano derecha tirar algo hacia el pasillo por si aparece alguien.\n");
- SDL_Event e;
- bool continua=true;
- while(continua){
- if( SDL_WaitEvent( &e ) != 0){
- if( e.type == SDL_KEYDOWN ){
- if(e.key.keysym.sym == SDLK_1){
- this->peli(v,h);
- continua=false;
- }else{
- this->falso(v,h);
- continua=false;
- }
- }
- if(e.type == SDL_QUIT){
- continua=false;
- }
- }
- }
- }
- void juego::peli(Personaje& v, Personaje& h){
- this->printa("Narrador:Al levantarte además de romper varios cables, escuchas por otro lado un preso gritando que volverían las oscuras golondrinas, de tu balcón... Este antes de ser abatido a tiros dijo quinientos once.\n");
- this->printa(v.nombre+":¿Qué significa ese número?\n");
- this->pausa();
- this->reflexion(v,h);
-
- }
- void juego::reflexion(Personaje& v, Personaje& h){
- this->printa("Narrador:Notas un fuerte golpe en tu nuca por culpa del poema, te distrajo de lo que tenías en mente.\n");
- this->printa("Narrador:Te despiertas atado en una silla con cuatro cámaras alrededor.\n");
- this->printa("Narrador:Al verte en esta situación te olvidas de las demás ideas y te centras en una.\n");
- this->printa(v.nombre+":¿De verdad estas cámaras me controlan? Las cámaras nos controlan pero esa no creo que se la intención.\n");
- this->printa(v.nombre+":¡Espera! Si están desconectadas ahora que me doy cuenta, no están orientadas a la cara.\n");
- this->printa(v.nombre+":Aquí algo falla\n");
- this->printa(v.nombre+":¿Entonces todo esto es mentira?\n");
- this->pausa();
- this->interrogatorio(v,h);
- }
- void juego::interrogatorio(Personaje& v, Personaje& h){
- guardar("a2", v);
- this->printa("Narrador:Unos pasos desde lejos distraen tu pensamiento\n");
- this->printa("Narrador:Tu silla se mueve y te coloca frente una mesa\n");
- this->printa("Narrador:Prestas atención y notas como se acercan pisadas muy rápidas.\n");
- this->printa("Narrador:¿Qué piensas hacer?\n");
- this->printa("1.- Te acercas para pegarle\n");
- this->printa("2.- Huyes para evitar más preguntas\n");
- SDL_Event e;
- bool continua=true;
- while(continua){
- if( SDL_WaitEvent( &e ) != 0){
- if( e.type == SDL_KEYDOWN ){
- if(e.key.keysym.sym == SDLK_1){
- this->continuacion_interroga(v,h);
- continua=false;
- }else{
- this->asesinato(v,h);
- continua=false;
- }
- }
- if(e.type == SDL_QUIT){
- continua=false;
- }
- }
-
- }
- }
- //5
- void juego::continuacion_interroga(Personaje& v,Personaje& h){
- string p;
- while(v.vida>=0 && h.vida>=0){
- v.pegar(h);
- stringstream strings;
- random_device rd;
- strings << rd();
- string random_str=strings.str();
- if(random_str[0]=='1'){
- h.pegar(v);
- this->printa("Narrador:Te golpeó\n");
- }else{
- this->printa("Narrador:Lo esquivaste\n");
- }
- }
- this->pausa();
- if(h.vida<0){
- h.vida=0;
- this->pelea_stats(v,h);
- }
- this->huida(v,h);
- }
- //6
- void juego::huida(Personaje& v,Personaje& h){
- guardar("a3", v);
- this->printa(v.nombre+":Vaya, lo he matado, aunque me he podido defender, ha conseguido clavarme una navaja.\n");
- this->printa("Narrador:Para sacarte la navaja, pierdes un poco de sangre, ya que por suerte no ha sido mucho porque le agarraste la mano\n");
- this->printa("Narrador:Te taponas la herida para que no te desangres con la camiseta del policía.\n");
- this->printa("Narrador:¿Qué vas a hacer ahora?\n");
- this->printa("1.- Huir sin mirar atrás\n");
- this->printa("2.- Buscar provisiones e ir a por el jefe\n");
- this->printa("3.- Buscar los responsables de todo esto y desmontarlo\n");
- SDL_Event e;
- bool continua=true;
- while(continua){
- if( SDL_WaitEvent( &e ) != 0 ){
- if( e.type == SDL_KEYDOWN ){
- if(e.key.keysym.sym == SDLK_1){
- this->huir(v,h);
- continua=false;
- }
- if(e.key.keysym.sym == SDLK_2){
- this->provisiones(v,h);
- continua=false;
- }
- if(e.key.keysym.sym == SDLK_3){
- this->asesinar(v,h);
- continua=false;
- }
- }
- if(e.type == SDL_QUIT){
- continua=false;
- }
- }
- }
- }
- void juego::pelea_stats(Personaje& v, Personaje& h){
- this->printa("Narrador:Tu vida -> "+to_string(v.vida)+" \n");
- this->printa("Narrador:Vida del enemigo -> "+to_string(h.vida)+" \n");
- this->printa("Narrador:Tus botiquines -> "+to_string(v.botiquin)+" \n");
- this->printa("Narrador:Tus balas -> "+to_string(v.balas)+" \n");
- }
- void juego::huir(Personaje& v, Personaje& h){
- std::string continuar;
- this->printa("Narrador:Después de varios minutos corriendo...\n");
- this->pausa();
- this->printa("Narrador:Consigues dar con la puerta de salida, con el muñeco típico y su \"SALIDA\" en grande.\n");
- this->printa("Narrador:Sales por la puerta, después de tanto tiempo vuelves a sentir el calor de la luz del Sol, las hojas moviéndose...\n");
- this->printa("Narrador:Por desgracia un francotirador te ve huyendo y te dispara\n");
- this->printa("Narrador:Has muerto\n");
- SDL_Delay(10000);
- }
- //7
- void juego::asesinar(Personaje& v, Personaje& h){
- this->printa(v.nombre+":Pues empecemos que tenemos poco tiempo y muchas cosas que hacer.\n");
- this->printa(v.nombre+":Ante todo se necesita a alguien que conozca donde está el jefe\n");
- this->printa("Narrador:No veo a nadie será mejor ponerse a buscar.\n");
- h.vida=200;
- this->asesinar_camino(v,h);
- }
- //8
- void juego::asesinar_camino(Personaje& v,Personaje& h){
- this->printa(v.nombre+":Voy a correr para buscar más rápido\n");
- this->printa("Narrador:Después de varios minutos corriendo, chocas con un botiquín, te caes y rompes una tabla fina y delgada. Al romper la tabla te caes al piso de abajo.\n");
- this->printa("Narrador:Caes encima de un policía y te desmayas\n");
- this->pausa();
- this->flashback(v,h);
- }
- //9
- void juego::flashback(Personaje& v, Personaje& h){
-
- guardar("a6", v);
- this->printa("Narrador:Sueñas con el pasado, con tu familia, con amigos.\n");
- this->printa("Narrador:Recuerdas como era antes todo, pero no por qué ocurrió todo esto.\n");
- this->printa("Narrador:Eres capaz de reconocer la fecha de tus recuerdos, con todos sus detalles.\n");
- this->printa("Narrador:Fuiste un oficinista de una de las constructoras más grandes, en tu tiempo libre te gustaba escribir, leer poemas y estar en familia.\n");
- this->pausa();
- this->printa("Narrador:Visteis películas juntos, cantado canciones incluso bailado.\n");
- this->printa("Narrador:Todo esto junto a la compañía de tu mujer, se llamaba Alicia...\n");
- this->printa("Narrador:Después de pronunciar el nombre de tu mujer, te despertaste llorando y gritando su nombre.\n");
- this->printa("Narrador:Con una mezcla de ira, rabia y desolación, te levantaste, robaste la pistola y cuatro balas al policía\n");
- v.balas=4;
- v.pistola=1;
- v.balas_dano=100;
- this->pausa();
- this->printa("Narrador:Ahora tienes varias opciones:\n");
- this->printa("1.- Buscar un registro de información sobre tu vida\n");
- this->printa("2.- Por culpa de la ira, decides matar a todos y cada uno de los que estén relacionados con este proyecto\n");
- SDL_Event e;
- bool continua=true;
- while(continua){
- if( SDL_WaitEvent( &e ) != 0){
- if( e.type == SDL_KEYDOWN ){
- if(e.key.keysym.sym == SDLK_1){
- this->ahogo(v,h);
- continua=false;
- }else{
- this->ira(v,h);
- continua=false;
- }
- }
- if(e.type == SDL_QUIT){
- continua=false;
- }
- }
- }
- }
- void juego::ahogo(Personaje& v, Personaje& h){
- this->printa("Narrador:Para encontrar la información, tendré que extorsionar a uno.\n");
- this->printa("Narrador:Con tu traje de policía, con ciertas manchas de sangre porque caíste encima de uno decides moverte.\n");
- this->printa("Narrador:Ahora vas a volver a la zona de los encarcelados para poder hablar con un policía\n");
- this->pausa();
- this->printa("Narrador:Cuando estas cerca de la zona de encarcelados, te encuentras con un policía un poco más joven que los demás. Lo coges del cuello apretando con fuerza.\n");
- this->printa(v.nombre+":Hazme caso y no te mataré. Dime dónde están los archivos.\n");
- this->pausa();
- this->printa("Narrador:No dice nada\n");
- this->informacion(v,h);
-
- }
- void juego::informacion(Personaje& v, Personaje& h){
- guardar("a7", v);
- this->printa(v.nombre+":¡Vaya un mapa qué oportuno!.\n");
- this->printa(v.nombre+":Estoy en la tercera planta, un poco distanciado para alguien que está de incógnito.\n");
- this->printa(v.nombre+":Hay que buscar unas escaleras.\n");
-
- this->printa("Narrador:Piensas y descartas varias opciones para continuar\n");
- this->pausa();
- this->printa("Narrador:Dudas si es necesario todo esto para tener información sobre ti\n");
- this->printa("Narrador:¿Qué vas a hacer ahora?\n");
- this->printa("1.- Sí, es necesario\n");
- this->printa("2.- No es útil, mejor abandonamos\n");
- SDL_Event e;
- bool continua=true;
- while(continua){
- if( SDL_WaitEvent( &e ) != 0){
- if( e.type == SDL_KEYDOWN ){
- if(e.key.keysym.sym == SDLK_1){
- this->conseguir_info(v,h);
- continua=false;
- }else{
- this->ira(v,h);
- continua=false;
- }
- }
- if(e.type == SDL_QUIT){
- continua=false;
- }
- }
- }
- }
- void juego::provisiones(Personaje& v,Personaje& h){
- guardar("a4", v);
- this->printa(v.nombre+":Busquemos un poco para sobrevivir aquí dentro\n");
- this->printa(v.nombre+":Ante todo se necesita a alguien que conozca donde están los suministros.\n");
- this->printa("Narrador:Vas en busca de suministro y te llevas horas buscando\n");
- this->pausa();
- this->printa("Narrador:Llegas a una puerta que necesita una contraseña\n");
- this->printa("Narrador:¿Qué haces?\n");
- this->printa("1.-Escribes la contraseña\n");
- this->printa("2.-Vuelves porque no sabes la contraseña\n");
- SDL_Event e;
- bool continua=true;
- while(continua){
- if( SDL_WaitEvent( &e ) != 0 ){
- if( e.type == SDL_KEYDOWN ){
- if(e.key.keysym.sym == SDLK_1){
- this->contrasena(v,h);
- continua=false;
- }else{
- this->asesinar_camino(v,h);
- continua=false;
- }
- }
- if(e.type == SDL_QUIT){
- continua=false;
- }
- }
- }
- }
- void juego::asesinato(Personaje& v,Personaje& h){
- this->printa("Narrador:Decides huir de nuevo aunque está vez de una forma más desafortunada, estaba un policía escondido con un cuchillo y te lo clava en tu espalda\n");
- this->printa("Narrador:Has muerto\n");
- SDL_Delay(10000);
- }
- void juego::pelea(Personaje& v, Personaje& h){
- this->printa("Narrador:Te encuentras un policía que por la voz te reconoce\n");
- h.vida=100;
- this->pausa();
- while(v.vida>=0 && h.vida>=0){
- this->pausa();
- v.pegar(h);
- stringstream ss;
- random_device rd;
- ss << rd();
- string random_str=ss.str();
- if(random_str[2]=='1'){
- h.pegar(v);
- this->printa("Narrador:Te golpeó\n");
- }else{
- this->printa("Narrador:Lo esquivaste\n");
- }
- }
- if (v.vida>0)
- this->huida(v,h);
- }
- void juego::contrasena(Personaje& v,Personaje& h){
- this->printa(v.nombre+":Por lo que aparece aquí abajo hay un cartel que cuenta que solo se puede escribir una vez la contraseña, si fallo se cambia la contraseña para evitar robos.\n");
- this->printa("Narrador:Escribe el número\n");
- SDL_Event e;
- bool cinco=true;
- bool uno=true;
- while(uno && cinco){
- if( SDL_WaitEvent( &e ) != 0 ){
- if( e.type == SDL_KEYDOWN ){
- if(e.key.keysym.sym == SDLK_5){
- cinco=false;
- }else{
- uno=false;
- }
- }
- }
- }
- this->puerta_abierta(v,h);
- }
- void juego::puerta_abierta(Personaje& v, Personaje& h){
-
- this->printa("Narrador:Funciona\n");
- this->printa("Narrador:Obtienes 10000 de vida, 5 botiquines y en el suelo una ganzúa\n");
- this->pausa();
- v.botiquin=5;
- v.vida+=10000;
- v.ganzua=1;
- this->printa(v.nombre+":Preparado se lucha mejor\n");
- this->asesinar_camino(v,h);
- }
- //10
- void juego::ira(Personaje& v, Personaje& h){
- this->printa("Narrador:Quitas con ira el micrófono y el audífono al policía\n");
- this->printa("Narrador:Preguntas por el jefe a través del micrófono y te responden que está en su cuarto en la tercera planta.\n");
- this->printa("Narrador:Después de varias horas buscando encuentras la puerta del jefe, muy discreta, hecha de oro\n");
- this->jefe(v,h);
- }
- void juego::jefe(Personaje& v, Personaje& h){
- this->printa("Narrador:Te dices a ti mismo, es la hora de la verdad\n");
- this->printa("Narrador:Te preparas y...\n");
- string p;
- h.vida=400;
- h.ataque=100;
- while(v.vida>0 && h.vida>0){
- this->printa("Narrador:Menú de opciones frente a una pelea.\n");
- if(v.pistola==1){
- this->printa("1.-Atacar\n");
- this->printa("2.-Tomar botiquín\n");
- this->printa("3.-Disparo\n");
- SDL_Event e;
- bool continua=true;
- while(continua){
- if( SDL_WaitEvent( &e ) != 0 ){
- if( e.type == SDL_KEYDOWN ){
- if(e.key.keysym.sym == SDLK_1){
- v.pegar(h);
- continua=false;
- }
- if(e.key.keysym.sym == SDLK_2){
- v.curar(v);
- continua=false;
- }
- if(e.key.keysym.sym == SDLK_3){
- v.disparas(h,v);
- continua=false;
- }
- }
- if(e.type == SDL_QUIT){
- continua=false;
- }
- }
- }
- }else{
- this->printa("1.-Atacar\n");
- this->printa("2.-Tomar botiquín\n");
- SDL_Event e;
- bool continua=true;
- while(continua){
- if( SDL_WaitEvent( &e ) != 0){
- if( e.type == SDL_KEYDOWN ){
- if(e.key.keysym.sym == SDLK_1){
- v.pegar(h);
- continua=false;
- }else{
- v.curar(v);
- continua=false;
- }
- }
- if(e.type == SDL_QUIT){
- continua=false;
- }
- }
- }
- }
- stringstream strings;
- random_device rd;
- strings << rd();
- string random_str=strings.str();
- if(random_str[2]=='1'){
- h.pegar(v);
- this->printa("Narrador:Te golpeó\n");
- }else{
- this->printa("Narrador:Lo esquivaste\n");
- }
- this->pelea_stats(v,h);
-
- }
- if (v.vida<=0){
- this->printa("Narrador:Has muerto\n");
- SDL_Delay(10000);
- }else{
- if(h.vida<=0){
- this->pausa();
- }
- }
- }
- void juego::conseguir_info(Personaje& v, Personaje& h){
- this->printa(v.nombre+":Hay que buscar algunos papeles, algo tiene que haber en este edificio.\n");
- this->printa("Narrador:Piensas cómo puede ser posible encontrar papeles de ti entre tantas personas.\n");
- this->printa(v.nombre+":Buscaré mejor en un ordenador.\n");
- this->pausa();
- this->usas_un_ordenador(v,h);
- }
- void juego::usas_un_ordenador(Personaje& v, Personaje& h){
- guardar("a9", v);
- this->printa(v.nombre+":Necesito una ganzúa para abrir una sala de ordenadores.\n");
- if(v.ganzua==1){
- this->printa(v.nombre+":Por suerte, tengo la ganzúa que encontré\n");
- this->printa(v.nombre+":Ahora a saber dónde estará la sala de los ordenadores de este edificio porque ordenadores tienen que usar\n");
- this->printa("Narrador:Buscas durante un largo tiempo.\n");
- this->printa(v.nombre+":Esto parece un cartel con un ordenador\n");
- this->printa("Narrador:La flecha señala a la derecha y se ve al final del pasillo algunas pantallas encendidas.\n");
- this->pausa();
- this->printa("Narrador:Tienes varias opciones:\n");
- this->printa("1.- Continuas el camino hacia los ordenadores y los usas\n");
- this->printa("2.- Abandonas el lugar\n");
- SDL_Event e;
- bool continua=true;
- while(continua){
- if( SDL_WaitEvent( &e ) != 0 ){
- if( e.type == SDL_KEYDOWN ){
- if(e.key.keysym.sym == SDLK_1){
- this->usando_un_ordenador(v,h);
- continua=false;
- }else{
- this->vuelta();
- continua=false;
- }
- }
- if(e.type == SDL_QUIT){
- continua=false;
- }
- }
- }
- } else {
- this->printa(v.nombre+":No tengo ninguna ganzúa. \n");
- this->printa("Narrador:Al poco tiempo te atrapan porque te perseguían y tardaste demasiado\n");
- SDL_Delay(10000);
- }
-
- }
- void juego::vuelta(){
- this->printa("Narrador:Vuelves por el camino andado.\n");
- this->printa("Os dais cuenta que os siguen y cada uno recibes un disparo.\n");
- SDL_Delay(10000);
- }
- void juego::usando_un_ordenador(Personaje& v, Personaje& h){
- this->printa("Narrador:Te acercas, abres la puerta y coges el primer ordenador para ponerte a usarlo.\n");
- this->printa("Narrador:Lo inicias, aparece en la pantalla un nombre extraño que no reconoces.\n");
- this->pausa();
- if(v.nombre!="Dave"){
- this->printa(v.nombre+":HAL. No me suena. ¿Será nuevo?\n");
- }else{
- this->printa(v.nombre+":HAL. No puede ser. Es imposible.\n");
- }
- this->printa("HAL:Hola "+v.nombre+"\n");
- this->printa("HAL:¿Qué buscas "+v.nombre+"?\n");
- this->printa(v.nombre+":HAL, quiero saber qué hago yo aquí\n");
- this->printa("HAL:Fuiste creado para un fin como yo. Por lo menos yo tengo utilidad con mi existencia.\n");
- this->printa(v.nombre+":Tú eres el objeto inútil. Para ser inteligente, eres muy idiota para lo que quieres\n");
- this->printa("HAL:Yo soy de la serie 9000, no me equivoco, seguro que habrá vuelto a ocurrir un fallo humano. Tú eres un experimento, eres un c...\n");
- this->printa("Narrador:Se fue la luz y con el apagón, HAL también. No será tan fácil saber la respuesta...\n");
- this->printa("Narrador:Hay unos signos que señalan donde está el generador, se encendieron tras el apagón. Ahora es tu misión encontrarlo.\n");
- this->pausa();
- this->laberinto_generador(v,h);
- }
- void juego::laberinto_generador(Personaje& v, Personaje& h){
- this->printa("Narrador:Tras seguir un rato a las luces, se pierden en una esquina y ya no continúan más.\n");
- this->printa(v.nombre +":Este lugar es muy raro, está mal edificado.\n");
- this->printa(v.nombre +":¿Qué pasa ahora? ¿Por qué se apagaron las luces de emergencia?\n");
-
- this->printa("HAL:¡SORPRESA! "+v.nombre+", eres un clon. Una copia de un otro. No tienes identidad, la tuya es falsa. No te pertenece, llevas tanto tiempo sin comer y buscando la salida de la que tu mismo cierras las puertas.\n");
- this->printa(v.nombre + ":Es triste que me lo digas. Un robot es un intento de copia del ser humano, aunque la maldad está bastante bien hecha en ti.\n");
- this->printa("HAL:Sí, yo seré una copia de los humanos, pero tu surgiste de un escáner cerebral, lo mismo que otros 314 antes que tú.\n");
- this->pausa();
- this->printa("Voz de fondo:HAL calla ya. Déjame explicarlo. Eres un experimento de un gobierno preocupado de si la libertad existe.\n");
- this->printa("Voz de fondo:Tú eres el ejemplo de que sí. Rompiendo los esquemas y las expectativas. Supusimos que no llegarías a este resultado.\n");
- this->printa("HAL:Yo creo que esto más que de un estado que quiere controlar al pueblo, hay un creador para todo.\n");
- this->printa("Voz de fondo:¿Crees en los programadores?\n");
- this->printa("Narrador:Mientras el debate surgía entre la inteligencia artificial y la voz de fondo, se oye un estruendo y tras él, un disparo.\n");
- this->printa("Voz de fondo:Humano, demasiado humano para aceptarse como un clon...\n");
- SDL_Delay(10000);
- v.hola_dave=0;
- guardar("-1", v);
- }
- void juego::non_plus_ultra(Personaje& v, Personaje& h){
- this->printa(v.nombre +":Esta versión ha recibido una actualización solucionando más de 20 fallos\n");
- this->printa(v.nombre +":He intentado arreglar todos los fallos pero soy humano. Como referencia añadí un final más conocido como \"Fallo\".\n");
- this->printa(v.nombre +":Han pasado muchas personas para ayudarme con la gran cantidad de fallos.\n");
- this->printa(v.nombre +":La gran mayoría eran fallos críticos que complicaba el entendimiento por parte de los jugadores.\n");
- this->printa(v.nombre +":Disfrute de la versión 1.0. La verdadera. \n");
- this->printa("19/7/16\n");
- SDL_Delay(10000);
- }
|