Ejemplo n.º 1
0
 void Start()
 {
     fisicasPersonaje = GetComponent<Fisicas>();
     controlesPersonaje = GetComponent<Controles>();
     animacionesPersonaje = GetComponent<Animacion>();
     ataquePersonaje = GetComponent<Ataque>();
 }
    public bool MostrarAnimacionAtaque(AtaqueID id, Atacante atacante)
    {
        Ataque ataque = ControladorDatos.Instancia.ObtenerAtaque(id);

        if (ataque.animacionAtaque == null)
        {
            return(false);
        }

        if (!animacionAsignada)
        {
            animacionAsignada = true;

            if (atacante == Atacante.Enemigo)
            {
                contenedorAnimadorAtaque.transform.localScale = new Vector3(-1, 1, 1);
            }
            else
            {
                contenedorAnimadorAtaque.transform.localScale = new Vector3(1, 1, 1);
            }
        }

        if (!animadorAtaque.ReproducirClipAnimacionAtaque(ataque.animacionAtaque))
        {
            spriteAtaque.sprite = null;
            animacionAsignada   = false;
            return(false);
        }
        return(true);
    }
Ejemplo n.º 3
0
        static Pokemon CarregarPokemon()
        {
            Ataque  ataque1 = new Ataque("teste", 30, 70);
            Ataque  ataque2 = new Ataque("teste", 30, 70);
            Pokemon teste   = new Pokemon("Teste", 100, ataque1, ataque2);

            return(teste);
        }
Ejemplo n.º 4
0
        private void ProcesarAtaqueEnemigo()
        {
            int    damage    = 0;
            Ataque objAtaque = objGC.AtacarJugador(out damage);

            EscribirEnLog(string.Format("Ha sido atacado con {0}. Pierde {1}HP", objAtaque.Tipo.ToString(), damage));
            objGC.TurnoActual = Turno.Jugador;
        }
Ejemplo n.º 5
0
        private void button9_MouseUp(object sender, MouseEventArgs e)
        {
            int          xn           = MousePosition.X;
            int          yn           = MousePosition.Y;
            DialogResult dialogResult = MessageBox.Show("Deseja Configurar a posição da Batalha??", "Info", MessageBoxButtons.YesNo);

            if (dialogResult == DialogResult.Yes)
            {
                Ataque.ConfigurarAtaque(xn, yn);
            }
        }
        private static void ReduzDanoAdversario(Ataque ataque)
        {
            int diferencadepontos = (ataque.ModoBloqueio != 0) ? ataque.Dano - ataque.Bloqueio : ataque.Dano;

            if (ataque.ModoBloqueio == 1)
            {
                Feedback.Add("Monstro bloqueante destruido");
            }

            ReduzPontosDeJogador(JogadorAtual == 1 ? 2 : 1, diferencadepontos);
        }
Ejemplo n.º 7
0
        public void Ataque_magico()
        {
            Espada        excalibur  = new Espada(40);
            Armadura      hierro     = new Armadura(5, 3, 20);
            Lanza         gugnir     = new Lanza(30);
            LibroHechizos fimbulvetr = new LibroHechizos("Fimbulvetr", 15, 60);
            Enano         gimli      = new Enano("Gimli", 100, 25, 20, 5, excalibur, hierro);
            Elfo          legolaz    = new Elfo(150, "Legolaz", 15, 3, 8, 20, gugnir, hierro, fimbulvetr);

            gimli.Vida = Ataque.Atacar(legolaz.DañoMagico, gimli.Vida, gimli.Defensa);
            Assert.AreEqual(90, gimli.Vida);
        }
Ejemplo n.º 8
0
    private static Ataque RowToDto(AtaqueDS.AtaquesByTipoRow row)
    {
        Ataque objAtaque = new Ataque
        {
            Codigo_id   = row.codigo_id,
            Nombre      = row.nombre,
            PoderAtaque = row.poderAtaque,
            Tipo_id     = row.tipo_id
        };

        return(objAtaque);
    }
Ejemplo n.º 9
0
        public void Vida_despues_de_ataque()
        {
            // Verifica que la cantidad de vida cambie al ser atacado
            Espada        excalibur  = new Espada(40);
            Armadura      hierro     = new Armadura(5, 3, 20);
            Lanza         gugnir     = new Lanza(30);
            LibroHechizos fimbulvetr = new LibroHechizos("Fimbulvetr", 15, 60);
            Enano         gimli      = new Enano("Gimli", 100, 25, 20, 5, excalibur, hierro);
            Elfo          legolaz    = new Elfo(150, "Legolaz", 15, 3, 8, 20, gugnir, hierro, fimbulvetr);

            legolaz.Vida = Ataque.Atacar(gimli.Ataque, legolaz.Vida, legolaz.Defensa);
            Assert.AreEqual(93, legolaz.Vida);
        }
Ejemplo n.º 10
0
 public Ataque ObtenerAtaque(AtaqueID ataqueID)
 {
     if (!contenedorAtaques.ContainsKey(ataqueID))
     {
         string nombreFichero = vinculadorResources.ObtenerNombreFicheroAtaque(ataqueID);
         if (!string.IsNullOrEmpty(nombreFichero))
         {
             Ataque ataque = (Ataque)Resources.Load(nombreFichero);
             contenedorAtaques.Add(ataque.ID, ataque);
         }
     }
     return(contenedorAtaques[ataqueID]);
 }
Ejemplo n.º 11
0
 public void insertar(Ataque valor)
 {
     if (isEmpty())
     {
         raiz         = new NodoB();
         raiz.valores = new Lista <Ataque>();
         raiz.valores.push(valor);
     }
     else
     {
         raiz = insertar(raiz, null, valor);
     }
     count++;
 }
Ejemplo n.º 12
0
    public void MostrarAtaque(Ataque ataquePokemon, UIAprenderNuevoAtaqueVentana controlador)
    {
        componenteControlador = controlador;
        ataque = ataquePokemon;

        if (ataque != null && ataque.ID != AtaqueID.NINGUNO)
        {
            nombre.text     = ataque.nombre;
            elemento.text   = Herramientas.TextoAtaqueElemento(ataque.ataqueElemento);
            poderYTipo.text = string.Concat(ataque.poder, " ", ataque.TextoTipoAtaque());
            gameObject.SetActive(true);
        }
        else
        {
            gameObject.SetActive(false);
        }
    }
Ejemplo n.º 13
0
        public void btnAtaque_Click(object sender, EventArgs e)
        {
            Button btnSender    = sender as Button;
            Ataque objAtaque    = null;
            int    damage       = 0;
            bool   nuevoEnemigo = false;

            //Nullable<TipoElemento> tipoDeElemento = null;
            if (btnSender == this.btnRayo)
            {
                objAtaque = objGC.AtacarEnemigo(TipoElemento.Rayo, out damage, out nuevoEnemigo);
            }
            if (btnSender == this.btnFuego)
            {
                objAtaque = objGC.AtacarEnemigo(TipoElemento.Fuego, out damage, out nuevoEnemigo);
            }
            if (btnSender == this.btnTierra)
            {
                objAtaque = objGC.AtacarEnemigo(TipoElemento.Tierra, out damage, out nuevoEnemigo);
            }
            if (btnSender == this.btnHielo)
            {
                objAtaque = objGC.AtacarEnemigo(TipoElemento.Hielo, out damage, out nuevoEnemigo);
            }
            if (btnSender == this.btnAgua)
            {
                objAtaque = objGC.AtacarEnemigo(TipoElemento.Agua, out damage, out nuevoEnemigo);
            }
            if (btnSender == this.btnViento)
            {
                objAtaque = objGC.AtacarEnemigo(TipoElemento.Viento, out damage, out nuevoEnemigo);
            }
            EscribirEnLog(string.Format("Ha atacado con {0}. Su enemigo pierde {1}HP", objAtaque.Tipo.ToString(), damage));
            if (nuevoEnemigo)
            {
                EscribirEnLog("Ha encontrado un nuevo enemigo");
            }
            this.grpAtaques.Enabled = false;
            SetStatsEnemigosUI();
            ValidarGameplayStatus();
            objGC.TurnoActual = Turno.Enemigo;
            SetTurnoActualUI();
            SetJugadorUI();
            this.btnAtaqueEnemigo.Enabled = true;
            ValidarGameplayStatus();
        }
Ejemplo n.º 14
0
 public ActionResult Atacar(Ataque ataque)
 {
     if (GameLogic.JogoTerminado)
     {
         Feedback.Add("Jogo Terminado, por favor reinicie");
     }
     else
     if (ataque.Dano <= 0)
     {
         Feedback.Add("Por Favor, insira dano");
     }
     else
     if (ModelState.IsValid)
     {
         GameLogic.LogicaDeAtaque(ataque);
     }
     return(RedirectToAction("Simulador"));
 }
Ejemplo n.º 15
0
    public void FinalTurno()
    {
        anim.SetTrigger("finaliza");
        texto.GetComponent <Text>().color = corFim;
        texto.GetComponent <Text>().text  = "Vez do Oponente";
        anim.SetTrigger("espera");
        meuTurn   = false;
        vezNormal = true;
        SlotsCards.SetActive(false);
        ReservaTazos.SetActive(false);

        Regatar.GetComponent <Button>().interactable  = false;
        EmJogo.GetComponent <Button>().interactable   = false;
        Ativando.GetComponent <Button>().interactable = false;
        Ataque.GetComponent <Button>().interactable   = false;
        Defende.GetComponent <Button>().interactable  = false;
        Fim.GetComponent <Button>().interactable      = false;
    }
    public void VincularResources()
    {
        scriptPrincipal.listaItem.Clear();
        scriptPrincipal.listaPokemon.Clear();
        scriptPrincipal.listaAtaque.Clear();
        scriptPrincipal.listaSonidos.Clear();
        scriptPrincipal.listaMusica.Clear();

        Object[] items    = Resources.LoadAll("Items", typeof(Item));
        Object[] pokemons = Resources.LoadAll("Pokemons", typeof(Pokemon));
        Object[] ataques  = Resources.LoadAll("Ataques", typeof(Ataque));
        Object[] sonidos  = Resources.LoadAll("Audios", typeof(Sonido));
        Object[] musica   = Resources.LoadAll("Audios", typeof(Musica));

        for (int i = 0; i < items.Length; i++)
        {
            Item item = (Item)items[i];
            scriptPrincipal.listaItem.Add(new ItemVinculado(item.ID, Path.Combine("Items", items[i].name)));
        }

        for (int i = 0; i < pokemons.Length; i++)
        {
            Pokemon pokemon = (Pokemon)pokemons[i];
            scriptPrincipal.listaPokemon.Add(new PokemonVinculado(pokemon.ID, Path.Combine("Pokemons", pokemons[i].name)));
        }

        for (int i = 0; i < ataques.Length; i++)
        {
            Ataque ataque = (Ataque)ataques[i];
            scriptPrincipal.listaAtaque.Add(new AtaqueVinculado(ataque.ID, Path.Combine("Ataques", ataques[i].name)));
        }

        for (int i = 0; i < sonidos.Length; i++)
        {
            Sonido audio = (Sonido)sonidos[i];
            scriptPrincipal.listaSonidos.Add(new SonidoVinculado(audio.ID, Path.Combine("Audios", sonidos[i].name)));
        }

        for (int i = 0; i < musica.Length; i++)
        {
            Musica mus = (Musica)musica[i];
            scriptPrincipal.listaMusica.Add(new MusicaVinculada(mus.ID, Path.Combine("Audios", musica[i].name)));
        }
    }
Ejemplo n.º 17
0
 void start()
 {
     if (Setting.PescarSemParar == 1)
     {
         Setting.triestotal = 30;
     }
     else
     {
         Setting.triestotal = 7;
     }
     if (Setting.PlayerOnScreen == false)
     {
         if (Setting.Atacar == 1 && Setting.AtacarSemTarget == 0)
         {
             Ataque.Atacar();
         }
         if (Setting.Pescar == 1 && Setting.PescarSemParar == 0)
         {
             if (Setting.Lootear == 1)
             {
                 Looting.AbrirCorpos();
             }
             if (Setting.catchpoke == 1)
             {
                 Catch.JogarBall();
             }
             Pesca.Pescar();
         }
         Setting.tries = 0;
         if (Setting.Atacar == 1)
         {
             if (Setting.AtacarSemTarget == 0)
             {
                 Ataque.Atacar();
             }
         }
         Setting.Running = true;
     }
     Chat.CheckChat();
 }
    public void MostrarVentana(PokemonModelo pokemon, AtaqueID nuevoAtaque)
    {
        this.pokemon        = pokemon;
        nuevoAtaqueAprender = ControladorDatos.Instancia.ObtenerAtaque(nuevoAtaque);
        AtaqueSeleccionado  = null;

        nuevoAtaqueNombre.text     = nuevoAtaqueAprender.nombre;
        nuevoAtaqueElemento.text   = Herramientas.TextoAtaqueElemento(nuevoAtaqueAprender.ataqueElemento);
        nuevoAtaquePoderYTipo.text = string.Concat(nuevoAtaqueAprender.poder, " ", nuevoAtaqueAprender.TextoTipoAtaque());

        for (int i = 0; i < detallesAtaques.Length; i++)
        {
            detallesAtaques[i].gameObject.SetActive(false);
        }

        for (int i = 0; i < pokemon.Ataques().Length; i++)
        {
            detallesAtaques[i].MostrarAtaque(pokemon.Ataques()[i].DatosFijos, this);
        }

        gameObject.SetActive(true);
    }
Ejemplo n.º 19
0
    public IEnumerator SubeDeNivelComprobarAtaquesAprendidos(PokemonModelo pokemon)
    {
        for (int i = 0; i < pokemon.DatosFijos.listaDeAtaques.Count; i++)
        {
            if (pokemon.DatosFijos.listaDeAtaques[i].nivelAprender == pokemon.Nivel && pokemon.DatosFijos.listaDeAtaques[i].ataque != AtaqueID.NINGUNO)
            {
                Ataque ataque = ControladorDatos.Instancia.ObtenerAtaque(pokemon.DatosFijos.listaDeAtaques[i].ataque);

                //... Si tiene menos de 4 ataques aprendidos lo asignamos directamente
                if (pokemon.Ataques().Count(x => x.ID == AtaqueID.NINGUNO) > 0)
                {
                    pokemon.AprenderNuevoAtaque(AtaqueID.NINGUNO, pokemon.DatosFijos.listaDeAtaques[i].ataque);

                    string texto = Ajustes.Instancia.textoNuevoAtaqueAprendido
                                   .Replace(Ajustes.Instancia.palabraParaReemplazarEnLosTexto1, pokemon.DatosFijos.nombre)
                                   .Replace(Ajustes.Instancia.palabraParaReemplazarEnLosTexto2, ataque.nombre);
                    yield return(StartCoroutine(UIControlador.Instancia.Dialogo.componentePrincipal.MostrarTextoCorrutina(texto, false)));
                }
                else
                {
                    string texto = Ajustes.Instancia.textoPreguntarAprenderNuevoAtaque
                                   .Replace(Ajustes.Instancia.palabraParaReemplazarEnLosTexto1, pokemon.DatosFijos.nombre)
                                   .Replace(Ajustes.Instancia.palabraParaReemplazarEnLosTexto2, ataque.nombre);
                    yield return(StartCoroutine(UIControlador.Instancia.Dialogo.componentePrincipal.MostrarTextoCorrutina(texto, false, true)));

                    UIControlador.Instancia.AprenderAtaque.MostrarVentana(pokemon, pokemon.DatosFijos.listaDeAtaques[i].ataque);
                    while (UIControlador.Instancia.AprenderAtaque.gameObject.activeSelf)
                    {
                        yield return(null);
                    }
                }
                break;
            }
            yield return(null);
        }

        yield return(new WaitForSeconds(0.5f));
    }
 public static void LogicaDeAtaque(Ataque ataque)
 {
     if (ataque.ModoBloqueio == 0 ||
         (ataque.Dano > ataque.Bloqueio && ataque.ModoBloqueio == 1))
     {
         ReduzDanoAdversario(ataque);
     }
     else
     if (ataque.Dano > ataque.Bloqueio && ataque.ModoBloqueio == 2)
     {
         Feedback.Add("Monstro bloqueante destruido");
     }
     else
     if (ataque.Bloqueio > ataque.Dano)
     {
         ReduzMeuDano(ataque);
     }
     else
     if (ataque.Dano == ataque.Bloqueio && ataque.ModoBloqueio == 1)
     {
         Feedback.Add("Ambos os Monstros destruidos");
     }
 }
    public void AtaquePulsado(Ataque ataque)
    {
        if (UIControlador.Instancia.Dialogo.ventanConfirmacion.gameObject.activeSelf)
        {
            return;
        }

        AtaqueSeleccionado = ataque;

        string textoSolicitarConfirmacion = Ajustes.Instancia.textoConfirmarAprenderNuevoAtaque
                                            .Replace(Ajustes.Instancia.palabraParaReemplazarEnLosTexto1, AtaqueSeleccionado.nombre)
                                            .Replace(Ajustes.Instancia.palabraParaReemplazarEnLosTexto2, nuevoAtaqueAprender.nombre);

        string textoNuevoAtaqueAprendido = Ajustes.Instancia.textoNuevoAtaqueAprendido
                                           .Replace(Ajustes.Instancia.palabraParaReemplazarEnLosTexto1, pokemon.DatosFijos.nombre)
                                           .Replace(Ajustes.Instancia.palabraParaReemplazarEnLosTexto2, nuevoAtaqueAprender.nombre);

        string textoSolicitarSeleccionarAtaque = Ajustes.Instancia.textoPreguntarAprenderNuevoAtaque
                                                 .Replace(Ajustes.Instancia.palabraParaReemplazarEnLosTexto1, pokemon.DatosFijos.nombre)
                                                 .Replace(Ajustes.Instancia.palabraParaReemplazarEnLosTexto2, AtaqueSeleccionado.nombre);

        ControladorEventos.Instancia.LanzarEvento(new EventoMostrarVentanaConfirmacion(AccionConfirmarAprenderNuevoAtaque, AccionCancelarAprenderNuevoAtaque, textoSolicitarConfirmacion, textoNuevoAtaqueAprendido, textoSolicitarSeleccionarAtaque, PokemonID.NINGUNO, false));
    }
Ejemplo n.º 22
0
        static void Main(string[] args)
        {
            Ataque ataque1 = new Ataque("NomeAtaque1", 40, 60);
            Ataque ataque2 = new Ataque("NomeAtaque2", 30, 70);

            Pokemon pokemon1 = new Pokemon("NomePokemon1", 120, ataque1, ataque2);
            Pokemon pokemon2 = new Pokemon("NomePokemon2", 150, ataque2, ataque1);

            Jogador jogador = new Jogador("NomeTreinador1", pokemon1, pokemon2);
            Inimigo inimigo = new Inimigo("NomeTreinador2", pokemon2, pokemon1);

            Console.WriteLine("Vida atuald dos pokemons em campo:");
            Console.WriteLine("Player: " + jogador.pokemonEmCampo.QntVida);
            Console.WriteLine("Inimigo: " + inimigo.pokemonEmCampo.QntVida);

            jogador.Atacar(0, 0, inimigo.pokemonEmCampo);

            Console.WriteLine("Vida atuald dos pokemons em campo:");
            Console.WriteLine("Player: " + jogador.pokemonEmCampo.QntVida);
            Console.WriteLine("Inimigo: " + inimigo.pokemonEmCampo.QntVida);


            Console.ReadLine();
        }
Ejemplo n.º 23
0
        static void Main(string[] args)
        {
            Espada        excalibur  = new Espada(40);
            Espada        myst       = new Espada(20);
            Armadura      hierro     = new Armadura(5, 3, 20);
            Lanza         gugnir     = new Lanza(30);
            LibroHechizos fimbulvetr = new LibroHechizos("Fimbulvetr", 15, 60);
            Enano         gimli      = new Enano("Gimli", 100, 25, 20, 5, excalibur, hierro);
            Enano         eldigan    = new Enano("Eldigan", 50, 25, 20, 5, myst, hierro);
            Elfo          legolaz    = new Elfo(150, "Legolaz", 15, 3, 8, 20, gugnir, hierro, fimbulvetr);

            Console.WriteLine();
            Console.WriteLine($"Legolaz HP:{legolaz.Vida}");
            Console.WriteLine("Gimli ataca a Legolaz");
            legolaz.Vida = Ataque.Atacar(gimli.Ataque, legolaz.Vida, legolaz.Defensa);
            Console.WriteLine($"Legolaz HP:{legolaz.Vida}");
            Console.WriteLine();
            Console.WriteLine($"Eldigan HP:{eldigan.Vida}");
            Console.WriteLine($"Eldigan ataque:{eldigan.Ataque}");
            Console.WriteLine($"Eldigan defensa:{eldigan.Defensa}");
            Console.WriteLine("Legolaz cura a Eldigan");
            eldigan.Vida = Curar.Curacion(legolaz.Cura, eldigan.Vida);
            Console.WriteLine($"Eldigan HP:{eldigan.Vida}");
        }
Ejemplo n.º 24
0
        private NodoB insertar(NodoB raiz, NodoB padre, Ataque valor)
        {
            if (raiz.paginas == null)     //si no tiene paginas
            {
                raiz.valores.push(valor); //agrego directamente el valor al nodo
            }
            else//si tiene paginas
            {
                Nodus <NodoB>  pagina_actual = raiz.paginas.raiz;
                Nodus <Ataque> padre_aux     = raiz.valores.raiz;
                while (pagina_actual.siguiente != null)                           //mientras no sea la ultima pagina
                {
                    if (frenoEnQuePaginaInserto(valor, pagina_actual, padre_aux)) //si valor es menor que el ultimo valor de la pagina actual
                    {
                        break;
                    }

                    /* if (valor.Y < pagina_actual.Item.valores.fin.Item.Y || valor.Y < padre_aux.Item.Y)//si valor es menor que el ultimo valor de la pagina actual
                     *   break;*/
                    if (pagina_actual != null)
                    {
                        pagina_actual = pagina_actual.siguiente;
                    }
                    padre_aux = padre_aux.siguiente;
                }
                insertar(pagina_actual.Item, raiz, valor);                         //inserto en la pagina
            }
            quickSort(raiz.valores, 0, raiz.valores.count - 1);                    //ordeno los valores
            if (raiz.valores.count == grado)                                       //si tengo un numero valores iguales al grado, mientras deberia ser grado -1
            {
                Nodus <Ataque> aux     = raiz.valores.pull((grado / 2) - 1, true); //porque -1? para agarrar el nodo izq para subir, sin -1 toma el der pero aun asi seria correcto
                bool           derecha = false;                                    //esta bandera me ayuda a saber si se generan 2 paginas, o 1 al dividir
                if (padre == null)                                                 //si no hay un nodo superior a este
                {
                    padre         = new NodoB();                                   //creo un nuevo padre
                    padre.valores = new Lista <Ataque>();                          //inicializo su lista de valores
                    padre.paginas = new Lista <NodoB>();                           //inicializo su lista de paginas
                    derecha       = true;
                }
                padre.valores.push(aux.Item);       //ingreso el nuevo valor
                NodoB izq = new NodoB();            //hago un nodo b auxilliar
                izq.valores = new Lista <Ataque>(); //inicializo su lista de valores
                int i;
                for (i = 1; i < (grado / 2); i++)
                {
                    izq.valores.push(raiz.valores.pop());//agrego los valores al nuevo nodo
                }
                #region Recuperar paginas izq
                if (raiz.paginas != null && raiz.paginas.count > grado)
                {
                    izq.paginas = new Lista <NodoB>();
                    for (i = 0; i < (grado / 2); i++)
                    {
                        izq.paginas.push(raiz.paginas.pop());
                    }
                }
                #endregion

                #region Posicionar Pagina
                if (!derecha)
                {
                    Nodus <NodoB> aux_pp = padre.paginas.raiz;
                    int           limite = padre.paginas.count;

                    for (i = 0; i < limite; i++)
                    {
                        if (frenoDondeInsertoPagina(izq, aux_pp))
                        {
                            break;
                        }

                        /*if (izq.valores.fin.Item.Y < aux_pp.Item.valores.raiz.Item.Y)//busco entre que paginas va la nueva pagina
                         *  break;*/
                        aux_pp = aux_pp.siguiente;
                    }
                    //padre.paginas.push(izq);
                    if (i == 0 && aux_pp == padre.paginas.raiz)//si debe ser la primera pagina
                    {
                        padre.paginas.pushTop(izq);
                    }
                    else
                    {
                        padre.paginas.pushAt(izq, i);//si debe ser posicionado en medio
                    }
                }
                #endregion
                else//si padre empezo como null le agrego 2 paginas nuevas, pero si no lo es solo le agrego 1 y la otra solo pierde n valores
                {
                    padre.paginas.push(izq);

                    NodoB der = new NodoB();
                    #region Recuperar paginas
                    if (raiz.paginas != null && izq.paginas != null)
                    {
                        der.paginas = new Lista <NodoB>();
                        while (raiz.paginas.count != 0)
                        {
                            der.paginas.push(raiz.paginas.pop());
                        }
                    }
                    #endregion
                    der.valores = new Lista <Ataque>();
                    while (raiz.valores.count != 0)
                    {
                        der.valores.push(raiz.valores.pop());
                    }
                    padre.paginas.push(der);
                }
            }

            if (padre == null)
            {
                return(raiz);
            }
            else
            {
                return(padre);
            }
        }
Ejemplo n.º 25
0
 public void setAtaqueEspecial(Ataque ataqueE)
 {
     ataqueEspecial = ataqueE;
 }
Ejemplo n.º 26
0
 public void setAtaqueNormal(Ataque ataqueN)
 {
     this.ataqueNormal = ataqueN;
 }
 public AtaqueAprendido(int nivel, Ataque ataque)
 {
     this.Nivel  = nivel;
     this.Ataque = ataque;
 }
Ejemplo n.º 28
0
 public void valorAtaque()
 {
     this.gandalf.Vida = Ataque.Atacar(gimli.Ataque, gandalf.Vida, gandalf.Defensa);
     Assert.AreEqual(5, this.gandalf.Vida);
 }
Ejemplo n.º 29
0
        static void Main(string[] args)
        {
            IntroRPG.Shared.GameController objGC = new Shared.GameController(100, 5);
            objGC.StartGame();
            bool bSalir = false;

            do
            {
                switch (objGC.TurnoActual)
                {
                case Shared.Turno.Jugador:
                    Console.WriteLine(string.Format("Su turno. HP={0}", objGC.GetPlayerHP()));
                    if (objGC.TieneTarget())
                    {
                        int enemyHP = objGC.GetEnemyHP();
                        Console.WriteLine(string.Format("Tiene un enemigo. HP={0}", enemyHP));
                    }
                    Console.WriteLine("Selecciona su ataque");
                    Console.WriteLine("1. Rayo");
                    Console.WriteLine("2. Fuego");
                    Console.WriteLine("3. Tierra");
                    Console.WriteLine("4. Hielo");
                    Console.WriteLine("5. Agua");
                    Console.WriteLine("6. Viento");
                    ConsoleKeyInfo ataque = Console.ReadKey();
                    Console.WriteLine("");
                    bool   ataqueRealizado  = false;
                    Ataque objAtaqueJugador = null;
                    int    damagePorJugador = 0;
                    bool   nuevoEnemigo     = false;
                    switch (ataque.Key)
                    {
                    case ConsoleKey.D1:
                    case ConsoleKey.NumPad1:
                        objAtaqueJugador = objGC.AtacarEnemigo(IntroRPG.Shared.TipoElemento.Rayo, out damagePorJugador, out nuevoEnemigo);
                        ataqueRealizado  = true;
                        break;

                    case ConsoleKey.D2:
                    case ConsoleKey.NumPad2:
                        objAtaqueJugador = objGC.AtacarEnemigo(IntroRPG.Shared.TipoElemento.Fuego, out damagePorJugador, out nuevoEnemigo);
                        ataqueRealizado  = true;
                        break;

                    case ConsoleKey.D3:
                    case ConsoleKey.NumPad3:
                        objAtaqueJugador = objGC.AtacarEnemigo(IntroRPG.Shared.TipoElemento.Tierra, out damagePorJugador, out nuevoEnemigo);
                        ataqueRealizado  = true;
                        break;

                    case ConsoleKey.D4:
                    case ConsoleKey.NumPad4:
                        objAtaqueJugador = objGC.AtacarEnemigo(IntroRPG.Shared.TipoElemento.Hielo, out damagePorJugador, out nuevoEnemigo);
                        ataqueRealizado  = true;
                        break;

                    case ConsoleKey.D5:
                    case ConsoleKey.NumPad5:
                        objAtaqueJugador = objGC.AtacarEnemigo(IntroRPG.Shared.TipoElemento.Agua, out damagePorJugador, out nuevoEnemigo);
                        ataqueRealizado  = true;
                        break;

                    case ConsoleKey.D6:
                    case ConsoleKey.NumPad6:
                        objAtaqueJugador = objGC.AtacarEnemigo(IntroRPG.Shared.TipoElemento.Viento, out damagePorJugador, out nuevoEnemigo);
                        ataqueRealizado  = true;
                        break;

                    default:
                        Console.WriteLine("Porfavor digite una opción válida");
                        break;
                    }
                    if (ataqueRealizado == true)
                    {
                        objGC.TurnoActual = Shared.Turno.Enemigo;
                        Console.WriteLine(string.Format("Ha atacado con {0}. Su enemigo pierde {1}HP", objAtaqueJugador.Tipo.ToString(), damagePorJugador));
                    }
                    if (nuevoEnemigo)
                    {
                        Console.WriteLine("Ha encontrado un nuevo enemigo");
                    }
                    break;

                case Shared.Turno.Enemigo:
                    int    dmg       = 0;
                    Ataque objAtaque = objGC.AtacarJugador(out dmg);
                    Console.WriteLine("Ha sido atacado con {0}. Pierde {1}HP", objAtaque.Tipo.ToString(), dmg);
                    objGC.TurnoActual = Turno.Jugador;
                    break;
                }
                switch (objGC.CurrentGameplayStatus)
                {
                case GameSessionStatus.PlayerWin:
                    Console.WriteLine("Felicidades! Ha ganado el juego");
                    bSalir = true;
                    break;

                case GameSessionStatus.GameOver:
                    Console.WriteLine("Lo sentimos. Ha sufrido una derrota");
                    bSalir = true;
                    break;
                }
            } while (bSalir == false);
            Console.WriteLine("Presione una tecla para salir");
            Console.ReadKey();
        }
Ejemplo n.º 30
0
        private bool frenoEnQuePaginaInserto(Ataque item, Nodus <NodoB> pagina, Nodus <Ataque> posicion_en_pagina)
        {
            switch (patron)
            {
            case "CoordenadaY":
                if (item.Y < pagina.Item.valores.fin.Item.Y || item.Y < posicion_en_pagina.Item.Y)
                {
                    return(true);
                }
                return(false);

            case "CoordenadaX":
                if (item.X.CompareTo(pagina.Item.valores.fin.Item.X) < 0 || item.X.CompareTo(posicion_en_pagina.Item.X) < 0)
                {
                    return(true);
                }
                return(false);

            case "Resultado":
                if (item.Resultado.CompareTo(pagina.Item.valores.fin.Item.Resultado) < 0 || item.Resultado.CompareTo(posicion_en_pagina.Item.Resultado) < 0)
                {
                    return(true);
                }
                return(false);

            case "Emisor":
                if (item.Emisor.CompareTo(pagina.Item.valores.fin.Item.Emisor) < 0 || item.Emisor.CompareTo(posicion_en_pagina.Item.Emisor) < 0)
                {
                    return(true);
                }
                return(false);

            case "Receptor":
                if (item.Receptor.CompareTo(pagina.Item.valores.fin.Item.Receptor) < 0 || item.Receptor.CompareTo(posicion_en_pagina.Item.Receptor) < 0)
                {
                    return(true);
                }
                return(false);

            case "Fecha":
                if (item.Fecha.CompareTo(pagina.Item.valores.fin.Item.Fecha) < 0 || item.Fecha.CompareTo(posicion_en_pagina.Item.Fecha) < 0)
                {
                    return(true);
                }
                return(false);

            case "Tiempo Restante":
                if (item.Tiempo_restante.CompareTo(pagina.Item.valores.fin.Item.Tiempo_restante) < 0 || item.Tiempo_restante.CompareTo(posicion_en_pagina.Item.Tiempo_restante) < 0)
                {
                    return(true);
                }
                return(false);

            case "No. Ataque":
                if (item.Numero_ataque < pagina.Item.valores.fin.Item.Numero_ataque || item.Numero_ataque < posicion_en_pagina.Item.Numero_ataque)
                {
                    return(true);
                }
                return(false);

            case "Tipo Unidad":
                if (item.Tipo_unidad_danyada.CompareTo(pagina.Item.valores.fin.Item.Tipo_unidad_danyada) < 0 || item.Tipo_unidad_danyada.CompareTo(posicion_en_pagina.Item.Tipo_unidad_danyada) < 0)
                {
                    return(true);
                }
                return(false);

            case "Unidad Atacante":
                if (item.Atacante.CompareTo(pagina.Item.valores.fin.Item.Atacante) < 0 || item.Atacante.CompareTo(posicion_en_pagina.Item.Atacante) < 0)
                {
                    return(true);
                }
                return(false);

            default:
                return(true);
            }
        }
 private void AccionCancelarAprenderNuevoAtaque()
 {
     AtaqueSeleccionado = null;
 }