예제 #1
0
 /// <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);
     }
 }
예제 #2
0
 /// <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);
 }
예제 #3
0
        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);
        }
예제 #4
0
        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();
        }
예제 #5
0
        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);
            }
        }