/* ES Este código está protegido por derechos de autor y no se permite la utilización del mismo. EN This code is protected for author rightd and isn't allowed to use it. CAT Aquest codi está protegit per drets d'autor i no es permet la utilizació del mateix. */ #include #include #include "ConsoleControl.h" #include #include #include int main() { std::string continuar_juego = "Y"; std::string frase_adivinar; std::string frase_adivinar2; std::string frase_adivinar3; std::string frase_adivinar4; std::string substitució; std::string espai = " "; std::string caracter_buscat; std::string letra; std::string letras = ""; std::string subletra; int letra_random; int espai_trobat = -1; int longitud_frase; int posició_caracter_a_revisar = 0; int opcio; int letra_encontrada; int errores = 0; int puntos = 0; int puntos_bonus = 0; int puntos_maximos = 0; int posición_letra_random; bool frase_encertada = false; bool mostrar_error = true; bool continuar_vocal = true; bool letra_comprada = false; bool comprar_letra = true; do { srand(time(NULL)); if (frase_encertada == true) { std::cin.clear(); std::cin.ignore(256, '\n'); } continuar_juego = "Y"; posició_caracter_a_revisar = 0; errores = 0; puntos = 0; puntos_bonus = 0; puntos_maximos = 0; frase_encertada = false; frase_adivinar = ""; substitució = ""; longitud_frase = 0; mostrar_error = true; continuar_vocal = true; letras = ""; letra_comprada = false; comprar_letra = true; ConsoleClearCharacter(' ', DARKBLUE, DARKBLUE); ConsoleSetColor(WHITE, DARKBLUE); ConsoleXY(0, 0); std::cout << "Let's Play Hangman!" << "\n" << "Write a Text or a word to guess:" << std::endl; getline(std::cin, frase_adivinar); longitud_frase = frase_adivinar.size(); for (int longitud_frase2 = longitud_frase; longitud_frase2 > 0; longitud_frase2--) { if (frase_adivinar[posició_caracter_a_revisar] >= 97) { frase_adivinar[posició_caracter_a_revisar] = frase_adivinar[posició_caracter_a_revisar] - 32; } posició_caracter_a_revisar++; } frase_adivinar2 = frase_adivinar; frase_adivinar4 = frase_adivinar; posició_caracter_a_revisar = 0; for (int longitud_frase3 = longitud_frase; longitud_frase3 > 0; longitud_frase3--) { caracter_buscat = frase_adivinar.substr(posició_caracter_a_revisar,1); espai_trobat = caracter_buscat.find(" "); if (espai_trobat == -1) { substitució = substitució + "_"; puntos_maximos = puntos_maximos + 10; } else { substitució = substitució + " "; } posició_caracter_a_revisar++; } posició_caracter_a_revisar = 0; ConsoleClearCharacter(' ', DARKBLUE, DARKBLUE); ConsoleXY(0, 0); while (frase_encertada == false) { if (errores == 0) { ConsoleXY(58, 20); ConsoleSetColor(RED, RED); std::cout << " "; } else { if (errores == 1) { ConsoleSetColor(RED, RED); for (int i = 0; i < 15; i++) { ConsoleXY(58, (i + 6)); std::cout << " " << std::endl; } ConsoleXY(58, 20); std::cout << " "; } else { if (errores == 2) { ConsoleSetColor(RED, RED); ConsoleXY(58, 5); std::cout << " "; for (int i = 0; i < 15; i++) { ConsoleXY(58, (i + 6)); std::cout << " " << std::endl; } ConsoleXY(58, 20); std::cout << " "; } else { if (errores == 3) { ConsoleSetColor(RED, RED); ConsoleXY(58, 5); std::cout << " "; ConsoleXY(68, 6); std::cout << " "; ConsoleXY(68, 7); std::cout << " "; for (int i = 0; i < 15; i++) { ConsoleXY(58, (i + 6)); std::cout << " " << std::endl; } ConsoleXY(58, 20); std::cout << " "; } else { if (errores == 4) { ConsoleSetColor(RED, RED); ConsoleXY(58, 5); std::cout << " "; ConsoleXY(68, 6); std::cout << " "; ConsoleXY(68, 7); std::cout << " "; ConsoleXY(67, 8); std::cout << " "; ConsoleXY(66, 9); std::cout << " "; ConsoleXY(66, 10); std::cout << " "; ConsoleXY(67, 11); std::cout << " "; for (int i = 0; i < 15; i++) { ConsoleXY(58, (i + 6)); std::cout << " " << std::endl; } ConsoleXY(58, 20); std::cout << " "; } else { if (errores == 5) { ConsoleSetColor(RED, RED); ConsoleXY(58, 5); std::cout << " "; ConsoleXY(68, 6); std::cout << " "; ConsoleXY(68, 7); std::cout << " "; ConsoleXY(67, 8); std::cout << " "; ConsoleXY(66, 9); std::cout << " "; ConsoleXY(66, 10); std::cout << " "; ConsoleXY(67, 11); std::cout << " "; for (int x = 0; x < 4; x++) { ConsoleXY(68, (12 + x)); std::cout << " " << std::endl; } for (int i = 0; i < 15; i++) { ConsoleXY(58, (i + 6)); std::cout << " " << std::endl; } ConsoleXY(58, 20); std::cout << " "; } else { if (errores == 6) { ConsoleSetColor(RED, RED); ConsoleXY(58, 5); std::cout << " "; ConsoleXY(68, 6); std::cout << " "; ConsoleXY(68, 7); std::cout << " "; ConsoleXY(67, 8); std::cout << " "; ConsoleXY(66, 9); std::cout << " "; ConsoleXY(66, 10); std::cout << " "; ConsoleXY(67, 11); std::cout << " "; for (int x = 0; x < 4; x++) { ConsoleXY(68, (12 + x)); std::cout << " " << std::endl; } for (int i = 0; i < 15; i++) { ConsoleXY(58, (i + 6)); std::cout << " " << std::endl; } ConsoleXY(67, 16); std::cout << " "; ConsoleXY(67, 17); std::cout << " "; ConsoleXY(66, 18); std::cout << " "; ConsoleXY(58, 20); std::cout << " "; } else { if (errores == 7) { ConsoleSetColor(RED, RED); ConsoleXY(58, 5); std::cout << " "; ConsoleXY(68, 6); std::cout << " "; ConsoleXY(68, 7); std::cout << " "; ConsoleXY(67, 8); std::cout << " "; ConsoleXY(66, 9); std::cout << " "; ConsoleXY(66, 10); std::cout << " "; ConsoleXY(67, 11); std::cout << " "; for (int x = 0; x < 4; x++) { ConsoleXY(68, (12 + x)); std::cout << " " << std::endl; } for (int i = 0; i < 15; i++) { ConsoleXY(58, (i + 6)); std::cout << " " << std::endl; } ConsoleXY(67, 16); std::cout << " "; ConsoleXY(69, 16); std::cout << " "; ConsoleXY(67, 17); std::cout << " "; ConsoleXY(69, 17); std::cout << " "; ConsoleXY(66, 18); std::cout << " "; ConsoleXY(70, 18); std::cout << " "; ConsoleXY(58, 20); std::cout << " "; } else { if (errores == 8) { ConsoleSetColor(RED, RED); ConsoleXY(58, 5); std::cout << " "; ConsoleXY(68, 6); std::cout << " "; ConsoleXY(68, 7); std::cout << " "; ConsoleXY(67, 8); std::cout << " "; ConsoleXY(66, 9); std::cout << " "; ConsoleXY(66, 10); std::cout << " "; ConsoleXY(67, 11); std::cout << " "; for (int x = 0; x < 4; x++) { ConsoleXY(68, (12 + x)); std::cout << " " << std::endl; } for (int i = 0; i < 15; i++) { ConsoleXY(58, (i + 6)); std::cout << " " << std::endl; } ConsoleXY(67, 13); std::cout << " "; ConsoleXY(66, 13); std::cout << " "; ConsoleXY(65, 14); std::cout << " "; ConsoleXY(67, 16); std::cout << " "; ConsoleXY(69, 16); std::cout << " "; ConsoleXY(67, 17); std::cout << " "; ConsoleXY(69, 17); std::cout << " "; ConsoleXY(66, 18); std::cout << " "; ConsoleXY(70, 18); std::cout << " "; ConsoleXY(58, 20); std::cout << " "; } else { if (errores == 9) { ConsoleSetColor(RED, RED); ConsoleXY(58, 5); std::cout << " "; ConsoleXY(68, 6); std::cout << " "; ConsoleXY(68, 7); std::cout << " "; ConsoleXY(67, 8); std::cout << " "; ConsoleXY(66, 9); std::cout << " "; ConsoleXY(66, 10); std::cout << " "; ConsoleXY(67, 11); std::cout << " "; for (int x = 0; x < 4; x++) { ConsoleXY(68, (12 + x)); std::cout << " " << std::endl; } for (int i = 0; i < 15; i++) { ConsoleXY(58, (i + 6)); std::cout << " " << std::endl; } ConsoleXY(70, 13); std::cout << " "; ConsoleXY(69, 13); std::cout << " "; ConsoleXY(67, 13); std::cout << " "; ConsoleXY(66, 13); std::cout << " "; ConsoleXY(71, 14); std::cout << " "; ConsoleXY(65, 14); std::cout << " "; ConsoleXY(67, 16); std::cout << " "; ConsoleXY(69, 16); std::cout << " "; ConsoleXY(67, 17); std::cout << " "; ConsoleXY(69, 17); std::cout << " "; ConsoleXY(66, 18); std::cout << " "; ConsoleXY(70, 18); std::cout << " "; ConsoleXY(58, 20); std::cout << " "; } else { if (errores >= 10) { ConsoleSetColor(RED, RED); ConsoleXY(58, 5); std::cout << " "; ConsoleXY(68, 6); std::cout << " "; ConsoleXY(68, 7); std::cout << " "; ConsoleXY(67, 8); std::cout << " "; ConsoleXY(66, 9); std::cout << " "; ConsoleXY(66, 10); std::cout << " "; ConsoleXY(67, 11); std::cout << " "; for (int x = 0; x < 4; x++) { ConsoleXY(68, (12 + x)); std::cout << " " << std::endl; } for (int i = 0; i < 15; i++) { ConsoleXY(58, (i + 6)); std::cout << " " << std::endl; } ConsoleXY(70, 13); std::cout << " "; ConsoleXY(69, 13); std::cout << " "; ConsoleXY(67, 13); std::cout << " "; ConsoleXY(66, 13); std::cout << " "; ConsoleXY(71, 14); std::cout << " "; ConsoleXY(65, 14); std::cout << " "; ConsoleXY(67, 16); std::cout << " "; ConsoleXY(69, 16); std::cout << " "; ConsoleXY(67, 17); std::cout << " "; ConsoleXY(69, 17); std::cout << " "; ConsoleXY(66, 18); std::cout << " "; ConsoleXY(70, 18); std::cout << " "; ConsoleXY(58, 20); std::cout << " "; ConsoleXY(3, 15); ConsoleSetColor(RED, DARKBLUE); std::cout << "YOU ARE DEAD!!" << std::endl; ConsoleSetColor(WHITE, DARKBLUE); std::cout << std::endl << frase_adivinar2 << std::endl; frase_encertada = true; } } } } } } } } } } } ConsoleXY(0, 0); ConsoleSetColor(RED, WHITE); std::cout << "Points: " << puntos << " Fails: " << errores; ConsoleXY(0, 3); ConsoleSetColor(WHITE, BLACK); std::cout << substitució; ConsoleXY(0, 5); ConsoleSetColor(WHITE, DARKBLUE); std::cout << "Letters: " << letras; ConsoleXY(0, 7); std::cout << "Chosse and option" << std::endl << "1 - Guess a Letter" << std::endl; std::cout << "2 - Buy a vowel. (20 points)" << std::endl << "3 - Buy a letter. (30 points)" << std::endl; std::cout << "4 - Delete 1 fail. (50 points)" << std::endl << "5 - Buy a random letter (75 points)" << std::endl; std::cout << "6 - Reveal text (WIN OR DEAD)." << std::endl << "7 - Quit" << std::endl << "? : "; if (errores < 10) { std::cin >> opcio; switch (opcio) { case 1: std::cout << "Letter ? "; std::cin >> letra; if (letra[0] >= 97) { letra[0] = letra[0] - 32; } if ((letra[0] < 65) || (letra[0] > 90)) { ConsoleSetColor(RED, DARKBLUE); std::cout << "This is not a letter!"; Sleep(3000); ConsoleXY(0, 13); ConsoleClearCharacter(' ', DARKBLUE, DARKBLUE); } else { if (letras.find(letra) == -1) { letras = letras + letra + " "; mostrar_error = true; } else { ConsoleSetColor(RED, DARKBLUE); std::cout << "You have already used this letter!"; mostrar_error = false; Sleep(3000); } letra_encontrada = frase_adivinar.find(letra); if (letra_encontrada == -1) { if (mostrar_error == true) { errores++; ConsoleSetColor(RED, DARKBLUE); std::cout << "FAIL!"; Sleep(3000); } } else { substitució.replace(letra_encontrada, 1, letra); frase_adivinar.replace(letra_encontrada, 1, "_"); ConsoleXY(0, 3); ConsoleSetColor(WHITE, BLACK); std::cout << substitució; puntos = puntos + 10; letra_encontrada = frase_adivinar.find(letra); while (letra_encontrada != -1) { substitució.replace(letra_encontrada, 1, letra); frase_adivinar.replace(letra_encontrada, 1, "_"); ConsoleXY(0, 3); ConsoleSetColor(WHITE, BLACK); std::cout << substitució; puntos = puntos + 10; letra_encontrada = frase_adivinar.find(letra); } } if (substitució == frase_adivinar4) { frase_encertada = true; } if (frase_encertada == true) { ConsoleXY(0, 18); ConsoleSetColor(GREEN, DARKBLUE); std::cout << "CONGRATULATIONS !!" << std::endl; std::cout << std::endl << "Your Score: " << puntos << " Points!" << std::endl; std::cout << std::endl << "Max points: " << puntos_maximos << " points." << std::endl; ConsoleSetColor(WHITE, DARKBLUE); std::cout << std::endl << frase_adivinar2 << std::endl; } else { if (errores < 10) { ConsoleXY(0, 13); ConsoleClearCharacter(' ', DARKBLUE, DARKBLUE); } } } break; case 2: std::cout << "Vowel by 20 points? "; std::cin >> letra; if (letra[0] >= 97) { letra[0] = letra[0] - 32; } if (((letra == "A") || (letra == "E") || (letra == "I") || (letra == "O") || (letra == "U")) && (letras.find(letra) == -1) && (puntos >= 20)) { letras = letras + letra + " "; continuar_vocal = true; } else { if (puntos >= 20) { if ((letra == "A") || (letra == "E") || (letra == "I") || (letra == "O") || (letra == "U")) { ConsoleSetColor(RED, DARKBLUE); std::cout << "You have already used this vowel!"; continuar_vocal = false; Sleep(3000); } else { ConsoleSetColor(RED, DARKBLUE); std::cout << "This is not a vowel!"; continuar_vocal = false; Sleep(3000); } } else { ConsoleSetColor(RED, DARKBLUE); std::cout << "Not enought points to buy a Vowel!"; continuar_vocal = false; Sleep(3000); } } if (((letra == "A") || (letra == "E") || (letra == "I") || (letra == "O") || (letra == "U")) && (puntos >= 20) && (continuar_vocal == true)) { letra_encontrada = frase_adivinar.find(letra); ConsoleSetColor(RED, DARKBLUE); if (letra_encontrada == -1) { std::cout << "There aren't any " << letra << " :-("; Sleep(3000); } puntos = puntos - 20; while (letra_encontrada != -1) { substitució.replace(letra_encontrada, 1, letra); frase_adivinar.replace(letra_encontrada, 1, "_"); ConsoleXY(0, 3); ConsoleSetColor(WHITE, BLACK); std::cout << substitució; letra_encontrada = frase_adivinar.find(letra); } if (substitució == frase_adivinar4) { frase_encertada = true; } } else { if (continuar_vocal == true) { ConsoleSetColor(RED, DARKBLUE); std::cout << "This is not a Vowel!"; Sleep(3000); } } if (frase_encertada == true) { ConsoleXY(0, 18); ConsoleSetColor(GREEN, DARKBLUE); std::cout << "CONGRATULATIONS !!" << std::endl; std::cout << std::endl << "Your Score: " << puntos << " Points!" << std::endl; std::cout << std::endl << "Max points: " << puntos_maximos << " points." << std::endl; ConsoleSetColor(WHITE, DARKBLUE); std::cout << std::endl << frase_adivinar2 << std::endl; } else { ConsoleXY(0, 13); ConsoleClearCharacter(' ', DARKBLUE, DARKBLUE); } break; case 3: std::cout << "Letter by 30 points" << std::endl << "(If you don't want to buy a letter, write a 1)? "; std::cin >> letra; if (letra[0] >= 97) { letra[0] = letra[0] - 32; } if ((letras.find(letra) == -1) && (letra != "1") && (letra[0] >= 65) && (letra[0] <= 90)) { letras = letras + letra + " "; comprar_letra = true; } else { comprar_letra = false; } if (letra == "1") { ConsoleXY(0, 13); ConsoleClearCharacter(' ', DARKBLUE, DARKBLUE); } if (comprar_letra == true) { if (letra == "1") { ConsoleXY(0, 13); ConsoleClearCharacter(' ', DARKBLUE, DARKBLUE); } else { if ((letra[0] < 65) || (letra[0] > 90)) { ConsoleSetColor(RED, DARKBLUE); std::cout << "This is not a letter!"; Sleep(3000); } else { if ((letra == "A") || (letra == "E") || (letra == "I") || (letra == "O") || (letra == "U")) { ConsoleSetColor(RED, DARKBLUE); std::cout << "You can buy a vowel by 20 points," << std::endl << "it doesn't have logic buy a vowel with 30 points!"; Sleep(7500); } else { letra_encontrada = frase_adivinar.find(letra); ConsoleSetColor(RED, DARKBLUE); if (letra_encontrada == -1) { std::cout << "There aren't any " << letra << " :-("; Sleep(3000); } puntos = puntos - 30; while (letra_encontrada != -1) { substitució.replace(letra_encontrada, 1, letra); frase_adivinar.replace(letra_encontrada, 1, "_"); ConsoleXY(0, 3); ConsoleSetColor(WHITE, BLACK); std::cout << substitució; letra_encontrada = frase_adivinar.find(letra); } if (substitució == frase_adivinar4) { frase_encertada = true; } } } } if (frase_encertada == true) { ConsoleXY(0, 18); ConsoleSetColor(GREEN, DARKBLUE); std::cout << "CONGRATULATIONS !!" << std::endl; std::cout << std::endl << "Your Score: " << puntos << " Points!" << std::endl; std::cout << std::endl << "Max points: " << puntos_maximos << " points." << std::endl; ConsoleSetColor(WHITE, DARKBLUE); std::cout << std::endl << frase_adivinar2 << std::endl; } else { ConsoleXY(0, 13); ConsoleClearCharacter(' ', DARKBLUE, DARKBLUE); } } else { if (((letra[0] < 65) || (letra[0] > 90)) && (letra != "1")) { ConsoleSetColor(RED, DARKBLUE); std::cout << "This is not a letter!"; Sleep(3000); ConsoleXY(0, 13); ConsoleClearCharacter(' ', DARKBLUE, DARKBLUE); } else { if (letra != "1") { ConsoleSetColor(RED, DARKBLUE); std::cout << "You have already used this letter!"; Sleep(3000); ConsoleXY(0, 13); ConsoleClearCharacter(' ', DARKBLUE, DARKBLUE); } else { ConsoleXY(0, 13); ConsoleClearCharacter(' ', DARKBLUE, DARKBLUE); } } } break; case 4: ConsoleSetColor(RED, DARKBLUE); std::cout << "Are you sure to delete 1 fail (Y/N)? "; std::cin >> letra; if (letra[0] >= 97) { letra[0] = letra[0] - 32; } if ((letra == "Y") && (puntos >= 50) && (errores > 0)) { ConsoleSetColor(GREEN, DARKBLUE); std::cout << "OK, here we go!"; Sleep(5000); errores--; puntos = puntos - 50; } else { if ((puntos < 50) && (letra == "Y")) { ConsoleSetColor(RED, DARKBLUE); std::cout << "Not enought points to delete 1 fail!"; Sleep(3000); } else { if ((errores <= 0) && (letra == "Y")) { std::cout << "You don't have fails!"; Sleep(3000); } } } ConsoleXY(0, 13); ConsoleClearCharacter(' ', DARKBLUE, DARKBLUE); break; case 5: std::cout << "Buy a random letter (Y/N)? "; std::cin >> letra; letra_comprada = false; if (letra[0] >= 97) { letra[0] = letra[0] - 32; } if ((letra == "Y") && (puntos >= 75)) { while (letra_comprada == false) { posición_letra_random = rand() % longitud_frase; letra_random = frase_adivinar[posición_letra_random]; letra_encontrada = frase_adivinar.find(letra_random); if (letra_encontrada == -1) { letra_comprada = false; } else { if (letra_random == 95) { letra_comprada = false; } else { if (letra_random == 32) { letra_comprada = false; } else { letra_comprada = true; } } } } letra_comprada = false; while (letra_comprada == false) { puntos = puntos - 75; while (letra_encontrada != -1) { subletra = frase_adivinar.substr(letra_encontrada, 1); substitució.replace(letra_encontrada, 1, subletra); frase_adivinar.replace(letra_encontrada, 1, "_"); ConsoleXY(0, 3); ConsoleSetColor(WHITE, BLACK); std::cout << substitució; letra_encontrada = frase_adivinar.find(letra_random); } letra_comprada = true; } if (letras.find(subletra) == -1) { letras = letras + subletra + " "; mostrar_error = true; } } else { if ((puntos < 75) && (letra == "Y")) { ConsoleSetColor(RED, DARKBLUE); std::cout << "Not enought pounts to buy a letter!"; Sleep(3000); } } if (substitució == frase_adivinar4) { frase_encertada = true; } if (frase_encertada == true) { ConsoleXY(0, 17); ConsoleSetColor(GREEN, DARKBLUE); std::cout << std::endl << "CONGRATULATIONS !!" << std::endl; std::cout << std::endl << "Your Score: " << puntos << " Points!" << std::endl; std::cout << std::endl << "Max points: " << puntos_maximos << " points." << std::endl; ConsoleSetColor(WHITE, DARKBLUE); std::cout << std::endl << frase_adivinar2 << std::endl; } else { ConsoleXY(0, 13); ConsoleClearCharacter(' ', DARKBLUE, DARKBLUE); } break; case 6: std::cout << "REVEAL! Write ALL : "; std::cin.clear(); std::cin.ignore(256, '\n'); getline(std::cin, frase_adivinar3); if (frase_adivinar3.size() == longitud_frase) { for (int longitud_frase5 = longitud_frase; longitud_frase5 > 0; longitud_frase5--) { if (frase_adivinar3[posició_caracter_a_revisar] >= 97) { frase_adivinar3[posició_caracter_a_revisar] = frase_adivinar3[posició_caracter_a_revisar] - 32; } posició_caracter_a_revisar++; } posició_caracter_a_revisar = 0; if (frase_adivinar2 == frase_adivinar3) { for (int longitud_frase3 = longitud_frase; longitud_frase3 > 0; longitud_frase3--) { caracter_buscat = substitució.substr(posició_caracter_a_revisar, 1); espai_trobat = caracter_buscat.find("_"); if (espai_trobat != -1) { puntos_bonus = puntos_bonus + 10; puntos = puntos + 10; } posició_caracter_a_revisar++; } std::cout << "CORRECT ! Bonus Points: " << puntos_bonus << std::endl; ConsoleSetColor(GREEN, DARKBLUE); std::cout << std::endl << "CONGRATULATIONS !!" << std::endl; std::cout << std::endl << "Your Score: " << puntos << " Points!" << std::endl; std::cout << std::endl << "Max points: " << puntos_maximos << " points." << std::endl; ConsoleSetColor(WHITE, DARKBLUE); std::cout << std::endl << frase_adivinar2 << std::endl; frase_encertada = true; } else { ConsoleXY(3, 18); ConsoleSetColor(RED, DARKBLUE); std::cout << "YOU ARE DEAD!!" << std::endl; ConsoleSetColor(WHITE, DARKBLUE); std::cout << std::endl << frase_adivinar2 << std::endl; frase_encertada = true; } } else { ConsoleXY(3, 18); ConsoleSetColor(RED, DARKBLUE); std::cout << "YOU ARE DEAD!!" << std::endl; ConsoleSetColor(WHITE, DARKBLUE); std::cout << std::endl << frase_adivinar2 << std::endl; frase_encertada = true; } break; case 7: ConsoleXY(3, 16); ConsoleSetColor(RED, DARKBLUE); std::cout << "GAME STOP!"; ConsoleSetColor(WHITE, DARKBLUE); std::cout << std::endl << frase_adivinar2 << std::endl; frase_encertada = true; break; default: ConsoleXY(3, 16); ConsoleSetColor(RED, DARKBLUE); std::cout << "INVALID OPTION !!"; std::cin.clear(); std::cin.ignore(256, '\n'); Sleep(3000); ConsoleXY(0, 13); ConsoleClearCharacter(' ', DARKBLUE, DARKBLUE); break; } } else { ConsoleXY(0, 20); std::cout << "Play Again (Y/N)? "; std::cin >> continuar_juego; if (continuar_juego[0] >= 97) { continuar_juego[0] = continuar_juego[0] - 32; } } } if (errores < 10) { std::cout << std::endl << "Play Again (Y/N)? "; std::cin >> continuar_juego; if (continuar_juego[0] >= 97) { continuar_juego[0] = continuar_juego[0] - 32; } } } while (continuar_juego == "Y"); for (int i = 1; i < 15; i++) { ConsoleSetColor((ConsoleColor)i, BLACK); std::cout << "BYE!!" << std::endl; Sleep(250); } }