private void cargarDiccionarioDeLetras() { if (letras == null) { letras = new Dictionary <char, Letra>(); } if (letras.Count < Enum.GetNames(typeof(NombreLetra)).Length) { foreach (string a in Enum.GetNames(typeof(NombreLetra))) { if (!letras.ContainsKey(a[0])) { Letra l = null; try { Assembly ase = typeof(Letra).Assembly; l = (Letra)ase.CreateInstance($"LetrasPOO.{a}"); } finally { if (l != null) { letras.Add(a[0], l); } } } WriteLine(a); } } }
public override void InicializarDiccionarioDeClases() { Type claseLetra; ConstructorInfo constructor; Letra objetoLetra = null; foreach (LetrasPermitidas c in Enum.GetValues(typeof(LetrasPermitidas))) { try { claseLetra = Type.GetType("LetrasPOO.Letra" + c); constructor = claseLetra.GetConstructor(new Type[0]); objetoLetra = (Letra)constructor.Invoke(new object[0]); } catch { } finally { if (objetoLetra != null) { diccLetras.Add(c, objetoLetra); } } Console.Write("{0} a�adida. ", c); } Console.WriteLine(""); Console.WriteLine("Las letras disponibles son:"); foreach (LetrasPermitidas c in Enum.GetValues(typeof(LetrasPermitidas))) { diccLetras.GetValueOrDefault(c).test(); } }
public void juntarletras(Letra letra) { this.Nombre += letra.Nombre; for (int i = 0; i < limite; i++) { Matriz[i] += letra.Matriz[i] + " "; } }
public override void PintarLetra(char letra) { if (letras.ContainsKey(letra)) { Letra l = Letras[letra]; for (int i = 0; i < SIETE; i++) { for (int j = 0; j < SIETE; j++) { Write(l.MatrizLetra[i, j]); } WriteLine(); } } else { WriteLine($"Letra:{letra} - No implementada aún"); } }
public override void PintarFrasePorPalabra(string frase) { frase = frase.ToUpper(); for (sbyte lineas = 0; lineas < SIETE; lineas++) //Itera por lineas { //Por cada linea itera por palabras for (sbyte letraPorPalabra = 0; letraPorPalabra < (sbyte)frase.Length; letraPorPalabra++) { for (sbyte columna = 0; columna < SIETE; columna++) { if (letras.ContainsKey(frase[letraPorPalabra])) { Letra l = Letras[frase[letraPorPalabra]]; Write(l.MatrizLetra[lineas, columna]); } else { Write(Blanco); // los espacios o aquellas letras que aún no estan implementadas } } Write(Blanco); // espacio entre letras } WriteLine(); // salto de linea } }