none
Preciso de ajuda em jogo de somar. RRS feed

  • Pergunta

  • Estou desenvolvendo (pelo menos tentando) um jogo de somar. Ele soma dois numeros, se errar tres vezes ele mostra o resultado correto depois mostra outros numeros diferentes pra ser somado.

    O meu problema é o seguinte: Quando erra pela terceira vez ele ja mostra direto os novos numeros a ser somados. Eu gostaria que ele mostrasse o resultado correto primeiro depois mostrasse outra conta com numeros diferentes.

    Código:

    Dim n1, n2, pontos As Integer
        Dim soma, resp As Integer
        Dim conta As String
        Dim NumAleatorio As Random = New Random()
        Dim tentativas As Integer = 1
    
        Private Sub verTentativas()
            tentativas += 1
            If tentativas <= 3 Then
                My.Computer.Audio.Play("G:\Curso_Vb.Net\Projetos\Pense Certo\Pense_Bem\Pense_Bem\Sources\17 Player Down.WAV")
                'txtPainel.Text = conta
            Else
                My.Computer.Audio.Play("G:\Curso_Vb.Net\Projetos\Pense Certo\Pense_Bem\Pense_Bem\Sources\17 Player Down.WAV")
                'txtPainel.Text = n1 & "+" & n2 & "=" & soma
                'System.Threading.Thread.Sleep(3000)
                n1 = NumAleatorio.Next(10, 99)
                n2 = NumAleatorio.Next(1, 9)
            End If
        End Sub
        Private Sub adicao()
            
        End Sub
    
        Private Sub frmPenseBem_Load(sender As Object, e As EventArgs) Handles MyBase.Load
            txtPainel.BackColor = Color.Black
    
        End Sub
    
        Private Sub btnLiga_Click(sender As Object, e As EventArgs) Handles btnLiga.Click
            txtPainel.BackColor = Color.White
            My.Computer.Audio.Play("G:\Curso_Vb.Net\Projetos\Pense Certo\Pense_Bem\Pense_Bem\Sources\14 1UP.WAV")
        End Sub
    
        Private Sub btnAdi_Click(sender As Object, e As EventArgs) Handles btnAdi.Click
            n1 = NumAleatorio.Next(10, 99)
            n2 = NumAleatorio.Next(1, 9)
            txtPainel.Text = n1 & "+" & n2 & "="
        End Sub
    
        Private Sub btnEnter_Click(sender As Object, e As EventArgs) Handles btnEnter.Click
            soma = n1 + n2
            resp = txtPainel.Text.Substring(5).ToString
            conta = txtPainel.Text.Substring(0, 5).ToString
            If soma = resp Then
                My.Computer.Audio.Play("G:\Curso_Vb.Net\Projetos\Pense Certo\Pense_Bem\Pense_Bem\Sources\11 Coin.WAV")
                n1 = NumAleatorio.Next(10, 99)
                n2 = NumAleatorio.Next(1, 9)
                txtPainel.Text = n1 & "+" & n2 & "="
                Select Case tentativas
                    Case 1
                        If tentativas = 1 And soma Then
                            pontos += 10
                        End If
                    Case 2
                        If tentativas = 2 Then
                            pontos += 6
                        End If
                    Case 3
                        If tentativas = 3 Then
                            pontos += 2
                        End If
                End Select
                If soma = resp Then
                    tentativas = 1
                End If
            End If
            If soma <> resp Then
                verTentativas()
                If tentativas = 4 Then
                    txtPainel.Text = conta & soma
                    'System.Threading.Thread.Sleep(3000)
                End If
            End If
            'System.Threading.Thread.Sleep(3000)
            txtPainel.Text = n1 & "+" & n2 & "="
        End Sub
    End Class


    Programdor .Net iniciante.

    domingo, 10 de novembro de 2013 20:30

Respostas

  • Não tenho contato com VB, mas tente encontrar uma função semelhante à função getch da linguagem C.

    Onde para continuar a aplicação o usuário precisa digitar qualquer tecla.

    • Marcado como Resposta Marcos Aurelio C sexta-feira, 15 de novembro de 2013 22:28
    segunda-feira, 11 de novembro de 2013 13:10
  • Você pode fazer o seguinte, mostre o resultado na tela e um botão "Tentar novamente" ou algo do gênero, quando clicar nesse botão ele gera novos números para o usuário tentar.


    "A vida é um paraíso, mas os homens não o sabem e não se preocupam em sabê-lo." Fiodor Dostoievski

    • Marcado como Resposta Marcos Aurelio C sexta-feira, 15 de novembro de 2013 22:28
    segunda-feira, 11 de novembro de 2013 13:37

Todas as Respostas

  • Não tenho contato com VB, mas tente encontrar uma função semelhante à função getch da linguagem C.

    Onde para continuar a aplicação o usuário precisa digitar qualquer tecla.

    • Marcado como Resposta Marcos Aurelio C sexta-feira, 15 de novembro de 2013 22:28
    segunda-feira, 11 de novembro de 2013 13:10
  • Você pode fazer o seguinte, mostre o resultado na tela e um botão "Tentar novamente" ou algo do gênero, quando clicar nesse botão ele gera novos números para o usuário tentar.


    "A vida é um paraíso, mas os homens não o sabem e não se preocupam em sabê-lo." Fiodor Dostoievski

    • Marcado como Resposta Marcos Aurelio C sexta-feira, 15 de novembro de 2013 22:28
    segunda-feira, 11 de novembro de 2013 13:37