// // // 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; } }