Bekomme immer wieder diese Fehlermeldung beim ausführen meines Programms. Könnt ihr mir weiterhelfen?
Ziel des Programms ist es ein Labyrinth zu erstellne und über eine Grafikausgabe auszugeben.
Vielen Dank schonmal im vorraus:
Euer Urmel
Ziel des Programms ist es ein Labyrinth zu erstellne und über eine Grafikausgabe auszugeben.
Vielen Dank schonmal im vorraus:
Euer Urmel
Java:
import java.awt.Color;
import java.awt.Graphics;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class Labyrinth extends JPanel {
private int[][] maze;
private int rows;
private int cols;
public Labyrinth(int rows, int cols) {
this.rows = rows;
this.cols = cols;
this.maze = new int[rows][cols];
generateMaze(0, 0);
}
private void generateMaze(int x, int y) {
maze[x][y] = 1;
int[] neighbors = new int[] {-1, 0, 1, 0, -1};
for (int i = 0; i < 4; i++) {
int dx = neighbors[i];
int dy = neighbors[i+1];
int nx = x + dx;
int ny = y + dy;
if (nx < 0 || ny < 0 || nx >= rows || ny >= cols || maze[nx][ny] == 1) {
continue;
}
maze[x + dx/2][y + dy/2] = 1;
generateMaze(nx, ny);
}
}
@Override
public void paintComponent(Graphics g) {
super.paintComponent(g);
int cellSize = 20;
// Draw maze
g.setColor(Color.BLACK);
for (int i = 0; i < rows; i++) {
for (int j = 0; j < cols; j++) {
if (maze[i][j] == 0) {
g.fillRect(j*cellSize, i*cellSize, cellSize, cellSize);
}
}
}
// Draw start and end points
g.setColor(Color.GREEN);
g.fillRect(0, 0, cellSize, cellSize);
g.setColor(Color.RED);
g.fillRect((cols-1)*cellSize, (rows-1)*cellSize, cellSize, cellSize);
}
public static void main(String[] args) {
Labyrinth l = new Labyrinth(10, 10);
JFrame f = new JFrame();
f.setSize(300, 300);
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.add(l);
f.setVisible(true);
}
}