Etapa 2: Criar um problema de adição aleatório
O teste precisa problemas matemáticos.Se o teste se repetir os mesmos problemas, ele é não desafiadora, portanto, você quer incluir números aleatórios.Você adiciona um método chamado StartTheQuiz() que preenche os problemas e inicia o timer de contagem regressiva.Para esta etapa, você pode adicionar um problema de adição aleatório.Outros problemas matemáticos e timer de contagem regressiva são adicionados em etapas posteriores neste tutorial.
Tutorial 2, você criou várias SoundPlayers para um jogo de Labirinto.Faça o mesmo para o teste de matemática, exceto em vez da SoundPlayer classe, use o Random classe.
Para criar um problema de adição aleatório
Criar um Random o objeto usando um new declaração semelhante ao seguinte.
Public Class Form1 ' Create a Random object to generate random numbers. Private randomizer As New Random
public partial class Form1 : Form { // Create a Random object to generate random numbers. Random randomizer = new Random();
Agora você adicionou um Random o objeto para seu formulário e chamou seleção aleatória.
Observação O tutorial do Labirinto, você criou dois componentes de SoundPlayer usando o new instrução.Isso faz algo similar.A única diferença é que, ao contrário de SoundPlayer, Random não é um componente, e ele não é um controle, para que ele não pode ser chamado por esses nomes.Ela é chamada a um objeto.Você provavelmente já ouviu o objeto do word antes e você aprender mais sobre o que significa nos próximos poucos tutoriais.Por enquanto, tudo o que você precisa saber é que, quando seu programa usa um new é chamada de instrução para criar botões, rótulos, painéis, OpenFileDialogs, ColorDialogs, SoundPlayers, Randoms e até mesmo formulários, o item que é criado um objeto.Show de tutoriais posterior muito mais sobre como esses objetos de trabalho.
Agora, quando você inicia o seu formulário, ele cria um novo Random de objeto e dá a ele o nome seleção aleatória.Como com SoundPlayers, se você entrar em um método e começa a digitar a seleção aleatória e, em seguida, ponto (.), um IntelliSense janela é aberta mostrando todas as Random os métodos do objeto que você pode chamar.Você pode usar o Next() método, da seguinte maneira.
Método Next
Quando você chama random.Next(50), você obtém um número aleatório que é menos de 50 (de 0 a 49).
Em breve, você criará um método para verificar as respostas, portanto, precisa se lembrar quais números ele escolheu para os problemas do seu programa.Adicionar um número inteiro (conhecido como um int em C# ou inteiro no Visual Basic) chamado addend1 e um int (inteiro) chamado addend2 ao formulário (exatamente como você adicionou um Random objeto chamado seleção aleatória), da seguinte forma.
' Create a Random object to generate random numbers. Private randomizer As New Random ' These Integers will store the numbers ' for the addition problem. Private addend1 As Integer Private addend2 As Integer
// Create a Random object to generate random numbers. Random randomizer = new Random(); // These ints will store the numbers // for the addition problem. int addend1; int addend2;
Observação Um int (inteiro) é usado para armazenar um valor de número positivo ou negativo.Ele pode armazenar qualquer número de -2147483648 a 2147483647.Ele só pode armazenar números inteiros e decimais não.
Em seguida, adicione um método chamado StartTheQuiz() que usa a Random objeto Next() método para escolher os dois números e colocar os números nos rótulos.Ele será eventualmente preencher todos os problemas e, em seguida, iniciar o cronômetro, então, adicionar um comentário.O código deve se parecer com o seguinte:
''' <summary> ''' Start the quiz by filling in all of the problems ''' and starting the timer. ''' </summary> ''' <remarks></remarks> Public Sub StartTheQuiz() ' Fill in the addition problem. addend1 = randomizer.Next(51) addend2 = randomizer.Next(51) plusLeftLabel.Text = addend1.ToString() plusRightLabel.Text = addend2.ToString() sum.Value = 0 End Sub
/// <summary> /// Start the quiz by filling in all of the problems /// and starting the timer. /// </summary> public void StartTheQuiz() { // Fill in the addition problem. addend1 = randomizer.Next(51); addend2 = randomizer.Next(51); plusLeftLabel.Text = addend1.ToString(); plusRightLabel.Text = addend2.ToString(); sum.Value = 0; }
Observação Observe que você chamou randomizer.Next(51).O motivo de 51 e não 50 é usado é então somar dois números para uma resposta que é de 0 a 100.Se você passar 50 para o Next() método, ele escolhe um número de 0 a 49, portanto, a melhor resposta possível é 98 e não a 100.Depois que as duas primeiras declarações no método execute, cada um dos dois icas (inteiros), addend1 e addend2, mantenha um número aleatório entre 0 e 50.
Vejamos mais detalhadamente essas instruções.
plusLeftLabel.Text = addend1.ToString() plusRightLabel.Text = addend2.ToString()
plusLeftLabel.Text = addend1.ToString(); plusRightLabel.Text = addend2.ToString();
O conjunto de instruções o texto propriedades de etiquetas, além de dois plusLeftLabel e plusRightLabel, de modo que os rótulos de exibem os dois números aleatórios.Você precisa usar o int (Integer) ToString() método para convertê-la em texto (em programação, seqüência de caracteres significa que o texto), pois rótulo controles exibem apenas o texto e números não.
Você deseja que o Iniciar botão para iniciar o teste, portanto, vá para o Windows Forms Designer e clique duas vezes no botão para adicionar uma clique em manipulador de eventos.Em seguida, adicione as duas instruções a seguintes.
Private Sub startButton_Click() Handles startButton.Click StartTheQuiz() startButton.Enabled = False End Sub
private void startButton_Click(object sender, EventArgs e) { StartTheQuiz(); startButton.Enabled = false; }
Você sabe o que faz a primeira instrução: ele chama o novo StartTheQuiz() método.A segunda instrução define o startButton controle Enabled propriedade para False.Que desativa o botão, para que o usuário não é possível clicar nele.Dessa forma, o usuário só pode clicar a Iniciar botão uma vez.Depois disso, o botão estiver esmaecido e não está disponível e o usuário deve terminar o teste antes das execuções do time out (ou fechem o programa).
Agora, salve e execute o seu programa.Clique no Iniciar botão.Um problema de adição aleatório deve aparecer, conforme mostrado na figura a seguir.
Problema de adição aleatória
Para continuar ou revisar
Para ir para a próxima etapa do tutorial, consulte Etapa 3: Adicionar um Timer de contagem regressiva.
Para retornar para a etapa anterior do tutorial, consulte Etapa 1: Criar um projeto e adicionar rótulos a seu formulário..