Beispiel #1
0
 public Peca(CorPeca corPeca, Tabuleiro tab)
 {
     this.posicao       = null;
     this.corPeca       = corPeca;
     this.qtdMovimentos = 0;
     this.tab           = tab;
 }
Beispiel #2
0
 public bool testeXeque(CorPeca corPeca)
 {
     if (!estaXeque(corPeca))
     {
         return(false);
     }
     foreach (Peca x in pecasEmJogo(corPeca))
     {
         bool[,] mat = x.movimentosPossiveis();
         for (int i = 0; i < tab.linhas; i++)
         {
             for (int j = 0; i < tab.colunas; j++)
             {
                 if (mat[i, j])
                 {
                     Posicao origem        = x.posicao;
                     Posicao destino       = new Posicao(i, j);
                     Peca    pecaCapturada = executarMovimento(origem, destino);
                     bool    testeXeque    = estaXeque(corPeca);
                     desfazMovimento(origem, destino, pecaCapturada);
                     if (!testeXeque)
                     {
                         return(false);
                     }
                 }
             }
         }
     }
     return(true);
 }
Beispiel #3
0
 public Peca(CorPeca cor, Tabuleiro tab)
 {
     Posicao          = null;
     Cor              = cor;
     Tab              = tab;
     QtdadeMovimentos = 0;
 }
Beispiel #4
0
        public ActionResult Index([Bind(Include = "CorId,NomeCorPeca")] CorPeca cor)
        {
            var cores = db.CorPecas.ToList();
            var x     = db.CorPecas.Count();
            var cont  = 0;

            for (var i = 0; i <= cont; i++)
            {
                cont++;

                if (cor.NomeCorPeca == cores[i].NomeCorPeca)
                {
                    ViewBag.Error = "Cor já existente";
                    break;
                }
                else if (cont == x)
                {
                    if (ModelState.IsValid)
                    {
                        db.CorPecas.Add(cor);
                        db.SaveChanges();
                        return(RedirectToAction("Index"));
                    }
                }
            }
            return(View(db.CorPecas.ToList()));
        }
Beispiel #5
0
 public ActionResult Edit([Bind(Include = "CorId,NomeCor")] CorPeca corPeca)
 {
     if (ModelState.IsValid)
     {
         db.Entry(corPeca).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     return(View(corPeca));
 }
Beispiel #6
0
        public ActionResult Create([Bind(Include = "CorId,NomeCor")] CorPeca corPeca)
        {
            if (ModelState.IsValid)
            {
                db.CorPecas.Add(corPeca);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            return(View(corPeca));
        }
Beispiel #7
0
 private Peca rei(CorPeca corPeca)
 {
     foreach (Peca x in pecasEmJogo(corPeca))
     {
         if (x is Rei)
         {
             return(x);
         }
     }
     return(null);
 }
Beispiel #8
0
 private CorPeca adversaria(CorPeca corPeca)
 {
     if (corPeca == CorPeca.Branca)
     {
         return(CorPeca.Preta);
     }
     else
     {
         return(CorPeca.Branca);
     }
 }
Beispiel #9
0
        public HashSet <Peca> pecasCapturadas(CorPeca corPeca)
        {
            HashSet <Peca> aux = new HashSet <Peca>();

            foreach (Peca x in capturadas)
            {
                if (x.corPeca == corPeca)
                {
                    aux.Add(x);
                }
            }
            return(aux);
        }
Beispiel #10
0
        public bool estaXeque(CorPeca corPeca)
        {
            Peca R = rei(corPeca);

            foreach (Peca x in pecasEmJogo(adversaria(corPeca)))
            {
                bool[,] mat = x.movimentosPossiveis();
                if (mat[R.posicao.linha, R.posicao.coluna])
                {
                    return(true);
                }
            }
            return(false);
        }
Beispiel #11
0
        // GET: CorPecas/Edit/5
        public ActionResult Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            CorPeca corPeca = db.CorPecas.Find(id);

            if (corPeca == null)
            {
                return(HttpNotFound());
            }
            return(View(corPeca));
        }
Beispiel #12
0
        public HashSet <Peca> pecasEmJogo(CorPeca corPeca)
        {
            HashSet <Peca> aux = new HashSet <Peca>();

            foreach (Peca x in pecas)
            {
                if (x.corPeca == corPeca)
                {
                    aux.Add(x);
                }
            }
            aux.ExceptWith(pecasCapturadas(corPeca));
            return(aux);
        }
Beispiel #13
0
        public static Peca ObterPeca(CorPeca cor, NomePeca nome)
        {
            Peca pecaXadrez = null;

            if (nome == NomePeca.Torre)
            {
                pecaXadrez = new Torre((Cor)cor, nome.ToString());
            }
            else if (nome == NomePeca.Rei)
            {
                pecaXadrez = new Rei((Cor)cor, nome.ToString());
            }

            return(pecaXadrez);
        }
Beispiel #14
0
        public ActionResult DeleteConfirmed(int id)
        {
            CorPeca corPeca = db.CorPecas.Find(id);
            var     busca   = db.OrdemProducaoPecas.Where(o => o.CorPecaId == id);
            var     busca2  = db.Especificacaos.Where(o => o.CorPecaId == id);
            var     busca3  = db.EspecificacaoRefugoes.Where(o => o.CorPecaId == id);

            if ((busca.Count() > 0) || (busca2.Count() > 0) || (busca3.Count() > 0))
            {
                ViewBag.Error = "Não é possível deletar esta Cor, pois está sendo utilizada em outras partes do sistema.";
            }
            else
            {
                db.CorPecas.Remove(corPeca);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }
            return(View());
        }
Beispiel #15
0
 public Rei(Tabuleiro tab, CorPeca cor) : base(cor, tab)
 {
 }
Beispiel #16
0
 public Cavalo(Tabuleiro tab, CorPeca corPeca) : base(corPeca, tab)
 {
 }
Beispiel #17
0
 public Torre(Tabuleiro tab, CorPeca corPeca) : base(corPeca, tab)
 {
 }
Beispiel #18
0
 public Rei(Tabuleiro tab, PartidaXadrez partida, CorPeca corPeca) : base(corPeca, tab)
 {
 }
Beispiel #19
0
 public Peao(Tabuleiro tab, CorPeca corPeca, PartidaXadrez partida) : base(corPeca, tab)
 {
     this.partida = partida;
 }
Beispiel #20
0
 public Jogador(string nome, CorPeca corPeca)
 {
     Nome    = nome;
     CorPeca = corPeca;
 }
Beispiel #21
0
 public Dama(Tabuleiro tab, CorPeca corPeca) : base(corPeca, tab)
 {
 }
Beispiel #22
0
 public Peca(TipoPeca tipoPeca, Posicao posicao, CorPeca corPeca)
 {
     TipoPeca = tipoPeca;
     Posicao  = posicao;
     CorPeca  = corPeca;
 }
Beispiel #23
0
 public Jogador(string nome, CorPeca corPeca)
 {
     Nome       = nome;
     CorPeca    = corPeca;
     TurnoJogar = false;
 }
Beispiel #24
0
 public Bispo(Tabuleiro tab, CorPeca corPeca) : base(corPeca, tab)
 {
 }