Exemplo n.º 1
0
        // Este metodo abre el modo batalla simple
        internal void ataqueSimple(Personaje agresor, Personaje victima, ConstructorTablero.LadoTablero orientacionAgresor)
        {
            // Estas variables se usan en varios metodos durante el ataque
            this.agresor            = agresor;
            this.victima            = victima;
            this.orientacionAgresor = orientacionAgresor;

            spritesBatalla = new Sprite[3]; // Se crea un nuevo arreglo con los sprites que se van a ver durante la batalla

            // Se carga los sprites que se van a mostrar durante la batalla
            spritesBatalla[0] = new Sprite(idImagen_Interfaz_FondoBatallaDerecho, 0, 0, 5); // Se carga los sprites que se van a mostrar durante la batalla

            switch (orientacionAgresor)
            {
            case ConstructorTablero.LadoTablero.derecha:
                spritesBatalla[1] = new Sprite(victima.IdImagenDelPersonaje, -300, 100, 0, 300, 300);
                spritesBatalla[2] = new Sprite(agresor.IdImagenDelPersonaje, 800, 100, 0, 300, 300);
                break;

            case ConstructorTablero.LadoTablero.izquierda:
                spritesBatalla[1] = new Sprite(agresor.IdImagenDelPersonaje, -300, 100, 0, 300, 300);
                spritesBatalla[2] = new Sprite(victima.IdImagenDelPersonaje, 800, 100, 0, 300, 300);
                break;
            }

            hiloBatalla = new Thread(new ThreadStart(batallaSimple)); // Se crea un nuevo hilo que sera la que mostrara la animacion en pantalla, y en el instante dado ejecurtara el ataque

            // Oculta el tablero y mostrar la batalla
            mostrarElTablero = false;
            mostrarBatalla   = true;

            hiloBatalla.Start(); // Incia el hilo
        }
Exemplo n.º 2
0
        private void setPersonajes(string[] personajes, bool EsLocal)
        {
            ConstructorTablero.LadoTablero ladoTablero = anfitrion ^ EsLocal ? ConstructorTablero.LadoTablero.derecha : ConstructorTablero.LadoTablero.izquierda;
            Coordenada[] coordenadasPersonajes         = form1.ConstructorTablero.obtenerCoordenadasPersonajes(form1.NombreTablero, ladoTablero); // Obtener las coordenadas donde se colocará a los personajes

            if (EsLocal)
            {
                personajesLocales[0] = crearPersonaje(personajes[0], ladoTablero);
                personajesLocales[1] = crearPersonaje(personajes[1], ladoTablero);
                personajesLocales[2] = crearPersonaje(personajes[2], ladoTablero);
                personajesLocales[3] = crearPersonaje(personajes[3], ladoTablero);
                personajesLocales[4] = crearPersonaje(personajes[4], ladoTablero);

                //colocar a los personajes locales en el tablero
                for (int i = 0; i < coordenadasPersonajes.Length; i++)
                {
                    tablero[coordenadasPersonajes[i].X, coordenadasPersonajes[i].Y].Personaje = personajesLocales[4 - i];
                }
            }
            else
            {
                personajesRemotos[0] = crearPersonaje(personajes[0], ladoTablero);
                personajesRemotos[1] = crearPersonaje(personajes[1], ladoTablero);
                personajesRemotos[2] = crearPersonaje(personajes[2], ladoTablero);
                personajesRemotos[3] = crearPersonaje(personajes[3], ladoTablero);
                personajesRemotos[4] = crearPersonaje(personajes[4], ladoTablero);

                //colocar a los personajes remotos en el tablero
                for (int i = 0; i < coordenadasPersonajes.Length; i++)
                {
                    tablero[coordenadasPersonajes[i].X, coordenadasPersonajes[i].Y].Personaje = personajesRemotos[4 - i];
                }
            }
        }
Exemplo n.º 3
0
        // Metodo que recibe una cadena que describe el tipo de personaje y devuelve un obejeto
        private Personaje crearPersonaje(string TipoPersonaje, ConstructorTablero.LadoTablero ladoTablero)
        {
            int       img;
            bool      lado = ladoTablero == ConstructorTablero.LadoTablero.derecha ^ anfitrion;
            Personaje personaje;

            switch (TipoPersonaje)
            {
            case "Arquero":
                img = ladoTablero == ConstructorTablero.LadoTablero.derecha ? grafico.idImagen_Arquero_Derecha : grafico.idImagen_Arquero_Izquierda;

                personaje = new Arquero(img, lado);
                break;

            case "Caballero":
                img = ladoTablero == ConstructorTablero.LadoTablero.derecha ? grafico.idImagen_Caballero_Derecha : grafico.idImagen_Caballero_Izquierda;

                personaje = new Caballero(img, lado);
                break;

            case "Mago":
                img = ladoTablero == ConstructorTablero.LadoTablero.derecha ? grafico.idImagen_Mago_Derecha : grafico.idImagen_Mago_Izquierda;

                personaje = new Mago(img, lado);
                break;

            case "Ninja":
                img = ladoTablero == ConstructorTablero.LadoTablero.derecha ? grafico.idImagen_Ninja_Derecha : grafico.idImagen_Ninja_Izquierda;

                personaje = new Ninja(img, lado, ladoTablero);
                break;

            case "Paladin Espada":
                img = ladoTablero == ConstructorTablero.LadoTablero.derecha ? grafico.idImagen_PaladinEspada_Derecha : grafico.idImagen_PaladinEspada_Izquierda;

                personaje = new Paladin_Espada(img, lado);
                break;

            case "Paladin Lanza":
                img = ladoTablero == ConstructorTablero.LadoTablero.derecha ? grafico.idImagen_PaladinLanza_Derecha : grafico.idImagen_PaladinLanza_Izquierda;

                personaje = new Paladin_Lanza(img, lado);
                break;

            case "Paladin Mazo":
                img = ladoTablero == ConstructorTablero.LadoTablero.derecha ? grafico.idImagen_PaladinMazo_Derecha : grafico.idImagen_PaladinMazo_Izquierda;

                personaje = new Paladin_Mazo(img, lado);
                break;

            default:
                throw new Exception("El tipo de personaje no existe");
            }

            return(personaje);
        }
Exemplo n.º 4
0
        internal Ninja(int idImagenDelPersonaje, bool esLocal, ConstructorTablero.LadoTablero ladoAtaca) : base(idImagenDelPersonaje, esLocal, 1, 5)
        {
            this.ladoAtaca = ladoAtaca;

            //adpatacion de las estadisticas base al las estadisticas del ninja
            Salud     -= 50;
            SaludBase  = Salud;
            Ataque     = 30;
            Defensa   -= 50;
            Velocidad += 100;
        }
Exemplo n.º 5
0
        internal void iniciarTimer(int duracion, ConstructorTablero.LadoTablero ladoTablero)
        {
            duracionTimer = (duracion / 1000);

            if (ladoTablero == ConstructorTablero.LadoTablero.izquierda)
            {
                lblTiempoRestanteizq.Visible = true;
                lblTiempoRestanteDer.Visible = false;
            }
            else
            {
                lblTiempoRestanteDer.Visible = true;
                lblTiempoRestanteizq.Visible = false;
            }

            timerAtq.Enabled = true;
        }