Exemple #1
0
 private void botaoOKEscolhaCor_Click(object sender, System.EventArgs e)
 {
     //Modo de jogo clássico
     if(this.radioButtonModo1.Checked)
     {
         Algoritmos alg = new Algoritmos();
         if(alg.ehValido(codigo.getCodigo()))
         {
             painelPB = new PainelPB(0,252);
             SolidBrush[] sbrs = codigo.getCodigo();
             codigo = new CodigoCores(30,9,Color.Black);
             codigo.setCodigo(sbrs);
             tabuleiro = new Tabuleiro();
             tabScore = new TabuleiroScore(0,0);
             this.panelCifradorCodSecreto.Visible = true;
             this.panelEscolhaCor.Visible = false;
             this.panelCifrador.Visible = true;
             this.panelCifradorTabScore.Visible = true;
             this.panelCifrador.Invalidate();
             contadorBolas = 1;
             comClassica.enviarUsername(this.textBoxUsername.Text);
         }
         else
         {
             MessageBox.Show("Código inválido!");
             contadorBolas = 1;
             codigo = new CodigoCores(70,56,Color.Black);
             this.panelEscolhaCor.Invalidate();
         }
         contadorBolas = 1;
     }
     //Modo de jogo simultâneo
     if(this.radioButtonModo2.Checked)
     {
         Algoritmos alg = new Algoritmos();
         if(alg.ehValido(codigo.getCodigo()))
         {
             com.enviarUsername(this.textBoxUsername.Text);
             com.enviarCodigo(codigo.getCodigo());
             while(true)
             {
                 if(com.getCodRecebido())
                 {
                     painel = new PainelCores(0,252);
                     codigo = new CodigoCores(30,9,Color.Black);
                     tabuleiro = new Tabuleiro();
                     tabScore = new TabuleiroScore();
                     this.panelEscolhaCor.Visible = false;
                     this.panelDecifrador.Visible = true;
                     break;
                 }
             }
         }
         else MessageBox.Show("Código inválido!");
         contadorBolas = 1;
         codigo = new CodigoCores(30,9,Color.Black);
         this.panelEscolhaCor.Invalidate();
     }
 }
Exemple #2
0
        private void botaoCifradorOK_Click(object sender, System.EventArgs e)
        {
            Algoritmos alg = new Algoritmos();
            contadorBolas = 1;
            SolidBrush[,] score = tabScore.getTabScore();
            nJogada++;
            comClassica.enviarTabScore(score);

            if(alg.ehFinal(tabScore.getLinha(nJogada-1)))
            {
                pontuacoes[jogosJogados] = nJogada;
                reiniciaJogo();
            }
            else if(nJogada == 12)
            {
                pontuacoes[jogosJogados] = nJogada + 1;
                reiniciaJogo();
            }
            else
            {
                while(!comClassica.getCodRecebido()){}
                tabuleiro.setTabuleiro(comClassica.getTabuleiro());
                this.panelCifradorTabScore.Invalidate();
                this.panelCifrador.Invalidate();
                comClassica.falsoRecebido();
            }
        }
Exemple #3
0
 private void botaoDecifradorOK_Click(object sender, System.EventArgs e)
 {
     //Modo de jogo simultâneo
     if(this.radioButtonModo2.Checked)
     {
         SolidBrush[] jogada = codigo.getCodigo();
         Algoritmos alg = new Algoritmos();
         if(alg.ehValido(jogada))
         {
             codigoSecreto = com.getCodigo();
             scoreJogada = alg.comparaCodigo(codigoSecreto,jogada);
             tabuleiro.pintaLinha(nJogada,jogada);
             tabScore.pintaLinha(nJogada,scoreJogada);
             nJogada++;
             pontuacaoSimultanea++;
             this.panelDecifrador.Invalidate();
         }
         else MessageBox.Show("Código inválido!Tente outra vez!");
         contadorBolas = 1;
         codigo = new CodigoCores(30,9,Color.Black);
         this.panelDecifradorCodigoCor.Invalidate();
     }
     //Modo de jogo clássico
     else if(this.radioButtonModo1.Checked)
     {
         SolidBrush[] jogada = codigo.getCodigo();
         Algoritmos alg = new Algoritmos();
         if(alg.ehValido(jogada))
         {
             tabuleiro.pintaLinha(nJogada,jogada);
             nJogada++;
             this.panelDecifrador.Invalidate();
             comClassica.enviarTabCodigo(tabuleiro.getTabuleiro());
             while(!comClassica.getCodRecebido()) {}
             tabScore.setTabScore(comClassica.getTabScore());
             this.panelDecifrador.Invalidate();
         }
         else MessageBox.Show("Código inválido!Tente outra vez!");
         contadorBolas = 1;
         codigo = new CodigoCores(30,9,Color.Black);
         this.panelDecifradorCodigoCor.Invalidate();
         comClassica.falsoRecebido();
     }
 }
Exemple #4
0
        /*******************
         * Painel Decifrador
         *******************/
        private void panelDecifrador_Paint(object sender, System.Windows.Forms.PaintEventArgs e)
        {
            Graphics g = e.Graphics;
            tabuleiro.Draw(g);
            tabScore.Draw(g);
            painel.Draw(g);

            //Modo de jogo simultâneo
            if(this.radioButtonModo2.Checked)
            {
                Algoritmos alg = new Algoritmos();
                if(nJogada>0 && alg.ehFinal(scoreJogada) && !final)
                {
                    com.enviarPontuacao(pontuacaoSimultanea);
                    while(!final)
                    {
                        if(com.getTerminou())
                        {
                            this.panelDecifrador.Visible = false;
                            this.panelResultados.Visible = true;
                            this.labelJogador.Text = this.textBoxUsername.Text;
                            this.labelAdversario.Text = com.getUsername();
                            this.labelPontuacaoJogador.Text = com.getPontuacao().ToString();
                            this.labelPontuacaoAdversario.Text = pontuacaoSimultanea.ToString();
                            final = true;
                            com.enviarTerminar(-1);
                            while(true)
                            {
                                if(com.getSocket().Connected && com.getFechou())
                                {
                                    com.getSocket().Shutdown(SocketShutdown.Both);
                                    com.fechaLigacao();
                                    break;
                                }
                            }
                            break;
                        }
                    }
                }
                else if(nJogada==12 && !final)
                {
                    MessageBox.Show("Não dispõe de mais tentativas!");
                    pontuacaoSimultanea = 13;
                    com.enviarPontuacao(pontuacaoSimultanea);
                    while(!final)
                    {
                        if(com.getTerminou())
                        {
                            this.panelDecifrador.Visible = false;
                            this.panelResultados.Visible = true;
                            this.labelJogador.Text = this.textBoxUsername.Text;
                            this.labelAdversario.Text = com.getUsername();
                            this.labelPontuacaoJogador.Text = com.getPontuacao().ToString();
                            this.labelPontuacaoAdversario.Text = pontuacaoSimultanea.ToString();
                            final = true;
                            com.enviarTerminar(-1);
                            while(true)
                            {
                                if(com.getSocket().Connected && com.getFechou())
                                {
                                    com.getSocket().Shutdown(SocketShutdown.Both);
                                    com.fechaLigacao();
                                    break;
                                }
                            }
                            break;
                        }
                    }
                }
            }
            //Modo de jogo clássico
            else if(this.radioButtonModo1.Checked)
            {
                Algoritmos alg = new Algoritmos();
                contadorBolas = -1;
                while(true)
                {
                    if(comClassica.userRecebido())
                    {
                        contadorBolas = 1;
                        break;
                    }
                }
                if(nJogada>0 && alg.ehFinal(tabScore.getLinha(nJogada-1)))
                {
                    pontuacoes[jogosJogados]=nJogada;
                    reiniciaJogo();
                }
                if(nJogada == 12)
                {
                    pontuacoes[jogosJogados]=nJogada+1;
                    reiniciaJogo();
                }
            }
        }