public void processarMouseUp(GameObject peca, GameObject casa) { if (estado == Estado.Arrastando) { if (casa != null) { if (pecaEscolhida != null && pecaEscolhida == peca) { try { char coluna = casa.name[0]; int linha = casa.name[1] - '0'; destino = new PosicaoXadrez(coluna, linha); partida.validarPosicaoDeDestino(origem.toPosicao(), destino.toPosicao()); Peca pecaCapturada = partida.realizaJogada(origem.toPosicao(), destino.toPosicao()); if (pecaCapturada != null) { removerObjetoCapturado(pecaCapturada); } peca.transform.position = Util.posicaoNaCena(coluna, linha); pecaEscolhida = null; if (partida.terminada) { estado = Estado.GameOver; txtMsg.text = "Vencedor: " + partida.jogadorAtual; txtXeque.text = "XEQUEMATE"; } else { estado = Estado.AguardandoJogada; informarAguardando(); if (partida.xeque) { txtXeque.text = "XEQUE"; } else { txtXeque.text = ""; } } } catch (TabuleiroException e) { peca.transform.position = Util.posicaoNaCena(origem.coluna, origem.linha); estado = Estado.AguardandoJogada; informarAviso(e.Message); } } } } }
static void Main(string[] args) { try { PartidaDeXadrez partida = new PartidaDeXadrez(); while (!partida.terminada) { try { Console.Clear(); Tela.imprimirTabuleiro(partida.tab); Console.WriteLine(); Console.WriteLine("Turno" + partida.turno); Console.WriteLine("AGUARDANDO JOGADA : " + partida.jogadorAtual); Console.WriteLine(""); Console.Write("DIGITE A POSICAO DE ORIGEM: "); Posicao origem = Tela.lerPosicaoXadrez().toPosicao(); partida.validarPosicaoDeOrigem(origem); bool[,] posicoesPossiveis = partida.tab.peca(origem).movimentosPossiveis(); Console.Clear(); Tela.imprimirTabuleiro(partida.tab, posicoesPossiveis); Console.Write("DIGITE O DESTINO: "); Posicao destino = Tela.lerPosicaoXadrez().toPosicao(); partida.validarPosicaoDeDestino(origem, destino); partida.realizaJogada(origem, destino); } catch (tabuleiroException e) { Console.WriteLine(e.Message); Console.ReadLine(); } } //Tela.imprimirTabuleiro(partida.tab); } catch (tabuleiroException e) { Console.WriteLine(e.Message); PosicaoXadrez pos = new PosicaoXadrez('a', 1); Console.WriteLine(pos); Console.WriteLine(pos.toPosicao()); Console.ReadLine(); } }
static void Main(string[] args) { try { PosicaoXadrez pos = new PosicaoXadrez('c', 7); Console.WriteLine(pos.toPosicao()); } catch (TabuleiroException e) { Console.WriteLine(e.Message); } Console.ReadLine(); }
public void processarMouseDown(GameObject peca, GameObject casa) { if (estado == Estado.AguardandoJogada) { if (casa != null) { try { char coluna = casa.name[0]; int linha = casa.name[1] - '0'; origem = new PosicaoXadrez(coluna, linha); partida.validarPosicaoDeOrigem(origem.toPosicao()); pecaEscolhida = peca; estado = Estado.Arrastando; txtMsg.text = "Solte a peça na casa de destino"; } catch (TabuleiroException e) { informarAviso(e.Message); } } } }
static void Main(string[] args) { try { PosicaoXadrez pos = new PosicaoXadrez('a', 1); Console.WriteLine(pos); Console.WriteLine(pos.toPosicao()); Tabuleiro tab = new Tabuleiro(8, 8); tab.colocarPeca(new Peao(tab, Cor.Preta), new Posicao(0, 0)); tab.colocarPeca(new Peao(tab, Cor.Preta), new Posicao(1, 3)); tab.colocarPeca(new Peao(tab, Cor.Preta), new Posicao(0, 2)); Tela.imprimirTabuleiro(tab); Console.WriteLine(); } catch (TabuleiroException e) { Console.WriteLine(e.Message); } }
public void processarMouseDown(GameObject obj, GameObject casa) { if (estado == Estado.AguardandoJogada) { if (casa != null) { try { char coluna = casa.name[0]; int linha = casa.name[1] - '0'; origem = new PosicaoXadrez(coluna, linha); partida.validarPosicaoDeOrigem(origem.toPosicao()); pecaEscolhida = obj; estado = Estado.Arrastando; txtMsg.text = "Selecione a casa de destino"; instanciarParticulas(); GameObject.Find("somClique").GetComponent <AudioSource>().Play(); } catch (TabuleiroException e) { GameObject.Find("somErro").GetComponent <AudioSource>().Play(); InformarAviso(e.Message); } } } else if (estado == Estado.Arrastando) { GameObject casaDestino = null; if (obj.layer == LayerMask.NameToLayer("Casas")) { casaDestino = obj; } else { casaDestino = casa; } if (casaDestino != null && pecaEscolhida != null) { try { char coluna = casaDestino.name[0]; int linha = casaDestino.name[1] - '0'; destino = new PosicaoXadrez(coluna, linha); partida.validarPosicaoDeDestino(origem.toPosicao(), destino.toPosicao()); Peca pecaCapturada = partida.realizaJogada(origem.toPosicao(), destino.toPosicao()); if (pecaCapturada != null) { removerObjetoCapturado(pecaCapturada); GameObject.Find("somCaptura").GetComponent <AudioSource>().Play(); } else { GameObject.Find("somClique").GetComponent <AudioSource>().Play(); } pecaEscolhida.transform.position = Util.posicaoNaCena(coluna, linha); tratarJogadasEspeciais(); pecaEscolhida = null; if (partida.terminada) { estado = Estado.GameOver; txtMsg.text = "Vencedor: " + partida.jogadorAtual; txtXeque.text = "XEQUEMATE"; } else { estado = Estado.AguardandoJogada; InformarAguardando(); Invoke("girarCamera", 0.5f); txtXeque.text = (partida.xeque) ? "XEQUE" : ""; } } catch (TabuleiroException e) { pecaEscolhida.transform.position = Util.posicaoNaCena(origem.coluna, origem.linha); estado = Estado.AguardandoJogada; InformarAviso(e.Message); GameObject.Find("somErro").GetComponent <AudioSource>().Play(); } finally { destruirParticulas(); } } } }