VB.net Zufallsgenerator

Nabend liebe Community,

ich hab wieder ein Problem :D
Also fürn Freund programmiere ich gerade einen Zahlen und Formengenerator. Jedoch funktioniert dieser nicht ganz so wie ich will. Die Vorraussetzung ist: es darf sich keine gegenüber liegende Form nach einander wuederholen. Sprich kommt diese Form => darf direkt danach nicht <= kommen oder auch mit oben und unten.

Hier die Logik des Programms:
Code:
If (LetzteRichtung = 1) And (zahlForm = 3) Then
            Do Until zahlForm <> 3
                zahlForm = R.Next(1, 4)
            Loop
        ElseIf (LetzteRichtung = 3) And (zahlForm = 1) Then
            Do Until zahlForm <> 1
                zahlForm = R.Next(1, 4)
            Loop
        ElseIf (LetzteRichtung = 2) And (zahlForm = 4) Then
            Do Until zahlForm <> 4
                zahlForm = R.Next(1, 4)
            Loop
        ElseIf (LetzteRichtung = 4) And (zahlForm = 2) Then
            Do Until zahlForm <> 2
                zahlForm = R.Next(1, 4)
            Loop
        End If

Die Zahlen in den IF entsprechen den Bildern. Die ich als Anlage beigefügt habe.
 
Hallo reaLInsanity.

Was bedeutet gegenüberliegend?
Ich versteh dein Problem noch nicht genau.
Du willst per Zufallszahlen diese Bilder anzeigen und welches Bild darf nicht nach welchem angezeigt werden??

MfG aafreak
 
Also,
kommt beispielsweise der Pfeil: < darf danach nicht > kommen oder wenn pfeil nach oben kommt darf prfeil nach unten nicht kommen und umgekehrt... also man muss sich das als einen Weg vorstellen der generiert wird. Nur man darf nicht zurück gehen nur vorwärst.

Ich hoffe das ist aussagekräftig genug *g*
 
Also wenn Pfeil nach oben kommt, darf dann einer nach rechts kommen oder nicht????
Und wie sieht das mit den Kreisen aus??? Dürfen da auch nicht alle Farben nacheinander kommen?
 
Moin moin,
habe den Fehler gefunden. Es lag daran dass ich die Variablen immer in der Funktion deklariert habe die auf das Event onClick bei dem Button schaut.

Habe es nun wie folgt gelöst und es klappt auch soweit alles:
Code:
Public Class Form1
    Dim R As New System.Random()
    Dim LetzteRichtung As Integer = R.Next(1, 5)

    Public Sub btnGen_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnGen.Click
        zufallszahl()
    End Sub

    Public Sub zufallszahl()
        Dim R As New System.Random()
        Dim zahlFarbe As Integer = R.Next(1, 9)
        Dim zahlForm As Integer = R.Next(1, 5)

        'If (LetzteRichtung = 1 And zahlForm = 3) Or (LetzteRichtung = 3 And zahlForm = 1) Or (LetzteRichtung = 2 And zahlForm = 4) Or (LetzteRichtung = 4 And zahlForm = 2) Then
        '    zufallszahl()
        'Else
        '    Form.ImageLocation = My.Application.Info.DirectoryPath & "\fo" & zahlForm.ToString & ".jpg"
        '    Farbe.ImageLocation = My.Application.Info.DirectoryPath & "\fa" & zahlFarbe.ToString & ".jpg"
        '    LetzteRichtung = zahlForm
        'End If
        If (LetzteRichtung = 1) And (zahlForm = 3) Then
            Do Until zahlForm <> 3
                zahlForm = R.Next(1, 5)
            Loop
        End If

        If (LetzteRichtung = 3) And (zahlForm = 1) Then

            Do Until zahlForm <> 1
                zahlForm = R.Next(1, 5)
            Loop
        End If

        If (LetzteRichtung = 2) And (zahlForm = 4) Then
            Do Until zahlForm <> 4
                zahlForm = R.Next(1, 5)
            Loop
        End If

        If (LetzteRichtung = 4) And (zahlForm = 2) Then

            Do Until zahlForm <> 2
                zahlForm = R.Next(1, 5S)
            Loop
        End If


        Form.ImageLocation = My.Application.Info.DirectoryPath & "\fo" & zahlForm.ToString & ".jpg"
        Farbe.ImageLocation = My.Application.Info.DirectoryPath & "\fa" & zahlFarbe.ToString & ".jpg"
        letzteRichtung = zahlForm
    End Sub


End Class

Aber eine Frage habe ich noch. Wie kann ich Bilder so einbinden, dass ich sie nicht eigenstädig mitliefern muss sondern dass sie praktisch mit der exe zusammen compiled worden sind?
 
ich habs mal mit MS VS 2005:

ich mache einfach eine PictureBox, wähle das bild und mache auf eigentschaften, also verhalten : Vistible: False.

dann musst du halt das element picture.box irgendwie einbinden glaube ich....
ich hoffe das reicht als tip, war mal gut in VB, aber das ist länger her ;)
 
Original von reaLInsanity
Aber eine Frage habe ich noch. Wie kann ich Bilder so einbinden, dass ich sie nicht eigenstädig mitliefern muss sondern dass sie praktisch mit der exe zusammen compiled worden sind?

Einfach die Bilder importieren.
Klick auf die Picturebox dann bei den Eigenschaften auf Image dann Importieren. Dort importierst du alle benötigten Bilder.
Mit "My.Resources.Bildname" greifst du auf die Bilder zu.
 
Original von Express
Original von reaLInsanity
Aber eine Frage habe ich noch. Wie kann ich Bilder so einbinden, dass ich sie nicht eigenstädig mitliefern muss sondern dass sie praktisch mit der exe zusammen compiled worden sind?

Einfach die Bilder importieren.
Klick auf die Picturebox dann bei den Eigenschaften auf Image dann Importieren. Dort importierst du alle benötigten Bilder.
Mit "My.Resources.Bildname" greifst du auf die Bilder zu.

Achso dankeschön :)
Schönen Abend noch zusammen und danke für die zahlreichen Hilfen :)
 
Zurück
Oben