Duvida em VB

BioL

Power Member
Boas, estou neste momento a fazer um jogo para a disciplina de AIB.

O jogo consiste em escolher duas cores de forma a obter uma dada fornecida pela jogo.

Código:
Public Soma As LongDim k As Integer
Dim cor_mostrada(0 To 7) As Long
Dim codigo_cor(1 To 16) As Long
Dim matriz As Integer
Dim n As Integer






Private Sub botao_reset_Click()


Pict(0).Picture = LoadPicture("botao_pressionar.jpg")
Pict(1).Picture = LoadPicture("botao_pressionar.jpg")
Pict(2).Picture = LoadPicture("botao_pressionar.jpg")
Pict(3).Picture = LoadPicture("botao_pressionar.jpg")
Pict(4).Picture = LoadPicture("botao_pressionar.jpg")
Pict(5).Picture = LoadPicture("botao_pressionar.jpg")
Pict(6).Picture = LoadPicture("botao_pressionar.jpg")
Pict(7).Picture = LoadPicture("botao_pressionar.jpg")
objetivo.Picture = LoadPicture("botao_pressionar.jpg")


Pict(0).Visible = True
Pict(1).Visible = True
Pict(2).Visible = True
Pict(3).Visible = True
Pict(4).Visible = True
Pict(5).Visible = True
Pict(6).Visible = True
Pict(7).Visible = True




Check(0).Value = 0
Check(1).Value = 0
Check(2).Value = 0
Check(3).Value = 0
Check(4).Value = 0
Check(5).Value = 0
Check(6).Value = 0
Check(7).Value = 0


Soma = 0


End Sub


Private Sub botao_sair_Click()
Jogo.Hide
Menu.Show
End Sub


Private Sub bt_iniciar_Click()


'Pict(0).Visible = False
'Pict(1).Visible = False
'Pict(2).Visible = False
'Pict(3).Visible = False
'Pict(4).Visible = False
'Pict(5).Visible = False
'Pict(6).Visible = False
'Pict(7).Visible = False


Dim x As Integer, i As Integer


For i = 0 To 7
x = Int(1 + Rnd(4) * 8)
matriz = x


Select Case x
Case 1
cor_mostrada(0) = 8192    'fazer isto para todos os cases. Igualar cor_mostrada ao valor da cor pela ordem de case.
cor_mostrada(1) = 2048
cor_mostrada(2) = 512
cor_mostrada(3) = 256
cor_mostrada(4) = 4096
cor_mostrada(5) = 1024
cor_mostrada(6) = 16384
cor_mostrada(7) = 32768


Pict(0).Picture = LoadPicture("amarelo.jpg")
Pict(1).Picture = LoadPicture("Azul_escuro.jpg")
Pict(2).Picture = LoadPicture("Branco.jpg")
Pict(3).Picture = LoadPicture("Ciano.jpg")
Pict(4).Picture = LoadPicture("Magenta.jpg")
Pict(5).Picture = LoadPicture("Preto.jpg")
Pict(6).Picture = LoadPicture("Verde.jpg")
Pict(7).Picture = LoadPicture("Vermelho.jpg")
objetivo.Picture = LoadPicture("turquesa.jpg") 'Verde(pic7) + Azul(pic2)


Case 2
cor_mostrada(0) = 32768
cor_mostrada(1) = 16384
cor_mostrada(2) = 256
cor_mostrada(3) = 1024
cor_mostrada(4) = 512
cor_mostrada(5) = 8192
cor_mostrada(6) = 2048
cor_mostrada(7) = 8192


Pict(0).Picture = LoadPicture("Vermelho.jpg")
Pict(1).Picture = LoadPicture("Verde.jpg")
Pict(2).Picture = LoadPicture("Ciano.jpg")
Pict(3).Picture = LoadPicture("Preto.jpg")
Pict(4).Picture = LoadPicture("Branco.jpg")
Pict(5).Picture = LoadPicture("amarelo.jpg")
Pict(6).Picture = LoadPicture("Azul_escuro.jpg")
Pict(7).Picture = LoadPicture("Magenta.jpg")
objetivo.Picture = LoadPicture("cinzento.jpg") 'preto(pic4) + branco(pic5)


Case 3
cor_mostrada(0) = 256
cor_mostrada(1) = 32768
cor_mostrada(2) = 2048
cor_mostrada(3) = 1024
cor_mostrada(4) = 512
cor_mostrada(5) = 4096
cor_mostrada(6) = 16384
cor_mostrada(7) = 8192


Pict(0).Picture = LoadPicture("Ciano.jpg")
Pict(1).Picture = LoadPicture("Vermelho.jpg")
Pict(2).Picture = LoadPicture("Azul_escuro.jpg")
Pict(3).Picture = LoadPicture("Preto.jpg")
Pict(4).Picture = LoadPicture("Branco.jpg")
Pict(5).Picture = LoadPicture("Magenta.jpg")
Pict(6).Picture = LoadPicture("Verde.jpg")
Pict(7).Picture = LoadPicture("amarelo.jpg")
objetivo.Picture = LoadPicture("Cor-de-Rosa.jpg") 'vermelho(pic2) + branco(pic5)


Case 4
cor_mostrada(0) = 1024
cor_mostrada(1) = 4096
cor_mostrada(2) = 256
cor_mostrada(3) = 2048
cor_mostrada(4) = 16384
cor_mostrada(5) = 8912
cor_mostrada(6) = 512
cor_mostrada(7) = 32768


Pict(0).Picture = LoadPicture("Preto.jpg")
Pict(1).Picture = LoadPicture("Magenta.jpg")
Pict(2).Picture = LoadPicture("Ciano.jpg")
Pict(3).Picture = LoadPicture("Azul_escuro.jpg")
Pict(4).Picture = LoadPicture("Verde.jpg")
Pict(5).Picture = LoadPicture("amarelo.jpg")
Pict(6).Picture = LoadPicture("Branco.jpg")
Pict(7).Picture = LoadPicture("Vermelho.jpg")
objetivo.Picture = LoadPicture("Laranja.jpg") 'vermelho(pic8)+amarelo(pic6)


Case 5
cor_mostrada(0) = 32768
cor_mostrada(1) = 512
cor_mostrada(2) = 1024
cor_mostrada(3) = 16384
cor_mostrada(4) = 4096
cor_mostrada(5) = 256
cor_mostrada(6) = 8912
cor_mostrada(7) = 2048


Pict(0).Picture = LoadPicture("Vermelho.jpg")
Pict(1).Picture = LoadPicture("Branco.jpg")
Pict(2).Picture = LoadPicture("Preto.jpg")
Pict(3).Picture = LoadPicture("Verde.jpg")
Pict(4).Picture = LoadPicture("Magenta.jpg")
Pict(5).Picture = LoadPicture("Ciano.jpg")
Pict(6).Picture = LoadPicture("amarelo.jpg")
Pict(7).Picture = LoadPicture("Azul_escuro.jpg")
objetivo.Picture = LoadPicture("Pistacho.jpg") 'verde(4)+branco(2)


Case 6
cor_mostrada(0) = 16384
cor_mostrada(1) = 256
cor_mostrada(2) = 1024
cor_mostrada(3) = 4096
cor_mostrada(4) = 512
cor_mostrada(5) = 8912
cor_mostrada(6) = 2048
cor_mostrada(7) = 32768


Pict(0).Picture = LoadPicture("verde.jpg")
Pict(1).Picture = LoadPicture("Ciano.jpg")
Pict(2).Picture = LoadPicture("Preto.jpg")
Pict(3).Picture = LoadPicture("Magenta.jpg")
Pict(4).Picture = LoadPicture("Branco.jpg")
Pict(5).Picture = LoadPicture("amarelo.jpg")
Pict(6).Picture = LoadPicture("Azul_escuro.jpg")
Pict(7).Picture = LoadPicture("Vermelho.jpg")
objetivo.Picture = LoadPicture("Roxo.jpg") 'azul_escuro(7) + vermelho(8)


Case 7
cor_mostrada(0) = 1024
cor_mostrada(1) = 2048
cor_mostrada(2) = 16384
cor_mostrada(3) = 8912
cor_mostrada(4) = 512
cor_mostrada(5) = 32768
cor_mostrada(6) = 256
cor_mostrada(7) = 4096


Pict(0).Picture = LoadPicture("Preto.jpg")
Pict(1).Picture = LoadPicture("Azul_escuro.jpg")
Pict(2).Picture = LoadPicture("Verde.jpg")
Pict(3).Picture = LoadPicture("amarelo.jpg")
Pict(4).Picture = LoadPicture("Branco.jpg")
Pict(5).Picture = LoadPicture("Vermelho.jpg")
Pict(6).Picture = LoadPicture("Ciano.jpg")
Pict(7).Picture = LoadPicture("Magenta.jpg")
objetivo.Picture = LoadPicture("Violeta.jpg") 'ciano(7) + magenta(8)


Case 8
cor_mostrada(0) = 16384
cor_mostrada(1) = 2048
cor_mostrada(2) = 4096
cor_mostrada(3) = 512
cor_mostrada(4) = 256
cor_mostrada(5) = 1024
cor_mostrada(6) = 8912
cor_mostrada(7) = 32768


Pict(0).Picture = LoadPicture("Verde.jpg")
Pict(1).Picture = LoadPicture("Azul_escuro.jpg")
Pict(2).Picture = LoadPicture("Magenta.jpg")
Pict(3).Picture = LoadPicture("Branco.jpg")
Pict(4).Picture = LoadPicture("Ciano.jpg")
Pict(5).Picture = LoadPicture("Preto.jpg")
Pict(6).Picture = LoadPicture("amarelo.jpg")
Pict(7).Picture = LoadPicture("Vermelho.jpg")
objetivo.Picture = LoadPicture("verde_escuro.jpg") 'verde(1) + preto(6)


End Select
Next i


End Sub


Private Sub bt_responder_Click()
Debug.Print (Soma)
'If bt_responder.Enabled Then
'Picture1.Visible = True
'Picture2.Visible = True
'Picture3.Visible = True
'Picture4.Visible = True
'Picture5.Visible = True
'Picture6.Visible = True
'Picture7.Visible = True
'Picture8.Visible = True
'End If




Select Case matriz
Case 1
If Soma = 18432 Then
k = MsgBox("Acertaste!", vbOKOnly)
Else
k = MsgBox("Tenta novamente..", vbOKOnly)
End If


Case 2
If Soma = 1536 Then
k = MsgBox("Acertaste!", vbOKOnly)
Else
k = MsgBox("Tenta novamente..", vbOKOnly)
End If


Case 3
If Soma = 20480 Then
k = MsgBox("Acertaste!", vbOKOnly)
Else
k = MsgBox("Tenta novamente..", vbOKOnly)
End If


Case 4
If Soma = 41680 Then
k = MsgBox("Acertaste!", vbOKOnly)
Else
k = MsgBox("Tenta novamente..", vbOKOnly)
End If


Case 5
If Soma = 16896 Then
k = MsgBox("Acertaste!", vbOKOnly)
Else
k = MsgBox("Tenta novamente..", vbOKOnly)
End If


Case 6
If Soma = 34816 Then
k = MsgBox("Acertaste!", vbOKOnly)
Else
k = MsgBox("Tenta novamente..", vbOKOnly)
End If


Case 7
If Soma = 4352 Then
k = MsgBox("Acertaste!", vbOKOnly)
Else
k = MsgBox("Tenta novamente..", vbOKOnly)
End If


Case 8
If Soma = 17408 Then
k = MsgBox("Acertaste!", vbOKOnly)
Else
k = MsgBox("Tenta novamente..", vbOKOnly)
End If


End Select




End Sub


Private Sub Check_Click(Index As Integer)


Soma = cor_mostrada(Index) + Soma


End Sub


Private Sub Form_Load()


codigo_cor(1) = 32768
codigo_cor(2) = 16384
codigo_cor(3) = 8192
codigo_cor(4) = 4096
codigo_cor(5) = 2048
codigo_cor(6) = 1024
codigo_cor(7) = 512
codigo_cor(8) = 256




End Sub

Mas neste momento, ele está a reconhecer a primeira resposta mas daí em diante ele vai ser somando todas as outras respostas e acaba por não acertar nenhuma soma após a primeira. Queria saber como é que faço para que a conta volte ao ínicio.
Tenho um botão reset, onde isto que quero pode ser incluido caso não seja no mesmo sítio da equação.

Dados que possam ser uteis:

Vermelho - 32768
Verde - 16384
Amarelo - 8912
Magenta - 4096
Azul_escuro - 2048
Preto - 1024
Branco - 512
Ciano - 256


Case 1 = Turquesa = verde + azul = 16384 + 2048 = 18432
Case 2 = Cinzento = preto + branco = 1024 + 512 = 1536
Case 3 = cor_de_rosa = vermelho + branco = 32768 + 512 = 33280
Case 4 = Laranja = vermelho + amarelo = 32768 + 8912 = 41680
Case 5 = Pistacho = verde + branco = 16384 + 512 = 16896
Case 6 = Roxo = azul + vermelho = 2048 + 32768 = 34816
Case 7 = Violeta = ciano + magenta = 256 + 4096 = 4352
Case 8 = verde_escuro = verde + preto = 16384 + 1024 = 17408


Cumprimentos,
BioL
 
Última edição:
Back
Topo