Hallo!
Ich habe ein BrickBreaker Spiel programmiert (Naja jedenfalls bin ich dabei). Nun möchte ich das alle Steine eine andere Farbe haben. Hier erst einmal dass was ich bis her in meiner MapGenerator Klasse habe:
In meiner Klasse wird beim Spielstart eine Zufällige Farbe ausgewählt mit der alle Steine eingefärbt werden. Da diese Klasse sehr oft im Spiel aufgerufen wird, würde sich wenn ich den Random unten in die Methode schreibe, die Farbe jedes Steins andauerd ändern. (ausprobiert). Das will ich aber nicht. Wie gesagt: Jeder Stein soll eine zufällige Farbe erhalten, die sich während des Spiels NICHT ändern soll.
Ich hoffe ich habe es nicht zu kompliziert erklärt.
Vielen Dank schonmal.
Ich habe ein BrickBreaker Spiel programmiert (Naja jedenfalls bin ich dabei). Nun möchte ich das alle Steine eine andere Farbe haben. Hier erst einmal dass was ich bis her in meiner MapGenerator Klasse habe:
Java:
package com.ludevstudio.brickbreaker;
import java.awt.BasicStroke;
import java.awt.Color;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.Shape;
import java.awt.Stroke;
import java.util.Random;
public class MapGenerator {
public int map[][];
public int brickWidth;
public int brickHeight;
int color;
public MapGenerator(int row, int col) {
map = new int[row][col];
for(int i = 0; i<map.length; i++) {
for(int j = 0; j<map[0].length; j++) {
map[i][j] = 1;
}
Random random = new Random();
color = random.nextInt(9);
}
brickWidth = 700/col;
brickHeight = 300/row;
}
public void setBrickValue(int value, int i, int j) {
map[i][j] = value;
}
public void draw(Graphics2D g) {
for(int i = 0; i<map.length; i++) {
for(int j = 0; j<map[0].length; j++) {
if(map[i][j]>0) {
if(color==0) {
g.setColor(Color.WHITE);
} else if(color==1) {
g.setColor(Color.YELLOW);
} else if(color==2) {
g.setColor(Color.ORANGE);
} else if(color==3) {
g.setColor(Color.RED);
} else if(color==4) {
g.setColor(Color.BLUE);
} else if(color==5) {
g.setColor(Color.GREEN);
} else if(color==6) {
g.setColor(Color.GRAY);
} else if(color==7) {
g.setColor(Color.PINK);
} else if(color==8) {
g.setColor(Color.MAGENTA);
} else if(color==9) {
g.setColor(Color.cyan);
}
g.fillRect(j*brickWidth+50, i*brickHeight+60, brickWidth, brickHeight);
g.setStroke(new BasicStroke(3));
g.setColor(Color.black);
g.drawRect(j*brickWidth+50, i*brickHeight+60, brickWidth, brickHeight);
}
}
}
}
}
Ich hoffe ich habe es nicht zu kompliziert erklärt.
Vielen Dank schonmal.