示例#1
0
        private void MataPeao(Eixo eixo, Peao peaoUltimoJogador)
        {
            if (!eixo.Protegida && eixo.CorEstacionada.Count() > 1)
            {
                bool MatouAlgum = false;
                foreach (var item in eixo.CorEstacionada.ToList())
                {
                    if (item.Cor != peaoUltimoJogador.Cor)
                    {
                        jogadas.Add(new Jogadas {
                            CasaAnterior = int.Parse(CasaAnterior.ToString()) + NumeroSorte, DataHora = DateTime.Now, NumeroSorte = 0, cores = item.Cor, peao = item.Numero, acao = Acao.Morrer
                        });
                        SetaPeaoInicio(item);
                        eixo.CorEstacionada.Remove(item);
                        MatouAlgum = true;
                    }
                }

                if (MatouAlgum)
                {
                    ApoioJogadas.NumeroX    = 1;
                    ApoioJogadas.JaJogou    = true;
                    ApoioJogadas.MatouAlgum = true;
                    return;
                }
            }
            else
            {
                ApoioJogadas.MatouAlgum = false;
            }
        }
示例#2
0
        private double VerificaCasaEstacionada(Peao peao)
        {
            List <Eixo> Eixo = posicoes.PosicoesArea;

            Eixo = Eixo.Where(x => x.CorEstacionada.Contains(peao)).ToList();

            double posicao = 0;

            switch (peao.Cor)
            {
            case Cores.Azul:
                posicao = Eixo[0].PosicaoAzul;
                break;

            case Cores.Verde:
                posicao = Eixo[0].PosicaoVerde;
                break;

            case Cores.Amarelo:
                posicao = Eixo[0].PosicaoAmarelo;
                break;

            case Cores.Vermelho:
                posicao = Eixo[0].PosicaoVermelho;
                break;

            default:
                break;
            }

            return(posicao);
        }
示例#3
0
        private void SetaPeaoInicio(Peao peao)
        {
            Eixo eixo = null;

            switch (peao.Cor)
            {
            case Cores.Amarelo:
                eixo = posicoes.PosicoesArea.Where(x => x.PosicaoAmarelo.Equals(peao.Numero)).FirstOrDefault();
                break;

            case Cores.Verde:
                eixo = posicoes.PosicoesArea.Where(x => x.PosicaoVerde.Equals(peao.Numero)).FirstOrDefault();
                break;

            case Cores.Azul:
                eixo = posicoes.PosicoesArea.Where(x => x.PosicaoAzul.Equals(peao.Numero)).FirstOrDefault();
                break;

            case Cores.Vermelho:
                eixo = posicoes.PosicoesArea.Where(x => x.PosicaoVermelho.Equals(peao.Numero)).FirstOrDefault();

                break;

            default:
                break;
            }

            eixo.CorEstacionada.Add(peao);
            peao.pictureBox.Location = new Point(eixo.X, eixo.Y);
        }
示例#4
0
 void Start()
 {
     player1 = new Player();
     player2 = new Player();
     king    = new Rei();
     pawn    = new Peao();
     InvokeMovement(4, 1);
 }
示例#5
0
        private void RemovePeaoCasaAnterior(Peao peos)
        {
            List <Eixo> Eixo = posicoes.PosicoesArea;
            Eixo        xxx  = Eixo.Where(x => x.CorEstacionada.Count > 0 &&
                                          x.CorEstacionada.Contains(peos)).FirstOrDefault();

            xxx.CorEstacionada.Remove(peos);
        }
示例#6
0
文件: Util.cs 项目: alexfx1/Xadrez3D
    public static void instanciarPeao(char coluna, int linha, Cor cor, PartidaDeXadrez partida, GameObject prefab)
    {
        Vector3    pos  = posicaoNaCena(coluna, linha);
        GameObject peao = Instantiate(prefab, pos, Quaternion.identity) as GameObject;
        Peca       peca = new Peao(partida.tab, cor, partida, peao);

        partida.colocarNovaPeca(coluna, linha, peca);
        peao.GetComponent <ReferenciaPeca>().peca = peca;
    }
示例#7
0
        private void VerificaAcaoRobo()
        {
            Peao PeaoDisponiveis = null;

            if (BoxAzul.Enabled && chkRoboAzul.Checked)
            {
                System.Threading.Thread.Sleep(1000);
                btnDadosAzul_Click(null, null);
                System.Threading.Thread.Sleep(500);
                // fazer aqui a inteligencia de escolher qual peao jogar ( deixei no aleatorio newid )
                PeaoDisponiveis = Jogadores.Where(x => x.Cor.Equals(Cores.Azul) && x.pictureBox.Enabled.Equals(true)).OrderBy(q => Guid.NewGuid()).Take(1).FirstOrDefault();
            }
            if (BoxVerde.Enabled && chkRoboVerde.Checked)
            {
                System.Threading.Thread.Sleep(500);
                btnDadosVerde_Click(null, null);
                System.Threading.Thread.Sleep(500);
                // fazer aqui a inteligencia de escolher qual peao jogar ( deixei no aleatorio newid )
                PeaoDisponiveis = Jogadores.Where(x => x.Cor.Equals(Cores.Verde) && x.pictureBox.Enabled.Equals(true)).OrderBy(q => Guid.NewGuid()).Take(1).FirstOrDefault();
            }
            if (BoxVermelho.Enabled && chkRoboVermelho.Checked)
            {
                System.Threading.Thread.Sleep(500);
                btnDadosVermelho_Click(null, null);
                System.Threading.Thread.Sleep(500);
                // fazer aqui a inteligencia de escolher qual peao jogar ( deixei no aleatorio newid )
                PeaoDisponiveis = Jogadores.Where(x => x.Cor.Equals(Cores.Vermelho) && x.pictureBox.Enabled.Equals(true)).OrderBy(q => Guid.NewGuid()).Take(1).FirstOrDefault();
            }
            if (BoxAmarelo.Enabled && chkRoboAmarelo.Checked)
            {
                System.Threading.Thread.Sleep(500);
                btnDadosAmarelo_Click(null, null);
                System.Threading.Thread.Sleep(500);
                // fazer aqui a inteligencia de escolher qual peao jogar ( deixei no aleatorio newid )
                PeaoDisponiveis = Jogadores.Where(x => x.Cor.Equals(Cores.Amarelo) && x.pictureBox.Enabled.Equals(true)).OrderBy(q => Guid.NewGuid()).Take(1).FirstOrDefault();
            }

            Application.DoEvents();
            if (PeaoDisponiveis != null)
            {
                System.Threading.Thread.Sleep(2500);
                AndarPeao(PeaoDisponiveis);
                System.Threading.Thread.Sleep(500);
            }
        }
示例#8
0
        private void SetaPeaoTabuleiro(Peao peao, int Casas)
        {
            Eixo eixo = null;

            switch (peao.Cor)
            {
            case Cores.Azul:
                eixo = posicoes.PosicoesArea.Where(x => x.PosicaoAzul.Equals(Casas)).FirstOrDefault();
                break;

            case Cores.Verde:
                eixo = posicoes.PosicoesArea.Where(x => x.PosicaoVerde.Equals(Casas)).FirstOrDefault();
                break;

            case Cores.Amarelo:
                eixo = posicoes.PosicoesArea.Where(x => x.PosicaoAmarelo.Equals(Casas)).FirstOrDefault();
                break;

            case Cores.Vermelho:
                eixo = posicoes.PosicoesArea.Where(x => x.PosicaoVermelho.Equals(Casas)).FirstOrDefault();
                break;

            default:
                break;
            }

            if (eixo != null)
            {
                RemovePeaoCasaAnterior(peao);

                eixo.CorEstacionada.Add(peao);
                peao.pictureBox.Location = new Point(eixo.X, eixo.Y);

                MataPeao(eixo, peao);

                ResizePeaoCasa(eixo);
            }
        }
示例#9
0
        private void CriaPeao()
        {
            //azul
            PeaoAzul1 = new Peao {
                Cor = Cores.Azul, Numero = 0.1, pictureBox = BonecoAzul1
            };
            PeaoAzul2 = new Peao {
                Cor = Cores.Azul, Numero = 0.2, pictureBox = BonecoAzul2
            };
            PeaoAzul3 = new Peao {
                Cor = Cores.Azul, Numero = 0.3, pictureBox = BonecoAzul3
            };
            PeaoAzul4 = new Peao {
                Cor = Cores.Azul, Numero = 0.4, pictureBox = BonecoAzul4
            };

            SetaPeaoInicio(PeaoAzul1);
            SetaPeaoInicio(PeaoAzul2);
            SetaPeaoInicio(PeaoAzul3);
            SetaPeaoInicio(PeaoAzul4);

            Jogadores.Add(PeaoAzul1);
            Jogadores.Add(PeaoAzul2);
            Jogadores.Add(PeaoAzul3);
            Jogadores.Add(PeaoAzul4);

            // amarelo
            PeaoAmarelo1 = new Peao {
                Cor = Cores.Amarelo, Numero = 0.1, pictureBox = BonecoAmarelo1
            };
            PeaoAmarelo2 = new Peao {
                Cor = Cores.Amarelo, Numero = 0.2, pictureBox = BonecoAmarelo2
            };
            PeaoAmarelo3 = new Peao {
                Cor = Cores.Amarelo, Numero = 0.3, pictureBox = BonecoAmarelo3
            };
            PeaoAmarelo4 = new Peao {
                Cor = Cores.Amarelo, Numero = 0.4, pictureBox = BonecoAmarelo4
            };

            SetaPeaoInicio(PeaoAmarelo1);
            SetaPeaoInicio(PeaoAmarelo2);
            SetaPeaoInicio(PeaoAmarelo3);
            SetaPeaoInicio(PeaoAmarelo4);

            Jogadores.Add(PeaoAmarelo1);
            Jogadores.Add(PeaoAmarelo2);
            Jogadores.Add(PeaoAmarelo3);
            Jogadores.Add(PeaoAmarelo4);


            // verde
            PeaoVerde1 = new Peao {
                Cor = Cores.Verde, Numero = 0.1, pictureBox = BonecoVerde1
            };
            PeaoVerde2 = new Peao {
                Cor = Cores.Verde, Numero = 0.2, pictureBox = BonecoVerde2
            };
            PeaoVerde3 = new Peao {
                Cor = Cores.Verde, Numero = 0.3, pictureBox = BonecoVerde3
            };
            PeaoVerde4 = new Peao {
                Cor = Cores.Verde, Numero = 0.4, pictureBox = BonecoVerde4
            };

            SetaPeaoInicio(PeaoVerde1);
            SetaPeaoInicio(PeaoVerde2);
            SetaPeaoInicio(PeaoVerde3);
            SetaPeaoInicio(PeaoVerde4);

            Jogadores.Add(PeaoVerde1);
            Jogadores.Add(PeaoVerde2);
            Jogadores.Add(PeaoVerde3);
            Jogadores.Add(PeaoVerde4);

            // vermelho
            PeaoVermelho1 = new Peao {
                Cor = Cores.Vermelho, Numero = 0.1, pictureBox = BonecoVermelho1
            };
            PeaoVermelho2 = new Peao {
                Cor = Cores.Vermelho, Numero = 0.2, pictureBox = BonecoVermelho2
            };
            PeaoVermelho3 = new Peao {
                Cor = Cores.Vermelho, Numero = 0.3, pictureBox = BonecoVermelho3
            };
            PeaoVermelho4 = new Peao {
                Cor = Cores.Vermelho, Numero = 0.4, pictureBox = BonecoVermelho4
            };

            SetaPeaoInicio(PeaoVermelho1);
            SetaPeaoInicio(PeaoVermelho2);
            SetaPeaoInicio(PeaoVermelho3);
            SetaPeaoInicio(PeaoVermelho4);

            Jogadores.Add(PeaoVermelho1);
            Jogadores.Add(PeaoVermelho2);
            Jogadores.Add(PeaoVermelho3);
            Jogadores.Add(PeaoVermelho4);
        }
示例#10
0
        private void AndarPeao(Peao PeaoEscolhido)
        {
            CasaAnterior = VerificaCasaEstacionada(PeaoEscolhido);
            CorAnterior  = PeaoEscolhido.Cor;

            if (CasaAnterior < 1 && NumeroSorte.Equals(6))
            {
                SetaPeaoTabuleiro(PeaoEscolhido, 1);
            }
            else
            {
                if (CasaAnterior < 1)
                {
                    CasaAnterior = 1;
                }

                SetaPeaoTabuleiro(PeaoEscolhido, int.Parse(CasaAnterior.ToString()) + NumeroSorte);

                ResizePeaoCasa(VerificaCasaAnterior(CorAnterior, CasaAnterior));

                if ((int.Parse(CasaAnterior.ToString()) + NumeroSorte).Equals(57))
                {
                    ApoioJogadas.GuardouAlgumPeao = true;
                    jogadas.Add(new Jogadas {
                        CasaAnterior = CasaAnterior, DataHora = DateTime.Now, NumeroSorte = NumeroSorte, cores = PeaoEscolhido.Cor, peao = PeaoEscolhido.Numero, acao = Acao.Guardar
                    });
                }
            }

            dgJogadas.DataSource = null;
            Application.DoEvents();
            Thread.Sleep(20);

            if (!ApoioJogadas.GuardouAlgumPeao.Equals(true))
            {
                jogadas.Add(new Jogadas {
                    CasaAnterior = CasaAnterior, DataHora = DateTime.Now, NumeroSorte = NumeroSorte, cores = PeaoEscolhido.Cor, peao = PeaoEscolhido.Numero, acao = Acao.Andar
                });
            }

            ApoioJogadas.JaJogou = true;

            dgJogadas.DataSource = jogadas;
            try { dgJogadas.FirstDisplayedScrollingRowIndex = dgJogadas.Rows.Count - 1; } catch (Exception) { }

            DesabilitaPeos();

            if (ApoioJogadas.MatouAlgum.Equals(true))
            {
                ApoioJogadas.MatouAlgum = false;
                ApoioJogadas.NumeroX    = 0;
                HabilitaJogadorDaVez(7);
            }
            else if (ApoioJogadas.GuardouAlgumPeao.Equals(true))
            {
                ApoioJogadas.GuardouAlgumPeao = false;
                ApoioJogadas.NumeroX          = 0;
                ApoioJogadas.PeaoNaGaragem.Add(PeaoEscolhido);

                // verifico se terminou o game
                var Ganhador = ApoioJogadas.PeaoNaGaragem.GroupBy(x => x.Cor).Select(
                    s => new Peao {
                    Cor = s.Key, Numero = s.Count()
                }).ToList().Where(d => d.Numero.Equals(4)).FirstOrDefault();

                if (Ganhador != null)
                {
                    MessageBox.Show("O ganhador foi " + Ganhador.Cor, "Ludo VictorDeth", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                    DesabilitaJogadores();
                    ApoioJogadas.FimDoJogo = true;
                    return;
                }

                HabilitaJogadorDaVez(8);
            }
            else
            {
                HabilitaJogadorDaVez(NumeroSorte);
            }


            Application.DoEvents();
            Thread.Sleep(50);
        }