//
//
// Maarten Brakkee
//
//
class Vos extends Dier {
boolean isVos;
static int gegeten;
static int[] eet;
/**
* Deze methode returnt true als dit object een Vos is, en anders returnt deze methode false
*/
public boolean isVos() {
return true;
}
/**
* zorgt dat het dier met kans sterft als het ouder wordt dan
* een zekere, diersoortafhankelijke leeftijd, en anders een jaar
* (tijdstap) ouder wordt. geeft terug of het dier nog leeft.
*/
public boolean verjaar(double kans) {
// wanneer de vos jonger is als 24 en vos sterft niet
if (kans < 24 && Math.random() > ecosys.pvs) {
// tijdstap erbij
kans++;
return true;
// break;
} else {
return false;
}
}
/**
* krijgt een vierkant Dier-grid, met het dier zelf in het midden.
* geeft een int[] terug van lengte 2, met de relatieve-coordinaten (tov het midden)
* van de prooi als er een prooi gegeten wordt (dat gebeurt met de gegeven kans),
* en anders de coordinaten 0,0.
*/
public int[] eet(IDier[][] omgeving, double kans) {
// grid doorlopen
// niet checken is vos zelf
// checken of konijn is
// for aantal konijnen in de buurt
// Math.random() om te kijken of konijn wordt gegeten
// ja, dan stoppen (max 1 konijn)
// nogmaals for loop uitvoeren
// vos eet geen konijn dan coordinaten 0,0
eet[0] = 0;
eet[1] = 0;
return eet;
}
/**
* krijgt een vierkant Dier-grid, met het dier zelf in het midden.
* zoekt in de omgeving een Dier van de zelfde soort
* waarmee voortgepland kan worden (dwz of twee gegeven Dieren van
* dezelfde soort zich kunnen voortplanten is soortafhankelijk
* en hangt af van factoren zoals of ze zich zojuist
* voortgeplant hebben en of ze voldoende gegeten hebben)
* geeft de coordinaat in de omgeving waar het jong
* geplaatst wordt terug (op die coordinaat mag
* nog geen Dier staan). Als er geen voortplanting
* plaatsvindt dan worden de coordinaten 0,0 teruggegeven
*/
public int[] plantVoort(IDier[][] omgeving) {
// dier van zelfde soort in de omgeving
// 6 tijdstappen niet voorgeplant
// samen minstens 3 konijnen op
// jong komt op willekeurige plaats in omgeving
// return coordinaten jong, aantal gegeten konijnen op 0 & break
// geen jong, return coordinaten 0,0
int plantVoort[] = {0,0};
return plantVoort;
}
/**
* Zie de opdracht voor informatie over deze methode
*/
public boolean getKanVoortplanten() {
return false;
}
/**
* Zie de opdracht voor informatie over deze methode
*/
public void setKanVoortplanten(boolean kanVoortplanten) {
}
/**
* Deze methode returnt het aantal consumpties dat dit dier genoten heeft.
*/
public int getGegeten() {
if (Vos.eet[0] == 0 && Vos.eet[1] == 0) {
// als eet gelijk is aan 0,0 (niet eten) dan + 0
} else {
// wel eten (alles behalve 0,0) dan + 1
Vos.gegeten++;
}
return Vos.gegeten;
}
/**
* Deze methode zet het aantal consumpties dat dit dier genoten heeft op nul (0).
*/
public void resetGegeten() {
// de teller van het aantal genoten consumpties van deze vos terug op nul zetten
Vos.gegeten = 0;
}
}