Beispiel #1
0
//services
void BurungUnta::Reaction(MakhlukHidup& M) {
	if (getPosisi() == M.getPosisi()) {
		if (get_DNA() == M.get_DNA()) {
			setMati(true);
		} else {
			if (isPredator(M.get_DNA())) {
				setMati(true);
			} else if (isTarget(M.get_DNA())) {
				set_tingkat_kekenyangan(get_maks_tingkat_kekenyangan());
			}
		}
	} else {
		if (isRadius(2,M.getPosisi())) {
			if (isPredator(M.get_DNA())) {
				prosesMempercepat();
				gerak_bebas(getPosisi());
			}
		} else {
			set_Kecepatan(kecepatan_BurungUnta);
		}
	}

}
Beispiel #2
0
bool Herbivora::berlari(MakhlukHidup M) {
	bool stop = false;
	int i = 1;

	if (isPredator(M)) {
		while (i < 10 && !stop) {
			if (gerak_berarah(getPosisi(),i) == M.getPosisi()) {
				stop = true;
			} else {
				i++;
			}
		} //i >= 10 || stop
		return (i >= 10);
	} else {
		return false;
	}
}