Wie erzeuge ich eine Zufallszahl zwischen 0 und 8 ?

Status
Nicht offen für weitere Antworten.
H

howtoadd

Gast
hallo an alle....

also ich soll das minesweeper programmieren, das 9x9 groß ist, das feld dazu habe ich, nun möchte ich die mienen
reinsetzen, es sollen 10 minen im feld zufällig verteilt werden.
und das ist auch schon mein problem :?

mein ansatz:

Code:
int zufall1 = 0 ;
int zufall2 = 0 ;

		for (int j = 10; j >= 1; j--) {
			zufall1 = (int) (Math.random()*10);
			zufall2 = (int) (Math.random()*10);
			bt[zufall1][zufall2].setText("*");
		}

so wie das jetzt ist, hätte ich eine fehlermeldung, da ich auf etwas zugreifen will, das nicht geht

wie krieg ich das nun hin? :bahnhof:

das ist mein feld:
Code:
public class MineFeld extends JPanel implements MouseListener {
	JPanel bt[][] = new JPanel[9][9];

	public MineFeld() {
		setLayout(new BorderLayout());
		JPanel panel = new JPanel(new GridLayout(9, 9));
		add(panel, BorderLayout.SOUTH);
		for (int i = 0; i < 9; i++) {
			for (int j = 0; j < 9; j++) {
				panel.add(bt[i][j] = new JPanel());
				bt[i][j].setBorder(BorderFactory.createLineBorder(Color.black));
				bt[i][j].setSize(300, 200);
				bt[i][j].setPreferredSize(new Dimension(50, 50));
				panel.add(bt[i][j]).addMouseListener(this);
			}}
		}

bin dankebar bür jeden tipp[/code]
 

Quaxli

Top Contributor
Die Fehlermeldung wäre schön gewesen.
Vermutlich liegt es aber daran, daß in zeile 11 nur stehen müßte
bt[j] = new JPanel();

Ansonsten frage ich mich, warum Du das mit JPanels realisierst? Da wären ja z. B. JButtons schon mal viel besser.
 

Kim Stebel

Bekanntes Mitglied
bt wird nur bis zum index 8 initialisiert, wenn du also auf irgendwas mit index 9 zugreifen willst bekommst du ne NullPointerException.
 
S

SlaterB

Gast
auf ein JPanel wirst du nicht setText() aufrufen können,
was sollte das bewirken?
 
G

Guest

Gast
bt wird nur bis zum index 8 initialisiert, wenn du also auf irgendwas mit index 9 zugreifen willst bekommst du ne NullPointerException.


ja, das ist mein problem :?

ich hatte das vorher mit JButton, auf Panel hab ich nun gewechselt um später Bilder einführen zu können, wie die Mine z.b.
 

Ark

Top Contributor
Du musst die beiden Schleifen laufen lassen, solange sie kleiner als 10 sind. Eleganter ist es, wenn du sie so lange laufen lässt, bis sie an die Arraygrenzen stoßen:
Code:
for (int i = 0; i < bt.length; i++) {
    for (int j = 0; j < bt[i].length; j++) {
So bleiben die Indizes immer im definierten Bereich.

Ark
 

SebiB90

Top Contributor
also ich sehe das Problem hier:
Code:
zufall1 = (int) (Math.random()*10); 
         zufall2 = (int) (Math.random()*10); 
         bt[zufall1][zufall2].setText("*");
mit *10 bekommst du zahlen von 0 bis 9. Deine Indizies gehen aber nur von 0 bis 8.
Also eins zu weit. also nur *9.
Außerdem ist es dann eine ArrayIndexOutOfBoundsException und keine NullPointerException ;)
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
H Mausbewegungen wie eine echte Maus in 3 dimensionalen Spielen Spiele- und Multimedia-Programmierung 12
temi OpenGL: Eine Kugel Spiele- und Multimedia-Programmierung 7
Taknax Versuche eine Mod von 1.11.2 in 1.12.2 zu porten. Spiele- und Multimedia-Programmierung 1
J noch eine Runde spielen? Spiele- und Multimedia-Programmierung 6
K Wie bekomme ich eine Transition für alle Objekte zum stoppen? Spiele- und Multimedia-Programmierung 1
P Wie kann ich einem Programm hinter eine GUI verstecken? Spiele- und Multimedia-Programmierung 12
J Wie kann man eine grafische Oberfläche erzeugen um eine Textdatei auswählen zu können ?? Spiele- und Multimedia-Programmierung 1
D Iterieren durch einen Ordner mit Audiodateien und verketten eine andere Audiodatei Spiele- und Multimedia-Programmierung 17
C Eine eigene 3d Engine : Shader - aber wie ? Spiele- und Multimedia-Programmierung 2
MABY Eine mp3 Datei in Java abspielen Spiele- und Multimedia-Programmierung 14
B Mit Swing eine Grafische Oberfläche erstellen Spiele- und Multimedia-Programmierung 1
X Minecraft Wie kann ich eine Karte erstellen wie zb:(Bei Minecraft) Spiele- und Multimedia-Programmierung 1
M Wie kann man die Auflösung eine fertigen Programms ändern? Spiele- und Multimedia-Programmierung 1
Furtano Vektoren für Bewegung für eine 2D-Simulation Spiele- und Multimedia-Programmierung 3
TheSorm Collision an einer bestimmten Seite eine Rectangles abfragen Spiele- und Multimedia-Programmierung 3
T Sinusgenerator für eine Hp Spiele- und Multimedia-Programmierung 8
S eine nullpointerexception, wo sie nicht sein sollte Spiele- und Multimedia-Programmierung 12
N Webanwendung als eine Art Spiel Spiele- und Multimedia-Programmierung 8
M Eine Art "Vier Gewinnt" Spiele- und Multimedia-Programmierung 5
B j3d Rotation um mehr als eine Achse Spiele- und Multimedia-Programmierung 9
M Methoden eine Map zu zeichnen Spiele- und Multimedia-Programmierung 5
2 Eine Java App als Midi Device? Spiele- und Multimedia-Programmierung 2
W 3D-APIs für Java - Eine Übersicht Spiele- und Multimedia-Programmierung 8
M Wavefront Object Loader zeigt nur eine Textur an. Spiele- und Multimedia-Programmierung 7
D Problem beim Öffnen einer PHP für eine Highscore Spiele- und Multimedia-Programmierung 5
R JLayer player spielt nur eine mp3 Datei ab Spiele- und Multimedia-Programmierung 1
M Variable die eine Klasse enthält ändern Problem Spiele- und Multimedia-Programmierung 16
G Was genau ist eine Grafikengine? Spiele- und Multimedia-Programmierung 14
radiac Mal eine ganz Doofe Frage... verzeiht :) Spiele- und Multimedia-Programmierung 9
Developer_X Eine Frage zur ViewBesetzung Spiele- und Multimedia-Programmierung 28
G Eine Art Polygon Spiele- und Multimedia-Programmierung 5
B vertikal schreiben oder eine Bilddatei drehen? Spiele- und Multimedia-Programmierung 11
E nur eine Konzeptfrage Spiele- und Multimedia-Programmierung 11
G Ein begrenzter Zeitraum, um eine Eingabe zu tätigen! Spiele- und Multimedia-Programmierung 9
M mehrere PNG in eine Datei Spiele- und Multimedia-Programmierung 3
H Eine gestrichelte Linie Spiele- und Multimedia-Programmierung 3
V Wie bewege ich eine eingefügte Grafik (img) ? Spiele- und Multimedia-Programmierung 2
D Eigentlich eine Umfrage (Pausenanimation) Spiele- und Multimedia-Programmierung 4

Ähnliche Java Themen


Oben