Você está na página 1de 3

Jogo da Toupeira

Public Class Form1 'Declarao das variveis Dim vposicao As Integer ' Dim vavanca As Integer ' varivel responsvel pelo avano da posio da toupeira Dim vvitorias As Integer Dim vnderrota As Integer Dim vtempo_decorrido As Integer Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load ' Quando o formulrio carregado oculta os pontos (responsveis pela localizao da toupeira) ponto1.Visible = False ponto2.Visible = False ponto3.Visible = False ponto4.Visible = False End Sub 'Ao clicar no boto Iniciar Private Sub btniniciar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btniniciar.Click 'Limpa os valores das variveis tempo_decorrido, vitorias e nderrota vtempo_decorrido = 0 vvitorias = 0 vnderrota = 0 ' o timer dois o da durao que leva a toupeira a subir e a descer avano e recuo 'Activa os temporizadores 1, 3 e 4 Timer1.Enabled = True 'timer principal o que vai at aparecer uma nova toupeira Timer3.Enabled = True ' timer de jogo Timer4.Enabled = True ' conta o tempo para informar End Sub ' Inicia o temporizador 1 (com intervalos de 1 segundo) Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick 'Torna a toupeira visvel e cria um valor aleatrio entre 1 e 4 toupeira.Visible = True Randomize() vposicao = Math.Floor(Rnd() * 4 + 1) 'Se o numero aleatrio for 1 a toupeira aparece no primeiro buraco, 'Se for 2 aparece no segundo e assim sucessivamente If vposicao = 1 Then toupeira.Location = ponto1.Location End If If vposicao = 2 Then toupeira.Location = ponto2.Location End If

Jogo da Toupeira
If vposicao = 3 Then toupeira.Location = ponto3.Location End If If vposicao = 4 Then toupeira.Location = ponto4.Location End If ' Activa o temporizador 2 (responsvel pelo avano da toupeira) e desactiva o temporizador actual Timer2.Enabled = True vavanca = 0 ' Inicia a varivel avano Timer1.Enabled = False End Sub ' Temporizador 2 (responsvel pelo avano) Private Sub Timer2_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer2.Tick ' Se a varivel avanca for inferior a trs (antes de chegar ao topo) ' aumenta a altura (sobe) da toupeira, caso j tenha chegado ao topo ' diminui a altura (desce) If vavanca < 3 Then toupeira.Location = toupeira.Location - New Size(0, 20) Else toupeira.Location = toupeira.Location - New Size(0, -20) End If ' Incrementa a varivel avanca a cada tick do temporizador vavanca = vavanca + 1 ' Quando a varivel avanca atinge o valor 6 (j desceu completamente) ' Desactiva o temporizador actual, volta a ocultar a toupeira e activa o temporizador principal If vavanca = 6 Then Timer2.Enabled = False toupeira.Visible = False Timer1.Enabled = True ' Incrementa a varivel derrota e atribui o seu valor label derrota vnderrota = vnderrota + 1 lblderrota.Text = vnderrota End If End Sub ' Clique na toupeira Private Sub toupeira_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles toupeira.Click

Beep() ' Surge um beep toupeira.Visible = False ' a toupeira fica oculta Timer2.Enabled = False ' o temporizador do avano da toupeira desactivado

Jogo da Toupeira

' Incrementa o valor das vitrias e atribui o seu valou label lbpontos vvitorias = vvitorias + 1 lblpontos.Text = vvitorias Timer1.Enabled = True ' Volta a activar o temporizador principal End Sub

' Temporizador responsvel pelo tempo de jogo (120 segundos) Private Sub Timer3_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer3.Tick ' Desactiva todos os temporizador e mostra uma mensagem de final de jogo Timer1.Enabled = False Timer2.Enabled = False Timer3.Enabled = False Timer4.Enabled = False MessageBox.Show("Terminou o jogo") End Sub ' Temporizador responsvel pelo tempo decorrido Private Sub Timer4_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer4.Tick ' Ao ter o valor de 1 segundo este temporizador vai incrementado 1 a 1 o seu valor ' mostrando o tempo decorrido de jogo vtempo_decorrido = vtempo_decorrido + Timer4.Interval lbltempo.Text = vtempo_decorrido / 1000 End Sub End Class

Você também pode gostar