login  Naam:   Wachtwoord: 
Registreer je!
 Forum

random getallen voor een tweedimensionale array (Opgelost)

Offline JohanvdVelde - 05/07/2009 16:23 (laatste wijziging 05/07/2009 20:34)
Avatar van JohanvdVeldeNieuw lid Hallo,

Voor een opdracht voor school moeten wij het spelletje boter kaas en eieren in vb maken. Ik loop echter tegen een vreselijk irritante bug aan, die volgens mij met de random te maken heeft.

Ik heb een twee dimensionale array aangemaakt van 3,3, hij is dus 4 lang en 4 breed. Iets te lang, maar ik gebruik de waarden met 0 niet. Als een spel begint klikt de speler op een picturebox, de bijbehorende array waarde (in het geval van picturebox 1 de array 1,1) veranderd van 0 naar 1. Vervolgens is de computer aan de beurt, waar ik de volgende code voor heb geschreven:

  1. Sub ComputerBeurt()
  2.  
  3. While BlnCheck = False
  4. IntRij = RndRandom1.Next(1, 4)
  5. IntKolom = RndRandom2.Next(1, 4)
  6.  
  7. If IntArray(IntRij, IntKolom) = 0 Then
  8. IntArray(IntRij, IntKolom) = 1
  9. If IntRij = 1 And IntKolom = 1 Then
  10. PictureBox1.Image = opdracht20.My.Resources.linux
  11. BlnCheck = True
  12. StrBeurtCheck = ("Computer")
  13. ElseIf IntRij = 1 And IntKolom = 2 Then
  14. PictureBox2.Image = opdracht20.My.Resources.linux
  15. BlnCheck = True
  16. StrBeurtCheck = ("Computer")
  17. ElseIf IntRij = 1 And IntKolom = 3 Then
  18. PictureBox3.Image = opdracht20.My.Resources.linux
  19. BlnCheck = True
  20. StrBeurtCheck = ("Computer")
  21. ElseIf IntRij = 2 And IntKolom = 1 Then
  22. PictureBox4.Image = opdracht20.My.Resources.linux
  23. BlnCheck = True
  24. StrBeurtCheck = ("Computer")
  25. ElseIf IntRij = 2 And IntKolom = 2 Then
  26. PictureBox5.Image = opdracht20.My.Resources.linux
  27. BlnCheck = True
  28. StrBeurtCheck = ("Computer")
  29. ElseIf IntRij = 2 And IntKolom = 3 Then
  30. PictureBox6.Image = opdracht20.My.Resources.linux
  31. BlnCheck = True
  32. StrBeurtCheck = ("Computer")
  33. ElseIf IntRij = 3 And IntKolom = 1 Then
  34. PictureBox7.Image = opdracht20.My.Resources.linux
  35. BlnCheck = True
  36. StrBeurtCheck = ("Computer")
  37. ElseIf IntRij = 3 And IntKolom = 2 Then
  38. PictureBox8.Image = opdracht20.My.Resources.linux
  39. BlnCheck = True
  40. StrBeurtCheck = ("Computer")
  41. ElseIf IntRij = 3 And IntKolom = 3 Then
  42. PictureBox9.Image = opdracht20.My.Resources.linux
  43. BlnCheck = True
  44. StrBeurtCheck = ("Computer")
  45. End If
  46.  
  47. End If
  48.  
  49. End While
  50.  
  51. BlnCheck = False
  52. End Sub


Hier gaat het volgens mij fout, de random komt telkens weer met hetzelfde getal aan zetten volgens mij. Het gaat 2 beurten goed, en dan loopt ie vast zonder een error melding of wat dan ook.

Wij zijn trouwens nog niet erg ver met VB, dus we gebruiken alleen simpele commandos e.d.

Edit: Het probleem is ondertussen opgelost door gewoon een eendimensionale array met de waarde van 9 te gebruiken.

1 antwoord

Gesponsorde links
Offline Mario - 05/07/2009 22:11 (laatste wijziging 05/07/2009 22:11)
Avatar van Mario Crew algemeen doe eens een

  1. Randomize()


als je elke keer dezelfde waarde kijgt
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.22s