/// <summary> /// Añade una ficha si no existe su código /// </summary> /// <param name="f">Ficha de personaje a añadir</param> /// <param name="l">Lista de personajes en la que buscar</param> static void AnadirFicha(FichaPersonaje f, List <FichaPersonaje> l) { if (BuscarFicha(f, l) == -1) { l.Add(f); } }
/// <summary> /// Realiza búsqueda por el codigo de ficha /// </summary> /// <returns>La posicion de la ficha encontrada, o -1 si no existe</returns> /// <param name="aBuscar">Ficha a buscar</param> /// <param name="l">Lista de personajes en la que buscar</param> static int BuscarFicha(FichaPersonaje aBuscar, List <FichaPersonaje> l) { if (aBuscar.getCodigo().Length == 0) { return(-1); } for (int i = 0; i < l.Count; i++) { if (l[i].getCodigo() == aBuscar.getCodigo()) { return(i); } } return(-1); }
static FichaPersonaje LeerFicha() { string cod = string.Empty; string n = string.Empty; int lvl = 0; Clases c; FichaPersonaje?pjtillo = null; Console.WriteLine("¿Codigo?"); cod = Console.ReadLine(); Console.WriteLine("¿Nombre?"); n = Console.ReadLine(); Console.WriteLine("¿Nivel?"); lvl = ObtenerNum(); Console.WriteLine("¿Clase? (R)ogue, (W)arlock, (G)uerrero, (M)age"); switch (Console.ReadKey(true).KeyChar) { case 'M': case 'm': c = Clases.Mage; break; case 'G': case 'g': c = Clases.Warrior; break; case 'W': case 'w': c = Clases.Warlock; break; case 'R': case 'r': c = Clases.Rogue; break; default: c = Clases.Warrior; break; } pjtillo = new FichaPersonaje(cod, n, lvl, c); return((FichaPersonaje)pjtillo); }
public static void Main(string[] args) { Console.Title = "Lista de personas"; List <FichaPersonaje> personajes = new List <FichaPersonaje> (); FichaPersonaje pj = new FichaPersonaje("123", "Elena", 13, Clases.Mage); AnadirFicha(pj, personajes); AnadirFicha(pj, personajes); FichasAleatorias(100, personajes); MostrarPersonaje(2, personajes); //personajes.Add(LeerFicha ()); //personajes.Add(LeerFicha ()); //personajes.Add(LeerFicha ()); BorrarFicha(2, personajes); ListarPersonajes(personajes); Console.ReadLine(); }
static void FichasAleatorias(int nFichas, List <FichaPersonaje> l) { string[] nombres = { "Hannibal", "Eragon", "Machina", "Jane", "Katie", "Paolini", "Robert" }; int rangoLetras = 91; // Variables temporales para rellenar string codigoTMP = string.Empty; string nombreTMP = string.Empty; int nivelTMP = 0; Clases claseTMP; Random dado = new Random(); FichaPersonaje fichilla; for (int i = 0; i < nFichas; i++) { codigoTMP = (dado.Next(1000000, 9999999)).ToString() + ((char)dado.Next(65, rangoLetras)).ToString(); nombreTMP = nombres[dado.Next(nombres.Length)]; nivelTMP = dado.Next(101); claseTMP = (Clases)dado.Next(1, 5); fichilla = new FichaPersonaje(codigoTMP, nombreTMP, nivelTMP, claseTMP); AnadirFicha(fichilla, l); } }