public List<PecaDama> PecasComPossibilidadeAtaque(List<PecaDama> pecas) { var lista = new List<PecaDama>(); RegraDama regraDama = new RegraDama(_pecasTabuleiro, _listaLugaresValidos); RegraPeao regraPeao = new RegraPeao(_pecasTabuleiro, _listaLugaresValidos); foreach (var pecaDama in pecas) { List<PecaDama> listaCandidatas = new List<PecaDama>(); if (pecaDama.Tipo == TipoPeca.Dama) { listaCandidatas = regraDama.PecasCandidatasEliminacao(pecaDama); } else if (pecaDama.Tipo == TipoPeca.Peao) { listaCandidatas = regraPeao.PecasCandidatasEliminacao(pecaDama); } if (listaCandidatas.Count > 0) { lista.Add(pecaDama); } } return lista; }
public List<PecaDama> PecasComPossibilidadeDeMovimento() { var lista = new List<PecaDama>(); RegraDama regraDama = new RegraDama(_pecasTabuleiro, _listaLugaresValidos); RegraPeao regraPeao = new RegraPeao(_pecasTabuleiro, _listaLugaresValidos); lista.AddRange(regraPeao.PecasComPossibilidadeMovimento(_jogadorIA)); lista.AddRange(regraDama.PecasComPossibilidadeMovimento(_jogadorIA)); return lista; }
private void CriarPossibilidadeMovimento(PecaDama peca, Grid grid) { RegraPeao regraPeao = new RegraPeao(_pecasTabuleiro, _listaLugaresValidos); RegraDama regraDama = new RegraDama(_pecasTabuleiro, _listaLugaresValidos); switch (peca.Tipo) { case TipoPeca.Peao: regraPeao.ExibirPossibilidadeMovimento(peca); break; case TipoPeca.Dama: regraDama.ExibirPossibilidadeMovimento(peca); break; } }
private List<PecaDama> ObterPecasCandidatasEliminacao(PecaDama peca) { List<PecaDama> pecas = new List<PecaDama>(); RegraPeao regraPeao = new RegraPeao(_pecasTabuleiro, _listaLugaresValidos); RegraDama regraDama = new RegraDama(_pecasTabuleiro, _listaLugaresValidos); switch (peca.Tipo) { case TipoPeca.Peao: pecas = regraPeao.PecasCandidatasEliminacao(peca); break; case TipoPeca.Dama: pecas = regraDama.PecasCandidatasEliminacao(peca); break; } return pecas; }