Para empezar, no me suma un puntaje cuando el jugador gana o pierde. Este puntaje es accesado desde el menu principal.
Y si presiono enter antes de ingresar cualquier comando durante el juego, me impide volver a ingresar cualquier valor, obligandome a reiniciar el programa.
Este es el codigo que llevo hasta ahora.
Código:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleApplication3
{
class Program
{
static void Main(string[] args)
{
int pcgana = 0;
int jgana = 0;
Console.WindowWidth = 110;
string temp, palabra = "";
int opc = 0, opc2 = 0;
Random generador;
string[] peliculas;
peliculas = new string[5];
string[] cantantes;
cantantes = new string[5];
string[] canciones;
canciones = new string[5];
string[] animales;
animales = new string[5];
string[] frutas;
frutas = new string[5];
generador = new Random();
peliculas[0] = "frozen";
peliculas[1] = "pocahontas";
peliculas[3] = "interestelar";
peliculas[2] = "enredados";
peliculas[4] = "cars";
cantantes[0] = "madonna";
cantantes[1] = "pharrell";
cantantes[2] = "kesha";
cantantes[3] = "shakira";
cantantes[4] = "rihanna";
canciones[0] = "iris";
canciones[1] = "wonderwall";
canciones[2] = "paradise";
canciones[3] = "tsunami";
canciones[4] = "atrevete";
animales[0] = "puma";
animales[1] = "cuervo";
animales[2] = "oso";
animales[3] = "ballena";
animales[4] = "gato";
frutas[0] = "cereza";
frutas[1] = "naranja";
frutas[2] = "manzana";
frutas[3] = "pera";
frutas[4] = "tomate";
do
{ outer:
Console.WriteLine(" _______ __ __ _______ ______ _______ _______ ______ _______ ");
Console.WriteLine("| _ || | | || || _ | | _|| _ || | | |");
Console.WriteLine("| |_| || |_| || _ || | || | | | |_| || _ || _ |");
Console.WriteLine("| || || | | || |_||_ | | | || | | || | | |");
Console.WriteLine("| || || |_| || __ || | | || |_| || |_| |");
Console.WriteLine("| _ || _ || || | | || |_ | _ || || |");
Console.WriteLine("|__| |__||__| |__||_______||___| |_||_______||__| |__||______| |_______|");
Console.WriteLine(" ");
Console.WriteLine("Ingrese uno de los siguientes valores");
Console.WriteLine("1. Jugar");
Console.WriteLine("2. Puntaje");
Console.WriteLine("3. Salir");
temp = Console.ReadLine();
if (int.TryParse(temp, out opc))
{
if (opc == 1)
{
Console.WriteLine("Ingrese uno de los valores para seleccionar una categoría");
Console.WriteLine("1. PELICULAS");
Console.WriteLine("2. CANTANTES");
Console.WriteLine("3. CANCIONES");
Console.WriteLine("4. ANIMALES");
Console.WriteLine("5. FRUTAS");
temp = Console.ReadLine();
if (int.TryParse(temp, out opc2))
{
if (opc2 == 1)
{
palabra = peliculas[generador.Next(0, peliculas.Length - 1)];
}
if (opc2 == 2)
{
palabra = cantantes[generador.Next(0, cantantes.Length - 1)];
}
if (opc2 == 3)
{
palabra = canciones[generador.Next(0, canciones.Length - 1)];
}
if (opc2 == 4)
{
palabra = animales[generador.Next(0, animales.Length - 1)];
}
if (opc2 == 5)
{
palabra = frutas[generador.Next(0, frutas.Length - 1)];
}
Console.WriteLine("La palabra seleccionada fue");
palabra = palabra.ToUpper();
}
string palao1 = palabra.Replace('A', '*');
string palao2 = palao1.Replace('B', '*');
string palao3 = palao2.Replace('C', '*');
string palao4 = palao3.Replace('D', '*');
string palao5 = palao4.Replace('E', '*');
string palao6 = palao5.Replace('F', '*');
string palao7 = palao6.Replace('G', '*');
string palao8 = palao7.Replace('H', '*');
string palao9 = palao8.Replace('I', '*');
string palao10 = palao9.Replace('J', '*');
string palao11 = palao10.Replace('K', '*');
string palao12 = palao11.Replace('L', '*');
string palao13 = palao12.Replace('M', '*');
string palao14 = palao13.Replace('N', '*');
string palao15 = palao14.Replace('Ñ', '*');
string palao16 = palao15.Replace('O', '*');
string palao17 = palao16.Replace('P', '*');
string palao18 = palao17.Replace('Q', '*');
string palao19 = palao18.Replace('R', '*');
string palao20 = palao19.Replace('S', '*');
string palao21 = palao20.Replace('T', '*');
string palao22 = palao21.Replace('U', '*');
string palao23 = palao22.Replace('V', '*');
string palao24 = palao23.Replace('W', '*');
string palao25 = palao24.Replace('X', '*');
string palao26 = palao25.Replace('Y', '*');
string palaofin = palao26.Replace('Z', '*');
Console.WriteLine(palaofin);
char[] palaofinchar = palaofin.ToCharArray();
int ganar = 0;
int perder = 0;
char[] letrasbue = new char[palabra.Length];
char[] letraserr = new char[6];
while (perder < 6)
{
Console.WriteLine("Adivina la palabra");
string letra;
letra = Console.ReadLine();
int j = 0;
int vg = 0;
int vp = 0;
while (palabra.Length > j)
{
if (letra[0].Equals(palabra[j]))
{
palaofinchar[j] = letra[0];
Console.WriteLine(palaofinchar);
j++;
vg++;
vp++;
}
else
{
j++;
}
}
if (vp == 0)
{
letraserr[perder] = letra[0];
perder++;
Console.WriteLine("Los caracteres erroneos son: ");
Console.WriteLine(letraserr);
}
if (vg != 0)
{
letrasbue[ganar] = letra[0];
ganar++;
}
if (perder == 6)
{
pcgana = pcgana ++;
Console.WriteLine("Has perdido. La palabra era: " + palabra);
Console.ReadKey();
}
if (ganar == palabra.Length)
{
jgana = jgana ++;
Console.WriteLine("Has ganado... esta vez");
Console.ReadKey();
goto outer;
}
}
}
if (opc == 2)
{
Console.WriteLine("Aquí va la funcionalidad de ver el puntaje");
Console.WriteLine("PC-->" + " " + pcgana);
Console.WriteLine("JG-->" + " " + jgana);
}
if (opc == 3)
{
Console.WriteLine("Has elegido salir del juego");
}
}
else
{
Console.WriteLine("Opcion incorrecta");
}
} while (opc != 3);
Console.ReadKey();
Console.ReadKey();
}
}
}