private bool PreparaProxJogada(int position) { // Prepara p/ a próx jogada: (troca de jogador) // proximo jogador tem jogadas possiveis? // O codigo esta duplicado, mas assim eh mais rapido if (token_jogador.Cor == Enums.pColor.branca) { for (int j = 0; j < MAX_VETOR; j++) { if (getPecaCor(j) == Enums.pColor.preta) { if (Core.Core.getCasasVisiveis(TabuleiroVetor, j).Length > 0) { if (token_jogador == jogadores.ElementAt(0)) token_jogador = jogadores.ElementAt(1); else if (token_jogador == jogadores.ElementAt(1)) token_jogador = jogadores.ElementAt(0); lblJogada.Text = token_jogador.name + " - peças " + token_jogador.Cor.ToString() + "s"; return true; } } } } else if (token_jogador.Cor == Enums.pColor.preta) { for (int j = 0; j < MAX_VETOR; j++) { if (getPecaCor(j) == Enums.pColor.branca) { if (Core.Core.getCasasVisiveis(TabuleiroVetor, j).Length > 0){ if (token_jogador == jogadores.ElementAt(0)) token_jogador = jogadores.ElementAt(1); else if (token_jogador == jogadores.ElementAt(1)) token_jogador = jogadores.ElementAt(0); lblJogada.Text = token_jogador.name + " - peças " + token_jogador.Cor.ToString() + "s"; return true; } } } } return false; }
private void button1_Click(object sender, EventArgs e) { jogadores = new List<player>(); TabuleiroVetor = new int[137]{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 2, 2, 2, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 6, 6, 0, 0, 0, 0, 5, 5, 5, 0, 0, 0, 0, 6, 6, 0, 0, 0, 0, 0, 4, 0, 0, 0 }; token_posicao = 0; JogoEmAndamento = true; //Draw(); criaPecas(); player p1 = new player(); p1.Jogador = Enums.pType.PC; p1.name = "PC"; player p2 = new player(); p2.Jogador = Enums.pType.humano; p2.name = "Humano"; jogadores.Add(p1); jogadores.Add(p2); if(radioButton1.Checked){ p1.Cor = Enums.pColor.branca; p2.Cor = Enums.pColor.preta; token_jogador = p1; } else{ p2.Cor = Enums.pColor.branca; p1.Cor = Enums.pColor.preta; token_jogador = p2; } lblJogada.Text = token_jogador.name + " - peças " + token_jogador.Cor.ToString() + "s"; listBoxUltimasJogadas.Items.Clear(); ArvoreDecisao = new Nodo(TabuleiroVetor); ArvoreDecisao.filhos = Core.Core.addNodosArvore(ArvoreDecisao, token_jogador.Cor); if (token_jogador.Jogador == Enums.pType.PC) JogadaPC(); }
private bool CheckFinishGame() { int[] pretas = new int[3] { 0, 0, 0 }; int[] brancas = new int[3] { 0, 0, 0 }; for (int j = 0; j < MAX_VETOR; j++) { switch (TabuleiroVetor[j]) { case 1: pretas[0]++; break; case 2: pretas[1]++; break; case 3: pretas[2]++; break; case 4: brancas[0]++; break; case 5: brancas[1]++; break; case 6: brancas[2]++; break; } } player jogadorVencedor = new player(); if (pretas[0] == 0 || pretas[1] == 0 || pretas[2] == 0) { foreach (player jogador in jogadores) { if (jogador.Cor == Enums.pColor.branca) { jogadorVencedor = jogador; break; } } MessageBox.Show(jogadorVencedor.name + " ganhou! (peças bancas)"); JogoEmAndamento = false; return true; } else if (brancas[0] == 0 || brancas[1] == 0 || brancas[2] == 0) { foreach (player jogador in jogadores) { if (jogador.Cor == Enums.pColor.preta) { jogadorVencedor = jogador; break; } } MessageBox.Show(jogadorVencedor.name + " ganhou! (peças pretas)"); JogoEmAndamento = false; return true; } return false; }