//
//
// Maarten Brakkee
//
//
class Ecosysteem implements IEcosysteem {
double pks = 0.3; // kans Konijn Sterft
double pvs = 0.4; // kans Vos Sterft
double pvek = 0.9; // kans Vos Eet Konijn
IDier[][] Wereld;
int nrrijen;
int nrkolommen;
int konijnen;
int vossen;
public void Ecosysteem(int hoogte, int breedte, int aantalKonijnen, int aantalVossen) {
nrrijen = hoogte;
nrkolommen = breedte;
konijnen = aantalKonijnen;
vossen = aantalVossen;
Wereld = new IDier[nrrijen][nrkolommen];
// konijnen plaatsen
for (int tellerKonijnen = 0; tellerKonijnen < konijnen; tellerKonijnen++) {
boolean konijnNietGeplaatst = true;
while(konijnNietGeplaatst) {
// willekeurige cel controleren of deze gebruikt wordt
int randomRij = (int)(Math.random()*nrrijen);
int randomKolom = (int)(Math.random()*nrkolommen);
if (Wereld[randomRij][randomKolom] != null) {
// afbreken & nog een keer random, cel is al bezet
break;
} else {
// konijn plaatsen
Wereld[randomRij][randomKolom] = new Konijn();
Wereld[randomRij][randomKolom].isKonijn = true;
konijnNietGeplaatst = false;
}
}
}
// vossen plaatsen
for (int tellerVossen = 0; tellerVossen < vossen; tellerVossen++) {
boolean vosNietGeplaatst = true;
while(vosNietGeplaatst) {
// willekeurige cel controleren of deze gebruikt wordt
int randomRij = (int)(Math.random()*nrrijen);
int randomKolom = (int)(Math.random()*nrkolommen);
if (Wereld[randomRij][randomKolom] != null) {
// afbreken & nog een keer random, cel is al bezet
break;
} else {
// konijn plaatsen
Wereld[randomRij][randomKolom] = new Vos();
Wereld[randomRij][randomKolom].isVos = true;
vosNietGeplaatst = false;
}
}
}
}
/**
* Simuleert 1 tijdstap, in de tijdstap kunnen achtereenvolgens:
* 1. vossen konijnen opeten;
* 2. dieren zich voortplanten;
* 3. dieren sterven of ouder worden; en
* 4. zet elk levend dier een stap naar een willekeurig aangrenzend leeg veld.
*/
public void run() {
// vossen kunnen konijnen opeten
// dieren kunnen zich voortplanten
// konijnen
// vossen
// sterven of ouder worden
// levend dier zet stap willekeurig leeg veld of blijft staan
}
// deze wereld afdrukken
public void afdrukken() {
for (int rij = 0; rij < nrrijen; rij++) {
for (int kolom = 0; kolom < nrkolommen; kolom++) {
if (Wereld[rij][kolom].isKonijn) {
System.out.print("K");
} else if (Wereld[rij][kolom].isVos) {
System.out.print("V");
} else {
System.out.print("*");
}
}
System.out.println();
}
}
public static void main(String[] args) {
// hoofdprogramma
Ecosysteem w = new Ecosysteem();
w.Ecosysteem(10,10,2,2);
w.afdrukken();
}
}