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; } }
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; } }
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); } }
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); }