예제 #1
0
 public bool podeColocar(int azulejo, int modelo)
 {
     for (int i = 0; i < 5; i++)
     {
         if (this.parede[modelo, i])
         {
             if (azulejo == Azulejo.VerCorNaParede(modelo, i))
             {
                 return(false);
             }
         }
     }
     return(true);
 }
예제 #2
0
        }//Diz quantos pontos a linha vai fazer

        private bool completaCor(int l, int c)
        {
            int cor = Azulejo.VerCorNaParede(l, c);

            int qtd = 0;

            //int linhaModelo = 0;
            for (int i = 0; i < 5; i++)
            {
                if (jogador.tabuleiro.parede[i, checaPos(i, cor - 1)])
                {
                    qtd++;
                }
            }

            if (qtd == 4)
            {
                return(true);
            }

            return(false);
        }
예제 #3
0
        }//Busca Linhas de Modelo incompletas

        private void listaComprasModelosVazios()
        {
            listaCompraColuna = new List <Compra>();
            for (int l = 0; l < 5; l++)
            {
                Compra MelhorCorLinha = new Compra();

                if (jogador.tabuleiro.verificaSeLinhaVazia(l))
                {
                    int maisPontos = 0;
                    for (int c = 0; c < 5; c++)
                    {
                        if (!jogador.tabuleiro.parede[l, c])
                        {
                            int p = checarPontosAzul(l, c);
                            if (p >= 10)
                            {
                                MelhorCorLinha.azulejo = Azulejo.VerCorNaParede(l, c);


                                MelhorCorLinha.modelo = l + 1;
                                MelhorCorLinha.qtd    = l + 1;

                                int qtdColuna = MelhorCorLinha.qtd;
                                while (qtdColuna + 3 >= 1)
                                {
                                    Compra com = new Compra();
                                    com.azulejo = MelhorCorLinha.azulejo;
                                    com.modelo  = MelhorCorLinha.modelo;
                                    com.qtd     = qtdColuna;
                                    listaCompraColuna.Add(com);
                                    qtdColuna--;
                                }
                            }

                            if (p >= maisPontos)
                            {
                                maisPontos = p;


                                MelhorCorLinha.azulejo = Azulejo.VerCorNaParede(l, c);


                                MelhorCorLinha.modelo = l + 1;
                                MelhorCorLinha.qtd    = l + 1;
                            }
                        }
                    }
                    int qtd = MelhorCorLinha.qtd;
                    while (qtd >= 1)
                    {
                        Compra c = new Compra();
                        c.azulejo = MelhorCorLinha.azulejo;
                        c.modelo  = MelhorCorLinha.modelo;
                        c.qtd     = qtd;
                        listaCompras.Add(c);
                        qtd--;
                    }

                    Invoke((MethodInvoker) delegate
                    {
                        textBox1.Text += Azulejo.LembraCor(MelhorCorLinha.azulejo, false) + " modelo " + (l + 1).ToString() + "\r\n";
                    });
                }
            }
        }//Busca a melhor cor pra cada linha de modelo vazia