예제 #1
0
        public string ImagemDoDado(int FaceDado, Dado dado)
        {
            if (FaceDado == 1)
            {
                return(dado.FaceDadoImg[0]);
            }

            else if (FaceDado == 2)
            {
                return(dado.FaceDadoImg[1]);
            }

            else if (FaceDado == 3)
            {
                return(dado.FaceDadoImg[2]);
            }

            else if (FaceDado == 4)
            {
                return(dado.FaceDadoImg[3]);
            }

            else if (FaceDado == 5)
            {
                return(dado.FaceDadoImg[4]);
            }

            else if (FaceDado == 6)
            {
                return(dado.FaceDadoImg[5]);
            }
            return(null);
        }
예제 #2
0
        public int doisPares(Dado dado, int par)
        {
            Boolean primeiraVez = true;

            doisParesPontos = 0;
            var dados = dado.Faces.GroupBy(x => x).Select(a => new { Item = a.Key, Quant = a.Count() }).ToArray();

            foreach (var a in dados)
            {
                if (a.Quant == 2)
                {
                    if (primeiraVez)
                    {
                        primeiraVez = false;
                        continue;
                    }

                    else
                    {
                        doisParesPontos = a.Item * 2 + par;
                        return(doisParesPontos);
                    }
                }
            }
            return(doisParesPontos);
        }
예제 #3
0
        public int sequenciaMaior(Dado dado)
        {
            ordenarDado(dado);
            int[] numTeste1 = new int[5] {
                1, 2, 3, 4, 5
            };
            int[] numTeste2 = new int[5] {
                2, 3, 4, 5, 6
            };
            sequenciaMaiorPontos = 0;

            eliminarRepeticoes(dado);

            if (dado.FaceSequencia.Length == 5)
            {
                if (dado.FaceSequencia[0] == numTeste1[0] &&
                    dado.FaceSequencia[1] == numTeste1[1] &&
                    dado.FaceSequencia[2] == numTeste1[2] &&
                    dado.FaceSequencia[3] == numTeste1[3] &&
                    dado.FaceSequencia[4] == numTeste1[4])
                {
                    return(sequenciaMaiorPontos = 20);
                }

                else if (dado.FaceSequencia[0] == numTeste2[0] &&
                         dado.FaceSequencia[1] == numTeste2[1] &&
                         dado.FaceSequencia[2] == numTeste2[2] &&
                         dado.FaceSequencia[3] == numTeste2[3] &&
                         dado.FaceSequencia[4] == numTeste2[4])
                {
                    return(sequenciaMaiorPontos = 20);
                }
            }
            return(sequenciaMaiorPontos);
        }
예제 #4
0
        private void btnVerificar_Click(object sender, EventArgs e)
        {
            Dado Dado = new Dado();

            label1.Text = Convert.ToString(Dado.RodarDados());
            label2.Text = Convert.ToString(Dado.RodarDados());
            label3.Text = Convert.ToString(Dado.RodarDados());
            label4.Text = Convert.ToString(Dado.RodarDados());
            label5.Text = Convert.ToString(Dado.RodarDados());

            Dado.Faces[0] = int.Parse(label1.Text);
            Dado.Faces[1] = int.Parse(label2.Text);
            Dado.Faces[2] = int.Parse(label3.Text);
            Dado.Faces[3] = int.Parse(label4.Text);
            Dado.Faces[4] = int.Parse(label5.Text);

            Dado.FaceSequencia[0] = int.Parse(label1.Text);
            Dado.FaceSequencia[1] = int.Parse(label2.Text);
            Dado.FaceSequencia[2] = int.Parse(label3.Text);
            Dado.FaceSequencia[3] = int.Parse(label4.Text);
            Dado.FaceSequencia[4] = int.Parse(label5.Text);

            label1.Visible = true;
            label2.Visible = true;
            label3.Visible = true;
            label4.Visible = true;
            label5.Visible = true;

            lblResposta.Text    = "Indicamos que você use a categoria {0}, com {1} pontos";
            lblResposta.Text    = string.Format(lblResposta.Text, categoria.Jogada(Dado), categoria.pontosTotal);
            lblResposta.Visible = true;
        }
예제 #5
0
        private void btnVerificar_Click(object sender, EventArgs e)
        {
            Dado Dado = new Dado();

            Dado.Faces[0] = int.Parse(txtDado1.Text);
            Dado.Faces[1] = int.Parse(txtDado2.Text);
            Dado.Faces[2] = int.Parse(txtDado3.Text);
            Dado.Faces[3] = int.Parse(txtDado4.Text);
            Dado.Faces[4] = int.Parse(txtDado5.Text);

            lblUns.Text    = "Na categoria 'Uns' você faz " + categoria.uns(Dado).ToString() + " pontos";
            lblDois.Text   = "Na categoria 'Dois' você faz " + categoria.dois(Dado).ToString() + " pontos";
            lblTres.Text   = "Na categoria 'Três' você faz " + categoria.três(Dado).ToString() + " pontos";
            lblQuatro.Text = "Na categoria 'Quatro' você faz " + categoria.quatro(Dado).ToString() + " pontos";
            lblCinco.Text  = "Na categoria 'Cinco' você faz " + categoria.cinco(Dado).ToString() + " pontos";
            lblSeis.Text   = "Na categoria 'Seis' você faz " + categoria.seis(Dado).ToString() + " pontos";
            //lblPar.Text = "Na categoria 'Par' você faz " + categoria.par(Dado).ToString() + " pontos";
            //lblDoisPares.Text = "Na categoria 'DoisPares' você faz " + categoria.doisPares(Dado).ToString() + " pontos";
            //lblTrio.Text = "Na categoria 'Trio' você faz " + categoria.trio(Dado).ToString() + " pontos";
            //lblQuadra.Text = "Na categoria 'Quadra' você faz " + categoria.quadra(Dado).ToString() + " pontos";
            //lblSequenciaMenor.Text = "Na categoria 'Sequência Menor' você faz " + categoria.sequenciaMenor(Dado).ToString() + " pontos";
            //lblSequenciaMaior.Text = "Na categoria 'Sequência Maior' você faz " + categoria.sequenciaMaior(Dado).ToString() + " pontos";
            //lblFullHouse.Text = "Na categoria 'Full House' você faz " + categoria.fullHouse(Dado).ToString() + " pontos";
            lblAurora.Text = "Na categoria 'Aurora' você faz " + categoria.aurora(Dado).ToString() + " pontos";
        }
예제 #6
0
        public int aurora(Dado dado)
        {
            ordenarDado(dado);
            auroraPontos = 0;
            Boolean iguais = false;

            for (int i = 0; i < 4; i++)
            {
                if (dado.Faces[i] == dado.Faces[i + 1])
                {
                    iguais = true;
                    continue;
                }

                else
                {
                    iguais = false;
                    break;
                }
            }

            if (iguais == true)
            {
                auroraPontos = 50;
                return(auroraPontos);
            }

            else
            {
                return(auroraPontos);
            }
        }
예제 #7
0
        public int sequenciaMenor(Dado dado)
        {
            ordenarDado(dado);
            int[] numTeste1 = new int[4] {
                1, 2, 3, 4
            };
            int[] numTeste2 = new int[4] {
                2, 3, 4, 5
            };
            int[] numTeste3 = new int[4] {
                3, 4, 5, 6
            };
            sequenciaMenorPontos = 0;

            eliminarRepeticoes(dado);

            if (dado.FaceSequencia.Length >= 4)
            {
                if (dado.FaceSequencia[0] == numTeste1[0] &&
                    dado.FaceSequencia[1] == numTeste1[1] &&
                    dado.FaceSequencia[2] == numTeste1[2] &&
                    dado.FaceSequencia[3] == numTeste1[3])
                {
                    return(sequenciaMenorPontos = 15);
                }

                else if (dado.FaceSequencia[1] == numTeste1[0] &&
                         dado.FaceSequencia[2] == numTeste1[1] &&
                         dado.FaceSequencia[3] == numTeste1[2] &&
                         dado.FaceSequencia[4] == numTeste1[3])
                {
                    return(sequenciaMenorPontos = 15);
                }

                else if (dado.FaceSequencia[1] == numTeste2[0] &&
                         dado.FaceSequencia[2] == numTeste2[1] &&
                         dado.FaceSequencia[3] == numTeste2[2] &&
                         dado.FaceSequencia[4] == numTeste2[3])
                {
                    return(sequenciaMenorPontos = 15);
                }

                else if (dado.FaceSequencia[0] == numTeste2[0] &&
                         dado.FaceSequencia[1] == numTeste2[1] &&
                         dado.FaceSequencia[2] == numTeste2[2] &&
                         dado.FaceSequencia[3] == numTeste2[3])
                {
                    return(sequenciaMenorPontos = 15);
                }
                else if (dado.FaceSequencia[0] == numTeste3[0] &&
                         dado.FaceSequencia[1] == numTeste3[1] &&
                         dado.FaceSequencia[2] == numTeste3[2] &&
                         dado.FaceSequencia[3] == numTeste3[3])
                {
                    return(sequenciaMenorPontos = 15);
                }
            }
            return(sequenciaMenorPontos);
        }
예제 #8
0
        public int fullHouse(Dado dado)
        {
            fullHousePontos = 0;

            if (par(dado) > 0 && trio(dado) > 0)
            {
                fullHousePontos = par(dado) + trio(dado);
                return(fullHousePontos);
            }

            return(fullHousePontos);
        }
예제 #9
0
        public int cinco(Dado dado)
        {
            ordenarDado(dado);
            cincoPontos = 0;

            foreach (var face in dado.Faces)
            {
                if (face == 5)
                {
                    cincoPontos += face;
                }
            }
            return(cincoPontos);
        }
예제 #10
0
        public int quatro(Dado dado)
        {
            ordenarDado(dado);
            quatroPontos = 0;

            foreach (var face in dado.Faces)
            {
                if (face == 4)
                {
                    quatroPontos += face;
                }
            }
            return(quatroPontos);
        }
예제 #11
0
        public int dois(Dado dado)
        {
            ordenarDado(dado);
            doisPontos = 0;

            foreach (var face in dado.Faces)
            {
                if (face == 2)
                {
                    doisPontos += face;
                }
            }
            return(doisPontos);
        }
예제 #12
0
        public int uns(Dado dado)
        {
            ordenarDado(dado);
            unsPontos = 0;

            foreach (var face in dado.Faces)
            {
                if (face == 1)
                {
                    unsPontos += face;
                }
            }
            return(unsPontos);
        }
예제 #13
0
        public int fullHouse(Dado dado)
        {
            ordenarDado(dado);
            int fullHousePontos = 0;

            foreach (var face in dado.Faces)
            {
                if (face == 1)
                {
                    fullHousePontos += face;
                }
            }
            return(fullHousePontos);
        }
예제 #14
0
        public int sequenciaMaior(Dado dado)
        {
            ordenarDado(dado);
            int sequenciaMaiorPontos = 0;

            foreach (var face in dado.Faces)
            {
                if (face == 1)
                {
                    sequenciaMaiorPontos += face;
                }
            }
            return(sequenciaMaiorPontos);
        }
예제 #15
0
        public int quadra(Dado dado)
        {
            ordenarDado(dado);
            int quadraPontos = 0;

            foreach (var face in dado.Faces)
            {
                if (face == 1)
                {
                    quadraPontos += face;
                }
            }
            return(quadraPontos);
        }
예제 #16
0
        public int tres(Dado dado)
        {
            ordenarDado(dado);
            tresPontos = 0;

            foreach (var face in dado.Faces)
            {
                if (face == 3)
                {
                    tresPontos += face;
                }
            }
            return(tresPontos);
        }
예제 #17
0
        public int seis(Dado dado)
        {
            ordenarDado(dado);
            seisPontos = 0;

            foreach (var face in dado.Faces)
            {
                if (face == 6)
                {
                    seisPontos += face;
                }
            }
            return(seisPontos);
        }
예제 #18
0
        public int doisPares(Dado dado)
        {
            ordenarDado(dado);
            int doisParesPontos = 0;

            var contandoOsPares = dado.Faces
                                  .GroupBy(x => x)
                                  .Select(a => new
            {
                Item  = a.Key,
                Quant = a.Count()
            })
                                  .ToArray();

            return(doisParesPontos);
        }
예제 #19
0
        public int par(Dado dado)
        {
            parPontos = 0;

            var dados = dado.Faces.GroupBy(x => x).Select(a => new { Item = a.Key, Quant = a.Count() }).ToArray();

            foreach (var a in dados)
            {
                if (a.Quant == 2)
                {
                    parPontos = a.Item * 2;
                    return(parPontos);
                }
            }
            return(parPontos);
        }
예제 #20
0
        public int par(Dado dado)
        {
            ordenarDado(dado);

            int parPontos = 0;

            for (int i = 0; i < 5; i++)
            {
                if (dado.Faces[i] == dado.Faces[i + 1])
                {
                    parPontos += dado.Faces[i];
                }
            }

            return(parPontos);
        }
예제 #21
0
        public int quadra(Dado dado)
        {
            quadraPontos = 0;

            var dados = dado.Faces.GroupBy(x => x).Select(a => new { Item = a.Key, Quant = a.Count() }).ToArray();

            foreach (var a in dados)
            {
                if (a.Quant == 4)
                {
                    quadraPontos = a.Item * 4;
                    return(quadraPontos);
                }
            }

            return(quadraPontos);
        }
예제 #22
0
        private void btnVerificar_Click(object sender, EventArgs e)
        {
            Dado Dado = new Dado();

            lblResposta.Text    = "";
            lblResposta.Visible = false;

            //categoria.testar(Dado);
            LimparMenssagemErro();

            if (ValidarCamposSePreenchido())
            {
                if (ValidarSeNumero())
                {
                    if (ValidarCamposSeExiste())
                    {
                        Dado.Faces[0] = int.Parse(txtDado1.Text);
                        Dado.Faces[1] = int.Parse(txtDado2.Text);
                        Dado.Faces[2] = int.Parse(txtDado3.Text);
                        Dado.Faces[3] = int.Parse(txtDado4.Text);
                        Dado.Faces[4] = int.Parse(txtDado5.Text);

                        Dado.FaceSequencia[0] = int.Parse(txtDado1.Text);
                        Dado.FaceSequencia[1] = int.Parse(txtDado2.Text);
                        Dado.FaceSequencia[2] = int.Parse(txtDado3.Text);
                        Dado.FaceSequencia[3] = int.Parse(txtDado4.Text);
                        Dado.FaceSequencia[4] = int.Parse(txtDado5.Text);


                        lblResposta.Text    = "Indicamos que você use a categoria {0}, com {1} pontos";
                        lblResposta.Text    = string.Format(lblResposta.Text, categoria.Jogada(Dado), categoria.pontosTotal);
                        lblResposta.Visible = true;
                    }
                }
            }
        }
예제 #23
0
 private Dado ordenarDado(Dado dado)
 {
     Array.Sort(dado.Faces);
     Array.Sort(dado.FaceSequencia);
     return(dado);
 }
예제 #24
0
        public string Jogada(Dado dado)
        {
            fullHouse(dado);
            aurora(dado);
            uns(dado);
            dois(dado);
            tres(dado);
            quatro(dado);
            cinco(dado);
            seis(dado);
            par(dado);
            doisPares(dado, par(dado));
            trio(dado);
            quadra(dado);
            sequenciaMaior(dado);
            sequenciaMenor(dado);

            int[] pontos = new int[] {
                fullHousePontos,
                auroraPontos,
                unsPontos,
                doisPontos,
                tresPontos,
                quatroPontos,
                cincoPontos,
                seisPontos,
                parPontos,
                doisParesPontos,
                trioPontos,
                quadraPontos,
                sequenciaMenorPontos,
                sequenciaMaiorPontos
            };

            Array.Sort(pontos);

            pontosTotal = pontos[13];

            if (pontos[13] == aurora(dado))
            {
                return("Aurora");
            }

            else if (pontos[13] == fullHouse(dado))
            {
                return("Full House");
            }

            else if (pontos[13] == sequenciaMaior(dado))
            {
                return("Sequência maior");
            }

            else if (pontos[13] == sequenciaMenor(dado))
            {
                return("Sequência menor");
            }

            else if (pontos[13] == quadra(dado))
            {
                return("quadra");
            }

            else if (pontos[13] == trio(dado))
            {
                return("trio");
            }

            else if (pontos[13] == doisPares(dado, par(dado)))
            {
                return("dois pares");
            }

            else if (pontos[13] == par(dado))
            {
                return("par");
            }

            else if (pontos[13] == seis(dado))
            {
                return("seis");
            }

            else if (pontos[13] == cinco(dado))
            {
                return("cinco");
            }

            else if (pontos[13] == quatro(dado))
            {
                return("quatro");
            }

            else if (pontos[13] == tres(dado))
            {
                return("três");
            }

            else if (pontos[13] == dois(dado))
            {
                return("dois");
            }

            else if (pontos[13] == uns(dado))
            {
                return("uns");
            }
            return(null);
        }
예제 #25
0
 private Dado eliminarRepeticoes(Dado dado)
 {
     dado.FaceSequencia = dado.FaceSequencia.Distinct().ToArray();
     return(dado);
 }