示例#1
0
        private void buttonFazConeccao_Click(object sender, System.EventArgs e)
        {
            //Modo de jogo clássico
            if(this.radioButtonModo1.Checked)
            {
                tabuleiro = new Tabuleiro();
                tabScore = new TabuleiroScore();

                if(this.radioButtonServer.Checked)
                {
                    if(this.comboBox1.SelectedIndex != -1)
                    {
                        codigo = new CodigoCores(70,56,Color.Black);
                        painel = new PainelCores(0,140);
                        this.panelConeccao.Visible = false;
                        this.panelEscolhaCor.Visible = true;
                        nJogos = Convert.ToInt32(this.comboBox1.SelectedItem.ToString())-1;
                        nJogosInicial = nJogos + 1;
                        pontuacoes = new int[16];
                        comClassica = new ComunicacaoClassica();
                        comClassica.servidorClassico();
                        comClassica.enviarNJogos(nJogos);
                    }
                    else MessageBox.Show("Escolha o número de jogos");

                }
                else if(this.radioButtonClient.Checked)
                {
                    painel = new PainelCores(0,252);
                    codigo = new CodigoCores(30,9,Color.Black);
                    pontuacoes = new int[16];
                    this.panelConeccao.Visible = false;
                    this.panelDecifrador.Visible = true;
                    this.panelDecifradorCodigoCor.Visible = true;
                    comClassica = new ComunicacaoClassica();
                    comClassica.clienteClassico(this.textBoxEndIp.Text,8758);
                    while(!comClassica.getJogosRecebidos()){}
                    nJogos = comClassica.getNJogos();
                    nJogosInicial = nJogos + 1;
                }
                else
                {
                    MessageBox.Show("Campos por preencher");
                }

            }
            //Modo de jogo simultâneo
            else if(this.radioButtonModo2.Checked)
            {
                this.panelConeccao.Visible = false;
                this.panelEscolhaCor.Visible = true;
                painel = new PainelCores(0,140);
                codigo = new CodigoCores(70,56,Color.Black);

                if(this.radioButtonServer.Checked)
                {
                    com = new Comunicacao();
                    com.servidorSimultaneo();
                }
                else if(this.radioButtonClient.Checked)
                {
                    com = new Comunicacao();
                    com.clienteSimultaneo(this.textBoxEndIp.Text,8758);
                }
                else {

                    MessageBox.Show("Campos por preencher");
                }

            }
            else MessageBox.Show("Preencha os campos necessários");
        }
示例#2
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();
     }
 }
示例#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();
     }
 }
示例#4
0
 private void botaoDecifradorApagar_Click(object sender, System.EventArgs e)
 {
     contadorBolas = 1;
     codigo = new CodigoCores(30,9,Color.Black);
     this.panelDecifradorCodigoCor.Invalidate();
 }
示例#5
0
 private void botaoApagarEscolhaCor_Click(object sender, System.EventArgs e)
 {
     contadorBolas = 1;
     codigo = new CodigoCores(70,56,Color.Black);
     this.panelEscolhaCor.Invalidate();
 }
示例#6
0
 //Método que reinicia o jogo quando um dos jogadores acaba
 private void reiniciaJogo()
 {
     if(nJogos==0)
     {
         if(this.radioButtonServer.Checked)
         {
             acumuladorJogador = 0;
             acumuladorAdversario = 0;
             for(int i = 0; i<nJogosInicial;i++)
             {
                 if( i % 2 == 0)
                 {
                     int j = i + 1;
                     this.labelResultadosAdversario.Text += "Jogo " + j.ToString() + ":    " + pontuacoes[i].ToString() + " pontos\n";
                     acumuladorAdversario += pontuacoes[i];
                 }
                 else
                 {
                     int j = i + 1;
                     this.labelResultadosJogador.Text += "Jogo " + j.ToString() + ":    " + pontuacoes[i].ToString()+ " pontos\n";
                     acumuladorJogador += pontuacoes[i];
                 }
             }
             this.labelJogadorClassico.Text = this.textBoxUsername.Text;
             this.labelAdversarioClassico.Text = comClassica.getUsername();
             this.labelTotalJogador.Text = "Total: " + acumuladorJogador.ToString();
             this.labelTotalAdversario.Text = "Total: " + acumuladorAdversario.ToString();
             this.panelCifrador.Visible = false;
             this.panelResultadosClassico.Visible = true;
         }
         else
         {
             acumuladorJogador = 0;
             acumuladorAdversario = 0;
             for(int i = 0; i<nJogosInicial;i++)
             {
                 if( i % 2 == 0)
                 {
                     int j = i + 1;
                     this.labelResultadosJogador.Text += "Jogo " + j.ToString() + ":    " + pontuacoes[i].ToString()+ " pontos\n";
                     acumuladorJogador += pontuacoes[i];
                 }
                 else
                 {
                     int j = i + 1;
                     this.labelResultadosAdversario.Text += "Jogo " + j.ToString() + ":    " + pontuacoes[i].ToString()+ " pontos\n";
                     acumuladorAdversario += pontuacoes[i];
                 }
             }
             this.labelJogadorClassico.Text = this.textBoxUsername.Text;
             this.labelAdversarioClassico.Text = comClassica.getUsername();
             this.labelTotalJogador.Text = "Total: " + acumuladorJogador.ToString();
             this.labelTotalAdversario.Text = "Total: " + acumuladorAdversario.ToString();
             this.panelDecifrador.Visible = false;
             this.panelResultadosClassico.Visible = true;
         }
     }
     else
     {
         nJogos--;
         jogosJogados++;
         correUmaVez = false;
         comClassica.reiniciar();
         contadorBolas = 1;
         nJogada = 0;
         codigoSecreto = new SolidBrush[4];
         tabuleiro = new Tabuleiro();
         tabScore = new TabuleiroScore();
         if(this.radioButtonServer.Checked)
         {
             this.radioButtonClient.Checked = true;
             painel = new PainelCores(0,252);
             codigo = new CodigoCores(30,9,Color.Black);
             this.radioButtonServer.Checked = false;
             this.panelConeccao.Visible = false;
             this.panelCifrador.Visible = false;
             this.panelDecifrador.Visible = true;
         }
         else
         {
             this.radioButtonServer.Checked = true;
             codigo = new CodigoCores(70,56,Color.Black);
             painel = new PainelCores(0,140);
             this.radioButtonClient.Checked = false;
             this.panelConeccao.Visible = false;
             this.panelDecifrador.Visible = false;
             this.panelEscolhaCor.Visible = true;
         }
     }
 }