Beispiel #1
0
        private void ConfiguraJogarDadosNovamente(Cores CorClicado)
        {
            ApoioJogadas.JogadorAtual = CorClicado;

            if (NumeroSorte.Equals(6) && (ApoioJogadas.NumeroX <= 1))
            {
                ApoioJogadas.NumeroX++;
            }
            else if (NumeroSorte.Equals(6) && (ApoioJogadas.NumeroX.Equals(2)))
            {
                ApoioJogadas.NumeroX = 4;
                ApoioJogadas.JaJogou = true;
                //HabilitaJogadorDaVez(1);
                return;
            }
            else
            {
                ApoioJogadas.NumeroX = 0;
            }
        }
Beispiel #2
0
        private void SetaNumeroDaSorte(Cores CorClicado)
        {
            switch (CorClicado)
            {
            case Cores.Azul:
                lblDadosAzul.Text = NumeroSorte.ToString();
                break;

            case Cores.Verde:
                lblDadosVerde.Text = NumeroSorte.ToString();
                break;

            case Cores.Amarelo:
                lblDadosAmarelo.Text = NumeroSorte.ToString();
                break;

            case Cores.Vermelho:
                lblDadosVermelho.Text = NumeroSorte.ToString();
                break;
            }
        }
Beispiel #3
0
        private void ClicaDados(Cores CorClicado)
        {
            DesabilitaJogadores();
            DesabilitaPeos();

            NumeroSorte = JogarDados();
            Application.DoEvents();

            ConfiguraJogarDadosNovamente(CorClicado);

            if (ApoioJogadas.NumeroX.Equals(4))
            {
                HabilitaJogadorDaVez(1);
                return;
            }

            SetaNumeroDaSorte(CorClicado);

            // Peos na casa inicial
            List <Eixo> Eixo = posicoes.PosicoesArea;

            if (NumeroSorte.Equals(6))
            {
                Eixo = Eixo.Where(x => x.Casa.Equals(true) && x.CorEstacionada.Count > 0 && x.CorPermitida.Equals(CorClicado)).ToList();
                foreach (var item in Eixo)
                {
                    foreach (var itemNaCasaInicial in item.CorEstacionada)
                    {
                        ApoioJogadas.JaJogou = false;
                        itemNaCasaInicial.pictureBox.Enabled = true;
                        switch (CorClicado)
                        {
                        case Cores.Azul:
                            itemNaCasaInicial.pictureBox.Image = Ludo.Properties.Resources.BonecoAzulLiberado;
                            break;

                        case Cores.Verde:
                            itemNaCasaInicial.pictureBox.Image = Ludo.Properties.Resources.BonecoVerdeLiberado;
                            break;

                        case Cores.Amarelo:
                            itemNaCasaInicial.pictureBox.Image = Ludo.Properties.Resources.BonecoAmareloLiberado;
                            break;

                        case Cores.Vermelho:
                            itemNaCasaInicial.pictureBox.Image = Ludo.Properties.Resources.BonecoVermelhoLiberado;
                            break;
                        }
                    }
                }
            }

            // peoes no tabuleiro
            Eixo = posicoes.PosicoesArea;

            switch (CorClicado)
            {
            case Cores.Azul:
                Eixo = Eixo.Where(x => x.CorEstacionada.Count > 0 &&
                                  (x.CorEstacionada.Contains(PeaoAzul1) || x.CorEstacionada.Contains(PeaoAzul2) || x.CorEstacionada.Contains(PeaoAzul3) || x.CorEstacionada.Contains(PeaoAzul4)) &&
                                  x.PosicaoAzul > 0.5 && (x.PosicaoAzul + NumeroSorte) <= 57).ToList();
                break;

            case Cores.Verde:
                Eixo = Eixo.Where(x => x.CorEstacionada.Count > 0 &&
                                  (x.CorEstacionada.Contains(PeaoVerde1) || x.CorEstacionada.Contains(PeaoVerde2) || x.CorEstacionada.Contains(PeaoVerde3) || x.CorEstacionada.Contains(PeaoVerde4)) &&
                                  x.PosicaoVerde > 0.5 && (x.PosicaoVerde + NumeroSorte) <= 57).ToList();
                break;

            case Cores.Amarelo:
                Eixo = Eixo.Where(x => x.CorEstacionada.Count > 0 &&
                                  (x.CorEstacionada.Contains(PeaoAmarelo1) || x.CorEstacionada.Contains(PeaoAmarelo2) || x.CorEstacionada.Contains(PeaoAmarelo3) || x.CorEstacionada.Contains(PeaoAmarelo4)) &&
                                  x.PosicaoAmarelo > 0.5 && (x.PosicaoAmarelo + NumeroSorte) <= 57).ToList();
                break;

            case Cores.Vermelho:
                Eixo = Eixo.Where(x => x.CorEstacionada.Count > 0 &&
                                  (x.CorEstacionada.Contains(PeaoVermelho1) || x.CorEstacionada.Contains(PeaoVermelho2) || x.CorEstacionada.Contains(PeaoVermelho3) || x.CorEstacionada.Contains(PeaoVermelho4)) &&
                                  x.PosicaoVermelho > 0.5 && (x.PosicaoVermelho + NumeroSorte) <= 57).ToList();
                break;
            }

            foreach (var SuperItem in Eixo)
            {
                foreach (var itemForaCasa in SuperItem.CorEstacionada)
                {
                    if (itemForaCasa.Cor.Equals(CorClicado))
                    {
                        ApoioJogadas.JaJogou            = false;
                        itemForaCasa.pictureBox.Enabled = true;
                        itemForaCasa.pictureBox.BringToFront();

                        switch (CorClicado)
                        {
                        case Cores.Azul:
                            itemForaCasa.pictureBox.Image = Ludo.Properties.Resources.BonecoAzulLiberado;
                            break;

                        case Cores.Verde:
                            itemForaCasa.pictureBox.Image = Ludo.Properties.Resources.BonecoVerdeLiberado;
                            break;

                        case Cores.Amarelo:
                            itemForaCasa.pictureBox.Image = Ludo.Properties.Resources.BonecoAmareloLiberado;
                            break;

                        case Cores.Vermelho:
                            itemForaCasa.pictureBox.Image = Ludo.Properties.Resources.BonecoVermelhoLiberado;
                            break;
                        }
                    }
                }
            }

            if (ApoioJogadas.JaJogou.Equals(true))
            {
                // jogou mais nao andou com nenhum peao
                dgJogadas.DataSource = null;
                Application.DoEvents();
                jogadas.Add(new Jogadas {
                    CasaAnterior = -1, DataHora = DateTime.Now, NumeroSorte = NumeroSorte, cores = CorClicado, peao = 0, acao = Acao.Esperar
                });
                dgJogadas.DataSource = jogadas;
                try { dgJogadas.FirstDisplayedScrollingRowIndex = dgJogadas.Rows.Count - 1; } catch (Exception) { }
                Application.DoEvents();
                HabilitaJogadorDaVez(NumeroSorte);
            }
        }
Beispiel #4
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);
        }