Exemplo n.º 1
0
        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;
        }
Exemplo n.º 2
0
        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();
        }
Exemplo n.º 3
0
        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;
        }