Daha önce c++ ile konsolda çakma bir packman denemem olmuştu(yarım bırakmıştım :-/ ). Onda kullandığım yapay zeka aşağıdaki şekilde idi. "if (sayac % 20000 == 0)" hızını ayarlamak için. Yeni öğrendiğim daha güzel bir çözümse "if (rand() % 4 == 0)" gibi olanı. Bu sayede level atladıkça mod değeri 1 azaltılarak dusman git gide daha de zeki hale getirilebilir. Bunu en yakın zamanda D ile yazmaya başlayacağım diziler ve gotoxy() ile uğraşmamın sebebi bunun için. kbhit() için çözüm bulabilmiş değilim.
void Dusman::ilerle(Kahraman *pKahraman)
{
int dusmanX = getX();
int dusmanY = getY();
sayac++;
if (sayac % 20000 == 0)
{
sil();
if (pKahraman->getX()>dusmanX)
dusmanX++;
else if(pKahraman->getX()<dusmanX)
dusmanX--;
if (pKahraman->getY()>dusmanY)
dusmanY++;
else if (pKahraman->getY()<dusmanY)
dusmanY--;
sayac = 0;
}
setXY(dusmanX,dusmanY);
ciz();
}
--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]