Random Punkte erstellen mit der Random klasse

XWing

Mitglied
hi ich hab das problem das ich keine ahnung habe wie ich random punkte erstellen lassen soll und zwar sollen dazu nur so viele punkte erstellt werden wie der user eingegeben hat
 

XWing

Mitglied
also meine frage ist es wie ich es schaffen kann das sich random punkte erstellen wenn der user eine zahl eingibt und sich so viele punkte erstellen wieder der user eingegeben hat
 

XWing

Mitglied
sie sollen auf einem kordinaten system erscheinen das
for (int y = 0; y < 30; y++) {
for (int x = 0; x < 100; x++) {
so groß ist. und das "Spielfeld" wird in punkten ausgedruckt.Die punkte sollen später gegner sein (die gegner sollen als g oder einen anderen buchstaben angezeigt werden) aber als erstes brauch ich
System.out.println("Mit wie vielen gegner wollen sie spielen?(Max 5)");
value1 = scan.nextInt();
} else if (value1 <= 5) {
//setze soviele punkte auf einen random ort wie angegeben
ein else if das dafür sorgt das so viele gegner "gespawnt werden" wie der user oder player eingegeben hat
 

Oneixee5

Top Contributor
Also du benötigst einen zufälligen x- und y-Wert, jeweils in einem bestimmten Wertebereich. Für x von 0 bis 30 und für y von 0 bis 100. Dafür schlage ich folgende Methode vor:
Java:
public int getRandomNumber(int min, int max) {
    return (int) ((Math.random() * (max - min)) + min);
}
Java:
int x = getRandomNumber(0, 30);
int y = getRandomNumber(0, 100);
 

XWing

Mitglied
soll ich das dann ein einer extra methode rein machen oder kann ich das return auch einf in dem unteren else if rein schreiben so wie ich´s da jetzt rein geschrieben habe?
if (value1 > 5) {
System.out.println("Maximal 5 erlaubt");
System.out.println("Mit wie vielen gegner wollen sie spielen?(Max 5)");
value1 = scan.nextInt();
} else if (value1 <= 5) {
return (int) ((Math.random() * (max - min)) + min);
}
und wie macht man das das man dem system sagt das die bedingung true ist wenn ein zahl von 1 bis x eingegeben wurde?
 

XWing

Mitglied
Soll ich das dann ein einer extra methode rein machen oder kann ich das return auch einfach in dem unteren else if rein schreiben so wie ich es da jetzt rein geschrieben habe?
Und wie macht man das das man dem system sagt das die bedingung true ist wenn ein zahl von 1 bis x eingegeben wurde?
Code:
if (value1 > 5) {

   System.out.println("Maximal 5 erlaubt");

   System.out.println("Mit wie vielen gegner wollen sie spielen?(Max 5)");

   value1 = scan.nextInt();

} else if (value1 <= 5) {

   return (int) ((Math.random() * (max - min)) + min);

   }
Ist es so besser?
 

Oneixee5

Top Contributor
Naja, du sollst das, von mir aus, nicht machen. Du willst etwas erreichen.
Wenn du mit return nur einen Wert zurückgibst aber für x und y eigentlich 2 Werte benötigst, dann wird es nicht funktionieren.
 

XWing

Mitglied
kann man dann einfach 2 rein machen sie so definieren das ein random x und ein anderer denn wert y ausgibt? Oder geht das nicht?
Java:
int randomnumber1;

int randomnumber2;


if (value1 > 5) {


   System.out.println("Maximal 5 erlaubt");


   System.out.println("Mit wie vielen gegner wollen sie spielen?(Max 5)");


   value1 = scan.nextInt();


} else if (value1 <= 5) {


   return (randomnumber1) ((Math.random() * (max - min)) + min);

   return (randomnumber2) ((Math.random() * (max - min)) + min);

   }
 

temi

Top Contributor

Oneixee5

Top Contributor
kann man dann einfach 2 rein machen sie so definieren das ein random x und ein anderer denn wert y ausgibt? Oder geht das nicht?
Java:
int randomnumber1;

int randomnumber2;


if (value1 > 5) {


   System.out.println("Maximal 5 erlaubt");


   System.out.println("Mit wie vielen gegner wollen sie spielen?(Max 5)");


   value1 = scan.nextInt();


} else if (value1 <= 5) {


   return (randomnumber1) ((Math.random() * (max - min)) + min);

   return (randomnumber2) ((Math.random() * (max - min)) + min);

   }
Ich vermute an dieser Stelle willst du gar keinen Zufallswert mit return zurückgeben. Du willst vermutlich die Zahl, die der Spieler eingetippt hat, um die Anzahl der Gegner festzulegen, also: value1
Das zeigt das nächste Problem: value1 ist kein vernünftiger Variablenname, du weiß schon nach wenigen Zeilen Code nicht mehr was er bedeutet. Wie wäre es statt value1 mit enemyCount. So sieht man die Bedeutung auf den ersten Blick.
 

temi

Top Contributor
hi ich hab das problem das ich keine ahnung habe wie ich random punkte erstellen lassen soll und zwar sollen dazu nur so viele punkte erstellt werden wie der user eingegeben hat
Vielleicht mal ein Vorschlag, wie man so eine Aufgabe lösen könnte.

Du möchtest Punkte erstellen. Die Position einen Punktes benötigt bei 2D einen Wert für die x- und Einen für die y-Koordinate. Damit wissen wir schon mal, dass wir zwei Werte benötigen.

Die Punkte sollen zufällige Positionen haben, die beiden Werte sollen also zufällig erzeugt werden. Dafür gibt es mehrere Möglichkeiten, z. B. mit Math.random() oder mit Random.nextInt(). Math.random() liefert einen zufälligen double-Wert zwischen 0 und 1. Da deine Zufallszahlen in einem bestimmten Bereich liegen sollen, musst du da evtl. noch etwas rechnen: Math.random() * (max - min)) + min. Die Formel kannst du dir ja mal mit ein paar Werten ausrechnen und nachvollziehen.

Jetzt weißt du wie du eine Zufallszahl erzeugen kannst. Du benötigst zwei davon, um einen Punkt zu erhalten.

Jetzt musst du das einfach entsprechend der gewünschten Anzahl von Punkte wiederholen.
 

KonradN

Super-Moderator
Mitarbeiter
Dann darf ich meinen Senf wieder dazu geben?

Der erste wichtige Punkt ist, dass man den Algorithmus im Detail verstanden hat: Was muss wann gemacht werden? Dazu schreibt man sich das am Besten auf. Und dann spielt man es zumindest in Gedanken durch. Wenn man Probleme hat, es im Kopf durchzuspielen, dann nutzt man Stift und Papier!

Das ist das A und o einer jeden Softwareenwicklung. Ohne geht es nicht! Ansonsten kommt nur Chaos bei raus - weil einfach zu viel durcheinander geworfen wird (wie die Codebrocken zeigen!).

wie ich random punkte erstellen lassen soll und zwar sollen dazu nur so viele punkte erstellt werden wie der user eingegeben hat
Das kann man also schon etwas beschreiben:
  • Von User Erfragen, wie viele Punkte erstellt werden sollen.
  • Gewünschte Anzahl Punkte erzeugen.

Wie man da evtl. erkennen kann: Da gibt es eine Anzahl Punkte, die eingegeben wird und dann später verwendet wird - das kann man also ggf. schon etwas formalisieren:

  • AnzahlPunkte := Von User erfragen, wie viele Punkte erstellt werden sollen.
  • AnzahlPunkte Punkte erzeugen

Damit hat man einen Algorithmus, den man jetzt 1:1 umsetzen kann. Das beschriebene wäre also einfach etwas wie:
Java:
public static void main(String[] args) {
    int anzahlPunkte = erfrageAnzahlPunkte();
    erzeugePunkte(anzahlPunkte);
}

Einfach und übersichtlich (Mit den Punkten passiert nichts weiter. Aber das liegt ja nur daran, dass deine erste Beschreibung genommen wurde. Das sollte schon gleich richtig formuliert werden!). Jetzt muss man aber natürlich schauen: Was muss in den Methoden rein? Das muss man dann wieder als erstes Beschreiben.

Aus dem Code habe ich gesehen: Es gibt Bedingungen für die Anzahl der Punkte. Und wenn die Anzahl ungültig ist, dann soll wiederholt werden.

Damit hat man etwas wie:
- Starte:
---> AnzahlPunkte = Frage nach Anzahl Punkte.
---> Ist Anzahl Punkte ok, dann gib diese zurück
---> Gib Fehlermeldung aus
---> Fange von "Starte:" wieder an.

Das lässt sich dann wieder 1:1 übersetzen.

Du solltest also genau nachdenken, was genau gemacht werden soll.

Das ist der universelle Ansatz. Damit kannst Du jeden Algorithmus schreiben!
 

XWing

Mitglied
Wow komplizierter als ich dachte aber vielen vielen dank für die ganze hilfe und optionen die ich machen kann und wie ich solche probleme angehen kann in der Zukunft :). Habt mir sehr geholfen danke.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
onlyxlia Anzahl Random Zahlen mit Scanner abfragen und in Array speichern Java Basics - Anfänger-Themen 10
laxla123 Bedeutung int random Java Basics - Anfänger-Themen 3
monsterherz Arbeiten mit Random Java Basics - Anfänger-Themen 12
J Math.Random Java Basics - Anfänger-Themen 9
I aus 2 random zahlen soll nur die ungerade summe der beiden genommen werden. Java Basics - Anfänger-Themen 13
K Problem mit "Random" Java Basics - Anfänger-Themen 5
W Bestimmte Zahlen bei Math.random ausschließen? Java Basics - Anfänger-Themen 31
W n verschiedene Arrays zufällig ausgeben - mit der Random-Klasse? Java Basics - Anfänger-Themen 8
S Math.random funktioniert nicht Java Basics - Anfänger-Themen 5
S Random(x,y,z) Java Basics - Anfänger-Themen 4
alialhajhossein math.random Java Basics - Anfänger-Themen 3
JD_1998 Random Array sortieren mit Hilfe einer Methode Java Basics - Anfänger-Themen 4
L Zufälliges Objekt aus der ArraylList ohne java.util.Random Java Basics - Anfänger-Themen 56
W Random Zahl unter Berücksichtung eines Durchschnitts Java Basics - Anfänger-Themen 7
D Wahrscheinlichkeiten mit Math.random() Methode Java Basics - Anfänger-Themen 1
T Random soll Zufallszahl beibehalten. Java Basics - Anfänger-Themen 11
A Random Double mit Math.round() runden? Java Basics - Anfänger-Themen 1
B Math.random mit Boolean array? Java Basics - Anfänger-Themen 17
I math.random Grenzwerte Java Basics - Anfänger-Themen 2
C Arraywerte random vertauschen Java Basics - Anfänger-Themen 2
E Methoden Math.Random() kürzen ? Java Basics - Anfänger-Themen 2
SchmidiMC Methoden Random in Methode neu generieren lassen Java Basics - Anfänger-Themen 1
J Klassen Math && Random: wie zufällig sind Zufallszahlen? Java Basics - Anfänger-Themen 19
J Operatoren Random wird nur einmal erstellt und dann immer verwendet Java Basics - Anfänger-Themen 2
D Erste Schritte Random erzeugen Java Basics - Anfänger-Themen 28
D Erste Schritte Random Java Basics - Anfänger-Themen 79
Z Problem mit "Random" in Java Java Basics - Anfänger-Themen 12
Z Array-Index einmalig je mit Random füllen Java Basics - Anfänger-Themen 7
J Wie lege ich eine durch Random ausgesuchte Zahl in ein Array? Java Basics - Anfänger-Themen 3
F Erste Schritte Random Zahl auswählen Java Basics - Anfänger-Themen 7
J Methoden Math.random unklar Java Basics - Anfänger-Themen 4
N java.util.Random - Zwei Zahlen mit festgesetzter Wahrscheinlichkeit? Java Basics - Anfänger-Themen 15
Thorwine Erste Schritte Wuerfelspiel mit Math.random() Java Basics - Anfänger-Themen 10
S Math.random() Zufall ? Java Basics - Anfänger-Themen 2
S Random Plattformen erstellen Java Basics - Anfänger-Themen 7
C Erste Schritte Random Wert auslesen und ausgeben Java Basics - Anfänger-Themen 2
H Ist Math.Random() eine Methode oder ein Methodenaufruf (Klausurfrage) Java Basics - Anfänger-Themen 4
I Random Ergebnis ausgeben und Gewinner ausgeben. Java Basics - Anfänger-Themen 3
I Spieler Name eintragen und Random Gewinner Java Basics - Anfänger-Themen 4
A Random String in TextView (Android)? Java Basics - Anfänger-Themen 2
V Random Java Basics - Anfänger-Themen 2
X Problem mit Math.random() Java Basics - Anfänger-Themen 2
S Random IDs immer 10-stellig? Wie? Java Basics - Anfänger-Themen 5
T Random vs. Math.random() Java Basics - Anfänger-Themen 2
R Schaffe es nicht Random-Programmierung zu vollenden. Wo liegt der Fehler in diesem Code? Java Basics - Anfänger-Themen 13
Y Random-Objekt und Swing Java Basics - Anfänger-Themen 4
B Verstehe ZufallInt = (int) (Math.random() * 5 + 1); nicht Java Basics - Anfänger-Themen 9
K Doppelte namen bei random Java Basics - Anfänger-Themen 3
K Einfacher random namen weitergeben Java Basics - Anfänger-Themen 4
B Hilfe bei Greenfoot ( random blickrichtung + vor(); Java Basics - Anfänger-Themen 10
B Variablen Mehrere Zahlen mit unterschiedlicher Wahrscheinlichkeit mit Random auswählen Java Basics - Anfänger-Themen 17
M Random bereich und for schleife Java Basics - Anfänger-Themen 20
Jagson Dotcom Spiel - Dots Random setzen Java Basics - Anfänger-Themen 8
R java.util.Random Java Basics - Anfänger-Themen 8
T Zufallserzeugung mit math.random und speichern in array Java Basics - Anfänger-Themen 29
J Woher kommt das Objekt "Math" bei Math.random(); ? Java Basics - Anfänger-Themen 3
P Typecasting für Ganzzahlige Zufallszahl (Math.random) Java Basics - Anfänger-Themen 2
I Zwei Mal das selbe Objekt per Random :( Java Basics - Anfänger-Themen 7
E Random Java Basics - Anfänger-Themen 7
Q Random Funktion JButtons Java Basics - Anfänger-Themen 6
E Variable neue Random Zahl zuweisen, wenn Button geklickt Java Basics - Anfänger-Themen 5
J Bedeutung von math.random() math.round() Java Basics - Anfänger-Themen 7
K ArrayList random füllen Java Basics - Anfänger-Themen 2
K random problem Java Basics - Anfänger-Themen 3
F Problem Math.random in for-Schleife Java Basics - Anfänger-Themen 8
R (Math.random()*49) zahl darf aber nur einmal gezogen werden Java Basics - Anfänger-Themen 11
B Random() gleiche Zahlen ausschließen Java Basics - Anfänger-Themen 30
T Buttons (auf denen bilder sind) random vertauschen Java Basics - Anfänger-Themen 11
C math.random() Java Basics - Anfänger-Themen 9
R math.random wertebereich 16-21 Java Basics - Anfänger-Themen 3
B Math.random und Strings Java Basics - Anfänger-Themen 13
R Java Random Java Basics - Anfänger-Themen 13
G Zahl erstellen / Random Java Basics - Anfänger-Themen 12
J Random Java Basics - Anfänger-Themen 11
radiac Datentypen RANDOM-punkt setzen INNERHALB eines BEREICHes Java Basics - Anfänger-Themen 2
M Zufallszahlen mit Random Java Basics - Anfänger-Themen 4
K Random Zahlen in ein Feld Java Basics - Anfänger-Themen 4
N java.util.Random Java Basics - Anfänger-Themen 6
Luk10 math.random() Java Basics - Anfänger-Themen 2
walker23m Datentypen Zufällig umsortieren einer Hashmap(random?) Java Basics - Anfänger-Themen 3
M Junit TestCase für Random() Zahlen Java Basics - Anfänger-Themen 6
S Random zahlen mit unter und obergrenze Java Basics - Anfänger-Themen 3
D Problem mit Set, Stack und Random Java Basics - Anfänger-Themen 2
S Skatblatt darstellen durch Random? Java Basics - Anfänger-Themen 48
C Bereich festelgen bei Random Java Basics - Anfänger-Themen 9
H Random-Zahlen Java Basics - Anfänger-Themen 7
L Random Sortierung Java Basics - Anfänger-Themen 9
T random-methode Java Basics - Anfänger-Themen 18
M Random in Swing Java Basics - Anfänger-Themen 24
J Math.random() - kurze frage. Java Basics - Anfänger-Themen 20
J Random Wertebereich Java Basics - Anfänger-Themen 2
B Frage zu Random Java Basics - Anfänger-Themen 21
chik klasse random() Java Basics - Anfänger-Themen 6
B Random Zahlen und Formatierung Java Basics - Anfänger-Themen 6
G Random Zahlen Java Basics - Anfänger-Themen 25
S Diashoow Random Java Basics - Anfänger-Themen 4
G Switch-Case harmoniert nicht mit Random-Zahl Java Basics - Anfänger-Themen 3
Spin 4 stellige random zahl erzeugen Java Basics - Anfänger-Themen 4
G random mit tendenz? Java Basics - Anfänger-Themen 8
hedges Würfelwurf mit java.util.Random ohne 0 Java Basics - Anfänger-Themen 6

Ähnliche Java Themen

Neue Themen


Oben