none
[AJUDA] Simplificando os códigos RRS feed

  • Pergunta

  • Boa Tarde!

    Galera fiz um jogo (Black Jack) porém deu 6292 linhas de código, e sem que não vai tanto , porém não sei simplifica-lo.

    E a deu tantas linhas pois elas se repetem, só trocam as variáveis(Resources) mas a logica de cada um é a mesma. Vou dar um exemplo:

    PS:Isso se repete nos 4 Ases e depois um pouco menor nas outras cartas do baralho. Tem algum jeito de simplificar?

                        if (valor == 1)
                        {
                            cartaSorteada = Resources.AC;
                            if (player <= 10)
                            {
                                player = player + 11;
    
                                if (verificarCarta == 2)
                                {
                                    pictureBox3.Image = cartaSorteada;
                                }
                                else
                                {
                                    if (verificarCarta == 3)
                                    {
                                        pictureBox4.Image = cartaSorteada;
                                    }
                                    else
                                    {
                                        if (verificarCarta == 4)
                                        {
                                            pictureBox5.Image = cartaSorteada;
                                        }
                                        else
                                        {
                                            if (verificarCarta == 5)
                                            {
                                                pictureBox6.Image = cartaSorteada;
                                            }
                                        }
                                    }
                                }
                            }
                            else
                            {
                                player = player + 1;
                                if (verificarCarta == 2)
                                {
                                    pictureBox3.Image = cartaSorteada;
                                }
                                else
                                {
                                    if (verificarCarta == 3)
                                    {
                                        pictureBox4.Image = cartaSorteada;
                                    }
                                    else
                                    {
                                        if (verificarCarta == 4)
                                        {
                                            pictureBox5.Image = cartaSorteada;
                                        }
                                        else
                                        {
                                            if (verificarCarta == 5)
                                            {
                                                pictureBox6.Image = cartaSorteada;
                                            }
                                        }
                                    }
                                }
                            }
                        }


    • Editado TrojanG quarta-feira, 5 de novembro de 2014 15:41
    quarta-feira, 5 de novembro de 2014 15:39

Respostas

  • Boa noite,

    Não vale a pena dividir o seu projeto em várias classes e métodos?

    As partes repetitivas você coloca em métodos, cujo terá um número alto de linhas apenas em sua construção, e os objetos você cria em classes.

    A partir disso já é possível reduzir a quantidade de linhas de código (apenas atenção para não estragar as regras da sua aplicação).

    Abs.


    Dicas de programação em .net, C# e SQL - http://smcode.com.br/blog.aspx

    quarta-feira, 5 de novembro de 2014 21:59

Todas as Respostas

  • Bom pelo que pude observar no seu código, você colocou alguns picture box em um form e esta os codificando, o que não é ideal, para um jogo o ideal é criar os objetos diretamente no código, você conseguiria simplificar seu algoritmo criando um vetor de pictureBox e poderia fazer uma relação com o valor/verificarcarta com relação a posição do seu vetor/matriz

    • Sugerido como Resposta Matheus2984 sábado, 6 de dezembro de 2014 20:25
    quarta-feira, 5 de novembro de 2014 20:32
  • Boa noite,

    Não vale a pena dividir o seu projeto em várias classes e métodos?

    As partes repetitivas você coloca em métodos, cujo terá um número alto de linhas apenas em sua construção, e os objetos você cria em classes.

    A partir disso já é possível reduzir a quantidade de linhas de código (apenas atenção para não estragar as regras da sua aplicação).

    Abs.


    Dicas de programação em .net, C# e SQL - http://smcode.com.br/blog.aspx

    quarta-feira, 5 de novembro de 2014 21:59