//Metodo de ação ao clicar no botão reiniciar. private void Reiniciar_Click(object sender, EventArgs e) { ContadorTempo.Stop(); //Para a contagem do tempo. TimerLeft.Text = "TEMPO: "; //Volta ao texto padrão do contador de tempo. //Chama o metodo de reiniciar o jogo. ReiniciarJogo(); }
//Metodo de verificação da partida. private void VerificaJogo() { //Verificação se à ganhador no jogo. if ( //Verificação da linha 1 button11.Text != string.Empty && button11.Text == button12.Text && button12.Text == button13.Text || //Verificação da linha 2 button21.Text != string.Empty && button21.Text == button22.Text && button22.Text == button23.Text || //Verificação da linha 3 button31.Text != string.Empty && button31.Text == button32.Text && button32.Text == button33.Text || //Verificação da coluna 1 button11.Text != string.Empty && button11.Text == button21.Text && button21.Text == button31.Text || //Verificação da coluna 2 button12.Text != string.Empty && button12.Text == button22.Text && button22.Text == button32.Text || //Verificação da coluna 3 button13.Text != string.Empty && button13.Text == button23.Text && button23.Text == button33.Text || //Verificação da diagonal principal button11.Text != string.Empty && button11.Text == button22.Text && button22.Text == button33.Text || //Verificação da diagonal secundaria button13.Text != string.Empty && button13.Text == button22.Text && button22.Text == button31.Text ) { ContadorTempo.Stop(); //Para a contagem do tempo. TimerLeft.Text = "TEMPO: "; //Volta ao texto padrão do contador de tempo. //Chama metodo de desabilita os botões. DesabilitandoTodosBotoes(); //Chama o metodo de placar. Placarxo(); Iniciar.Enabled = true; // O botão é habilitado para inicar o jogo novamente Reiniciar.Enabled = false; // O botão é desabilitado, sendo habilitado somente quando o jogo for inicializado. //Informa quem é o ganhador. MessageBox.Show(string.Format("O ganhador da rodada é: {0}", !VezX ? "X" : "O")); //Mostra o placar atualizado. PlacarX.Text = Convert.ToString(placax); PlacarO.Text = Convert.ToString(placao); } // Caso não tenha ganhador, chama o metodo de verificação de empate. else { //Chamada de metodo. VerificaEmpate(); } }
//Metodo de contagem regressiva. private void ContadorTempo_Tick(object sender, EventArgs e) { if (Timerleft > 0) //Se o tempo for maior que zero. { Timerleft -= 1; // O tempo recebe ele menos um. TimerLeft.Text = Timerleft + " segundos"; // informa o novo tempo. } else // Se o tempo não for maior que zero. { ContadorTempo.Stop(); // O tempo para VezX = !VezX; // A vez do jogador é trocada, se for vez do "X" o "O" recebe a jogada. MarcaTextBTN(); // Habilitação dos botões que informa de quem é a jogada. TimerLeft.Text = string.Format("tempo acabou, vez do {0}", VezX ? "X" : "O"); //Label informa de quem é a jogada. Tempo(); // Chama o metodo de inicialização do tempo. } }
//Metodo para verificar um empate. private void VerificaEmpate() { if ( button11.Text != string.Empty && //Se o botão 1 da linha 1 for diferente de vazio. button12.Text != string.Empty && //Se o botão 2 da linha 1 for diferente de vazio. button13.Text != string.Empty && //Se o botão 3 da linha 1 for diferente de vazio. button21.Text != string.Empty && //Se o botão 1 da linha 2 for diferente de vazio. button22.Text != string.Empty && //Se o botão 2 da linha 2 for diferente de vazio. button23.Text != string.Empty && //Se o botão 3 da linha 2 for diferente de vazio. button31.Text != string.Empty && //Se o botão 1 da linha 3 for diferente de vazio. button32.Text != string.Empty && //Se o botão 2 da linha 3 for diferente de vazio. button33.Text != string.Empty //Se o botão 3 da linha 3 for diferente de vazio. ) { ContadorTempo.Stop(); //Para a contagem do tempo. TimerLeft.Text = "TEMPO: "; //Volta ao texto padrão do contador de tempo. Iniciar.Enabled = true; // O botão é habilitado para inicar o jogo novamente Reiniciar.Enabled = false; // O botão é desabilitado, sendo habilitado somente quando o jogo for inicializado. //Informa que teve um empate na jogada. MessageBox.Show("Houve um empate!"); } }
//Metodo de inicialização de tempo por jogada. private void Tempo() { Timerleft = 15; // É inicializado com 15 segundos por jogada. TimerLeft.Text = "15 segundos"; // Label informa o tempo ContadorTempo.Start(); // Tempo se inicializa. }
public void timer1_Tick(object sender, ElapsedEventArgs e) { ContadorTempo++; ContadorCorrecoes++; if (!Debugger.IsAttached) { timer1.Stop(); } Library.WriteErrorLog("Timer_Ticker(Stop) Inicio de processamento... (" + ContadorTempo.ToString() + ")"); Make(); Limpeza(); if (!Debugger.IsAttached) { timer1.Start(); } Library.WriteErrorLog("Timer_Ticker(Start) Fim de processamento..."); }