Du husker bare det sidste tal. Hvis det er 1 må du vælge 2 og 3 Hvis det er 2 må du vælge 3 og 1 Hvis det er 3 må du vælge 1 og 2 (forstået rigtigt). Derfor vælger du et tilfældigt tal mellem 1 og 2 inklusive og lægger til det tal du havde før. Kommer du på 4 så laver du det om til 1.
ja.. jeg har bare problemer med at få den til at "huske tallet".. det nye tal overskriver jo det der var gemt... ved ikke... det gamle vil jo altid afhænge af det nye..
jeg prøver lige det du skrev... der skal jo nok bruges 2 forskellige Rnd commands..
Private Sub Command1_Click() If Værdi <> GammelVærdi Then ' værdien er ikke den samme GammelVærdi = Værdi Else MsgBox "Du har brugt " & Værdi & " en gang" Værdi = "" Værdi.SetFocus End If End Sub
da jeg stadig er n00b i VB havde jeg lidt svært ved at forstå det. det stod ikke noget om .setfocus i min lærebog.. så jeg blev nød til at strege det svar.
Jeg fandt dog en vej udenom. I stedet for at kigge på den forrige tal, så kigger man på hvilken hvilken handling tallet sidst var skyld i.
Private Sub Timer1_Timer() 10 ' et mærke man kan gå tilbage til Call Rndnum 'tilfældigt tal mellem 0 og 2 'vælger nummeret efter det er blevet genereret Select Case rndnumbreed Case Is = 0 If premarkid <> 1 Then 'premark er for hvad der skete sidste gang cmd33.Enabled = False cmd33.Visible = False cmd22.Enabled = False cmd22.Visible = False cmd11.Enabled = True cmd11.Visible = True premarkid = 1 option1 = option1 + 1 Else GoTo 10 End If Case Is = 1 If premarkid <> 2 Then cmd11.Enabled = False cmd11.Visible = False cmd33.Enabled = False cmd33.Visible = False cmd22.Enabled = True cmd22.Visible = True premarkid = 2 option2 = option2 + 1 Else GoTo 10 End If Case Is = 2 If premarkid <> 3 Then cmd11.Enabled = False cmd11.Visible = False cmd22.Enabled = False cmd22.Visible = False cmd33.Enabled = True cmd33.Visible = True premarkid = 3 option3 = option3 + 1 Else GoTo 10 End If End Select 'Checker om tiden er løbet ud og nedskriver score hvis man endnu ikke har tabt timeleft = timeleft - 1 lbltime = timeleft If timeleft = 0 Then gamelost = True End If
Dim PremarkId As Byte Dim RndNumbreed As Byte Public Sub Timer1_Timer() Randomize OM: RndNumbreed = Int(3 * Rnd) + 1 If PremarkId = RndNumbreed Then GoTo OM PremarkId = RndNumbreed 'tilfældigt tal mellem 1 og 3 'vælger nummeret efter det er blevet genereret Select Case RndNumbreed Case 1 cmd33.Enabled = False cmd33.Visible = False cmd22.Enabled = False cmd22.Visible = False cmd11.Enabled = True cmd11.Visible = True option1 = option1 + 1 Case 2 cmd11.Enabled = False cmd11.Visible = False cmd33.Enabled = False cmd33.Visible = False cmd22.Enabled = True cmd22.Visible = True option2 = option2 + 1 Case 3 cmd11.Enabled = False cmd11.Visible = False cmd22.Enabled = False cmd22.Visible = False cmd33.Enabled = True cmd33.Visible = True option3 = option3 + 1 End Select 'Checker om tiden er løbet ud og nedskriver score hvis man endnu ikke har tabt timeleft = timeleft - 1 lbltime = timeleft If timeleft = 0 Then gamelost = True End If End Sub
jeg lægger snart spillet ind i en væsenligt opdateret udgave
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.