Vragen PO Informatica

Status
Niet open voor verdere reacties.

Rikkeh

Gebruiker
Lid geworden
18 feb 2008
Berichten
11
Voor een PO informatica moest ik als eindopdracht iets maken met visual basic, een spelletje of iets anders kleins, Mij leek het leuk om dan bijvoorbeeld memory te maken..

nu heb ik een aantal probleempjes, hoe kan ik er voor zorgen dat mijn "kaartjes" willekeurig gedeeld worden, ik zat te denken aan iets in de trend van: Geef elk kaartje een waarde tussen 0 en (aantal kaartjes), als die waarde 1 is, zet je hem op die positie., is het getal 2, dan op die positie.. ik ben bang dat dit niet werkt omdat je dan misschien plaatjes op dezelfde plek krijgt, en er zal vast wel een betere manier zijn.

Het komt er dus op neer dat, of er een goede, makkelijke code is om de "kaartjes" op een willekeurige plaats neer te zetten,

er zullen later vast nog wel meer vragen komen bij eventuele problemen die ik tegenkom., maar dat een andere keer.,

alvast bedankt :)
 
ik heb geen ervaring met visual basic (wel met andere talen) maar het gaat om het idee.
je zet alle kaartjes in een array dan laat je gewoon met een functie een willekeurig getal nemen (in PHP is dit bijvoorbeeld de functie rand() ).
dan controleer je of deze al een keer eerder is geweest. zoniet, dan plaats je het kaartje.
als het wel al een keer is gekozen moet het natuurlijk eerst een ander getal nemen.
 
??

ksnap et nog nie helemaal wat j bedoeld. kwil owk deze functie gebruiken maar ik snap niet hoe...:confused:
 
In VB 6.0 werkt dat als volgt:


Code:
Dim iRandomNumber As Integer
Dim iLow as Integer 
Dim iHigh as Integer        

    Randomize

    iLow = 1000
    iHigh = 9999

    iRandomNumber = Int((iHigh - iLow) * Rnd + iLow)
Dit levert een getal op tussen iLow en iHigh.
 
VB.net


Public Function RandomNumber(ByVal MaxNumber As Integer, Optional ByVal MinNumber As Integer = 0) As Integer

'initialize random number generator
Dim r As New Random(System.DateTime.Now.Millisecond)

'if passed incorrect arguments, swap them
'can also throw exception or return 0

If MinNumber > MaxNumber Then
Dim t As Integer = MinNumber
MinNumber = MaxNumber
MaxNumber = t
End If

Return r.Next(MinNumber, MaxNumber)

End Function
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan