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 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); }
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); }
void Start() { player1 = new Player(); player2 = new Player(); king = new Rei(); pawn = new Peao(); InvokeMovement(4, 1); }
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); }
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; }
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); } }
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); } }
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); }
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); }