Zufallszahl 0-1
- VB.NET
Sie verwenden einen veralteten Browser (%browser%) mit Sicherheitsschwachstellen und können nicht alle Funktionen dieser Webseite nutzen.
Hier erfahren Sie, wie einfach Sie Ihren Browser aktualisieren können.
Hier erfahren Sie, wie einfach Sie Ihren Browser aktualisieren können.
Es gibt 11 Antworten in diesem Thema. Der letzte Beitrag () ist von RodFromGermany.
-
-
Willkommen im Forum.
Jakob schrieb:
hab jetzt schon diverse Codes ausprobiert aber die funktionieren nicht richtig
Jakob schrieb:
Zufallszahl zwischen Null und Einsvb.net zufallszahl
eingebe, kommt tonnenweise. Vielleicht reicht der passende MSDN-Artikel schon. Erklärungen folgen bei ernstzunehmenden (sorry, aber ich bin anfänglich etwas skeptisch bei solchen Posts) Bemühungen.
Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“, mal wieder aus Grammatikgründen.
Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht den Spekulatiusbackmodus wechseln. -
@Jakob Willkommen im Forum.
Gut wäre es, wenn Du den nicht funktionierenden Code gepostet hättest.
Frage: Willst Du zufällige Folgen von Integher-Zahlen aus {0, 1}
oder
willst Du Zu Float-Zufallszahlen von { 0 ... 1 }?
Sieh Dir mal die Klasse Random an: docs.microsoft.com/de-de/dotne…m.random?view=netcore-3.1
Du instanziierst eine Random-Instanz und fragst die nächste Zahl ab.
Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch
Ein guter .NET-Snippetkonverter (der ist verfügbar).
Programmierfragen über PN / Konversation werden ignoriert! -
Kurzer Einspruch: Zeile#2 gibt immer 0, da die Obergrenze exklusive ist.Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“, mal wieder aus Grammatikgründen.
Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht den Spekulatiusbackmodus wechseln. -
Ich habe bisher ein Spiel/Programm programmiert,bei dem sich ein kreis bewegt und auf den man dann draufklicken muss
um Punkte zu bekommen aber der Kreis bewegt sich immer nur in einer Linie von oben links nach unten rechts
und ich wollte jetzt die Koordinaten ein wenig diferenzieren
indem ich den ersten zufälligen Integer mit einer zufälligen fließkommazahl multipliziere
um ein breiter gefächertes Ergebniss zu erhalten Code bisher wie folgt:
Visual Basic-Quellcode
- Public Class Form1
- Dim punkte As Integer = 0
- Dim randomx As New Random
- Dim randomy As New Random
- Public Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick
- 'Zufällige Koordinaten erstellen
- Dim xposition As Integer = randomx.Next(1, 555)
- Dim yposition As Integer = randomy.Next(1, 415)
- '(nur zum Test)Koordinaten anzeigen
- xpositionlbl.Text = xposition
- ypositionlbl.Text = yposition
- 'Dem Kreis die Koordinaten zuweisen
- Kreis.Location = New Point(xposition, yposition)
- 'Die Geschwindigkeit des Timers anzeigen
- Label1.Text = Timer1.Interval
- End Sub
- Private Sub Kreis_Click(sender As Object, e As EventArgs) Handles Kreis.Click
- 'Punktesystem und bei einem Klick den Timer verschnellern
- punkte += 10
- punktelbl.Text = punkte
- Timer1.Interval -= 1
- 'nach einem Klick direkt eine neue Koordinate erstellen
- Dim xposition As Integer = randomx.Next(1, 555)
- Dim yposition As Integer = randomy.Next(1, 415)
- 'und diese dem Kreis zuordnen
- Kreis.Location = New Point(xposition, yposition)
- End Sub
- End Class
-
Bevor Du weitermachst, bitte die empfohlenen VS-Einstellungen verwenden. Stichwort
Option Strict On
-Probleme in den Zeilen#11, #12, #16, #22
btw: bitte korrekte CodeTags verwenden. Du hast den VB6-Tag für Deinen Code gewählt, VB.NET ist aber richtig.
Und zum Abschluss noch zur Problemlösung: Löscherandomy
in Z#5 und verwende überallrandomx
. Zwei so knapp nacheinander erzeugte Zufallsgeneratoren erzeugen fast immer die gleichen Zufallszahlen. Einer reicht.Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“, mal wieder aus Grammatikgründen.
Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht den Spekulatiusbackmodus wechseln. -
VaporiZed schrieb:
Lösche randomy in Z#5 und verwende überall randomx.
Wie mache ich das dann weil ich ja zwei Koordinaten brauche und dann aber immer nur einen Wert habe? -
Ich schrieb, lösche Zeile#5. Der Rest wird nur umbenannt, von
randomy
aufrandomx
. Oder besser gleich aufRandom
.
btw: Warum heißt der Thread eigentlichZufallszahl 0-1
?Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“, mal wieder aus Grammatikgründen.
Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht den Spekulatiusbackmodus wechseln. -
VaporiZed schrieb:
btw: Warum heißt der Thread eigentlich Zufallszahl 0-1?
weil ich zuerst noch zwei Zufallszahlen einfügen wollte um diese dann mit den ersten zu multiplizieren um mehr Variabilität reinzubringen und da hätte ich eben eine Zahl zwischen 0 und 1 gebraucht damit ich im Bild bleibe
PS: Ich habs jetzt ohne die 5.Zeile ausprobiert und funktioniert jetzt sehr gut
Vielen Dank dass ihr(vor allem du VaporiZed) mir so schnell geholfen habt.
Das hinterlässt natürlich gleich mal einen Guten Eindruck.
Ich wüdre mich freuen wenn ich auch bei zukünftigen Fragen wieder auf VB Paradise zurückgreifen könnteDieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Jakob“ ()
-
VaporiZed schrieb:
Kurzer Einspruch:
Das hatte ich als C&P-Bremse reingebaut.
@Jakob Der Sinn der Verwendung nur einer Random-Instanz besteht darin, dass dann gesichert ist, dass die Werte tatsächlich zueinander zufällig sind. Bei zwei Instanzen ist zwar jede Folge in sich zufällig, bezüglich der Werte der anderen Reihe jedoch nicht unbedingt.Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch
Ein guter .NET-Snippetkonverter (der ist verfügbar).
Programmierfragen über PN / Konversation werden ignoriert! -
RodFromGermany schrieb:
Der Sinn der Verwendung nur einer Random-Instanz
Ich dachte eben, dass ein Zufallsgenerator nur eine Zufallszahl generieren kann deshalb hab ich zwei gemacht... -
Jakob schrieb:
Ich dachte eben
Es ist nicht sinnvoll, wenn Du wegen jedes kleinen Problems hier einen Thread eröffnest, um es zu lösen.Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch
Ein guter .NET-Snippetkonverter (der ist verfügbar).
Programmierfragen über PN / Konversation werden ignoriert!
-
Tags
-
Ähnliche Themen
-
VBFTW - - Sonstige Problemstellungen
-
3 Benutzer haben hier geschrieben
- Jakob (5)
- VaporiZed (4)
- RodFromGermany (3)