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