Buonasera da poco ho iniziato a lavorare in java, mi sono trovato difronte ad un problema semantico, che non riesco a risolvere. Devo realizzare un generatore di oggetti. La classe è la seguente:
public class GeneratoreOggettiRandom {
private final int numNemici = 2;
private Random r;
private ArrayList<EnemyFirstLevel> enemyFirstLevel;
private ArrayList<EnemySecondLevel> enemySecondLevel;
public GeneratoreOggettiRandom() {
r = new Random();
enemyFirstLevel = new ArrayList<EnemyFirstLevel>();
enemySecondLevel = new ArrayList<EnemySecondLevel>();
}
public void genera() {
int OggettiDaGenerare = r.nextInt(numNemici);
if (OggettiDaGenerare == 0) {
EnemyFirstLevel Buzzy = new EnemyFirstLevel("/Image/nemici/Buzzy Beetle.png", MainFrame.larghezza, 370, 30, 24);
Buzzy.setX(MainFrame.larghezza + Buzzy.getWidth());
enemyFirstLevel.add(Buzzy);
} else {
EnemySecondLevel chomp = new EnemySecondLevel("/Image/nemici/Chomp.png", MainFrame.larghezza, 370, 50, 20);
chomp.setX(MainFrame.larghezza + chomp.getWidth());
enemySecondLevel.add(chomp);
}
}
public void drawOggettiGeneratiRandom(Graphics g) {
for (int i = 0; i < enemyFirstLevel.size(); i++) {
enemyFirstLevel.get(i).disegna(g);
}
for (int i = 0; i < enemySecondLevel.size(); i++) {
enemySecondLevel.get(i).disegna(g);
}
}
}
In tale classe effettuo due operazioni, quella di disegno degli oggetti, e l'operazione di genera(), che mi consente di generare oggetti, in questo caso in maniera random. Il problema è che non sono sicuro se il metodo genera così implementato sia semanticamente corretto. Nel caso io volessi generare n oggetti che hanno tutti caratteristiche diverse tra cui anche la posizione, la dimensione ecc, come dovrei impostare tale classe?
Grazie in anticipo