Ich glaube nicht, dass das so funktionieren wird. "willig" wird nur auf true gesetzt, wenn "t_willig" auf 1000 steigt. Allerdings wird diese Stelle des Codes nicht erreicht, da Zeile 4 die Methode verlässt, wenn sie nicht willig ist.
Außerdem überprüfst du nur, ob eine Ratte da ist (Zeile 6), nicht ob diese auch weiblich ist.
Für den Zufallsfaktor schaust du dir am besten mal die Methode Greenfoot.getRandomNumber(int x) an, die eine Zufallszahl zwischen 0 und x-1 zurückgibt.
Wenn dir die Methode zu viel Zeitaufwand ist, wie mir jedes mal, füge einfach die folgende Methode hinzu und du kannst die Zufallszahl einfach mit r(zahl) erzeugen:
Falls dich das noch nicht weiterbringt, noch folgende Zeile (sonst einfach beim Lesen überspringen^^)
---> Erzeuge eine Zufallszahl und überprüfe mittels eines if-Statements, welches Geschlecht erzeugt werden soll.
Was ich dir sonst noch raten würde ist, das Geschlecht der Ratten als Variable zu speichern und sie nicht als eigene Klasse zu definieren. Vielleicht möchtest du später die (noch unfruchtbaren) Kinder einzeln haben, da diese noch keine Nachkommen zeugen können und vielleicht ein kleineres Bildes haben sollen.
private int r(int s) { return Greenfoot.getRandomNumber(s); }