Пример #1
0
        public static List <Casa> CasasAndaveis(Personagem per, Mapa map)
        {
            List <Casa> CasasAndaveis = new List <Casa>();

            int px = per.PosX;//deu exception aq qnd clicou varias vzs nos perso do msm time
            int py = per.PosY;
            int rg = per.MovRange;

            for (int x = rg; x >= -rg; x--)
            {
                for (int y = rg; y >= -rg; y--)
                {
                    if (y == 0 && x == 0 || px + x < 0 || px + x >= 20 || py + y < 0 || py + y >= 20)
                    {
                        continue;
                    }

                    if (map.casa[px + x, py + y].Andavel == true && map.casa[px + x, py + y].Personagem == null)
                    {
                        CasasAndaveis.Add(map.casa[px + x, py + y]);
                    }
                }
            }
            CasasAndaveis.Add(map.casa[px, py]);
            return(CasasAndaveis);
        }
        public Mapa InciarMapa()//iniciar o back do mapa
        {
            Mapa mapa = new Mapa();

            GerarCasas(mapa);


            //Random rnd = new Random();//utilizar o rnd ao criar um item no mapa
            return(mapa);
        }
        public void GeraItemNaCasa(int x, int y, Mapa map, Random valorSorteado)
        {
            int VS = valorSorteado.Next(0, 100);

            if (VS <= 10)
            {
                if (!((x == 1 && y == 7) || (x == 1 && y == 8) || (x == 2 && y == 7) || (x == 2 && y == 8)) &&
                    !((x == 17 && y == 7) || (x == 17 && y == 8) || (x == 18 && y == 7) || (x == 18 && y == 8)))
                {
                    map.casa[x, y].Item = GeraItem(x, y, map, VS);
                }
            }
        }
        private void GerarCasas(Mapa mapa)
        {
            foreach (int[] casa in CasasNaoAndaveis)
            {
                Debug.WriteLine(" " + casa[0] + "  " + casa[1]);
            }
            Random valorSorteado = new Random();

            for (int x = 0; x < DimX; x++)
            {
                for (int y = 0; y < DimY; y++)
                {
                    mapa.casa[x, y] = new Casa(x, y);
                    EhAdavel(mapa.casa[x, y], CasasNaoAndaveis);
                    GeraItemNaCasa(x, y, mapa, valorSorteado);
                }
            }
        }
        }//checar se a casa pode ser ocupada Na geracao

        private Item.Item GeraItem(int posX, int posY, Mapa mapa, int valorSorteado)
        {
            if (PodeAndar(posX, posY, mapa))
            {
                if (valorSorteado == 2)
                {
                    return new Item.Item {
                               Descricao = "Não Utilizável", Nome = "PEDRA", Tipo = EItens.NaoUtilizavel, UrlImage = "ms-appx:///Assets/itens/pedra.png"
                    }
                }
                ;                                                                                                                                                      //DEVE SER ALTERADO QUANDO TROCAR A COLEÇÃO
                else if (valorSorteado == 3)
                {
                    return new Item.Item {
                               Descricao = "Recebe Dinheiro Ao Pegar", Nome = "DIAMANTE", Tipo = EItens.Gold, UrlImage = "ms-appx:///Assets/itens/minerais/diamante.png"
                    }
                }
                ;                                                                                                                                                                      //DEVE SER ALTERADO QUANDO TROCAR A COLEÇÃO
                else if (valorSorteado == 4 || valorSorteado == 5)
                {
                    return new Item.Item {
                               Descricao = "Recebe Dinheiro Ao Pegar", Nome = "RUBI", Tipo = EItens.Gold, UrlImage = "ms-appx:///Assets/itens/minerais/rubi.png"
                    }
                }
                ;                                                                                                                                                              //DEVE SER ALTERADO QUANDO TROCAR A COLEÇÃO
                else if (valorSorteado == 6 || valorSorteado == 7)
                {
                    return new Item.Item {
                               Descricao = "Recebe Dinheiro Ao Pegar", Nome = "OURO", Tipo = EItens.Gold, UrlImage = "ms-appx:///Assets/itens/minerais/ouro.png"
                    }
                }
                ;                                                                                                                                                              //DEVE SER ALTERADO QUANDO TROCAR A COLEÇÃO
                else if (valorSorteado == 8)
                {
                    return new Item.Item {
                               Descricao = "Cura em 30 sua vida atual", Nome = "POÇÃO CURA", Tipo = EItens.Consumivel, UrlImage = "ms-appx:///Assets/itens/pocoes/poção_att+10.png"
                    }
                }
                ;                                                                                                                                                                                 //DEVE SER ALTERADO QUANDO TROCAR A COLEÇÃO
                else if (valorSorteado == 9 || valorSorteado == 10)
                {
                    return new Item.Item {
                               Descricao = "Aumenta em 20 sua vida Maxima", Nome = "POÇÃO VIDAMAX", Tipo = EItens.Consumivel, UrlImage = "ms-appx:///Assets/itens/pocoes/poção_def+10.png"
                    }
                }
                ;                                                                                                                                                                                        //DEVE SER ALTERADO QUANDO TROCAR A COLEÇÃO
                else if (valorSorteado % 2 == 0)
                {
                    return new Item.Item {
                               Descricao = "Aumenta em 1 o seu Atk Range e o Mov Range", Nome = "POÇÃO RANGE", Tipo = EItens.Consumivel, UrlImage = "ms-appx:///Assets/itens/pocoes/poção_att+5.png"
                    }
                }
                ;                                                                                                                                                                                                  //DEVE SER ALTERADO QUANDO TROCAR A COLEÇÃO
                else
                {
                    return new Item.Item {
                               Descricao = "Aumenta em 5 o dano", Nome = "POÇÃO DANO", Tipo = EItens.Consumivel, UrlImage = "ms-appx:///Assets/itens/pocoes/poção_def+5.png"
                    }
                };                                                                                                                                                                         //DEVE SER ALTERADO QUANDO TROCAR A COLEÇÃO
            }
            else
            {
                return(null);
            }
        }
 private bool PodeAndar(int posX, int posY, Mapa mapa)
 {
     return(mapa.casa[posX, posY].Andavel);
     //return true;
 }//checar se a casa pode ser ocupada Na geracao