Zufallskoordinaten aus For-Schleife "speichern"

  • VB.NET

Es gibt 1 Antwort in diesem Thema. Der letzte Beitrag () ist von Dodo.

    Zufallskoordinaten aus For-Schleife "speichern"

    Hey!

    Mein erstes "größeres" Programmierprojekt beruht eigentlich gar nicht so sehr auf Visual Basic sondern mehr auf Pure Data.
    Stellenweise will/soll/muss ich aber doch auf Visual Basic zurückgreifen.

    Als Visual Basic Anfänger stehe ich aber gerade mit einem relativ simplen Problem absolut auf dem Schlauch und würde mich über Hilfe sehr freuen!

    Also, hier das Problem:
    - über eine For-Schleife wird ein Haufen zufälliger TypePositions und BeatPositions ausgegeben
    - TypePosition soll als X Wert gelten, BeatPosition als Y Wert. Also: Koordinate(i)=(Typeposition(i), BeatPosition(i))
    - Alle Koordinaten müssen sowohl gezeichnet, als auch mithilfe eines Arrays als System.Drawing.Point "gespeichert" werden.

    Funktioniert auch alles, nur das "Speichern" der zufälligen Koordinaten bereitet mir Kopfzerbrechen.

    VB.NET-Quellcode

    1. For i = 0 To 2000
    2. TypePosition(i) = r.Next(PanelArnom.Width - 10)
    3. BeatPosition(i) = r.Next(PanelArnom.Height - 10)
    4. 'Problemstelle! Wie speichere ich die errechneten Werte über ein Array als System.Drawing.Point ab??
    5. Next



    Etwas wie das hier geht ja nicht:

    VB.NET-Quellcode

    1. Dim Array(TypePostion, BeatPostion) As Integer
    2. Dim Punkt(i) As System.Drawing.Point
    3. Array = Punkt(i)



    Sämtliche Tipps, Denkenastöße und Schläge auf den Hinterkopf werden dankend angenommen! :thumbsup:
    Meinst du sowas??

    VB.NET-Quellcode

    1. Dim Punkte As New List(Of Point)
    2. For i As integer = 0 To 2000
    3. Dim x As integer = r.Next(PanelArnom.Width - 10)
    4. Dim y As Integer = r.Next(PanelArnom.Height - 10)
    5. Punkte.Add(New Point(x, y))
    6. Next


    Man kann es auch noch kürzen wo ggf. die Übersichtlichkeit darunter leidet

    VB.NET-Quellcode

    1. Dim Punkte As New List(Of Point)
    2. For i As integer = 0 To 2000
    3. Punkte.Add(New Point(r.Next(PanelArnom.Width - 10), r.Next(PanelArnom.Width - 10)))
    4. Next