Príloha 12 – posledná verzia triedy HlavnáTrieda
Prevziať
HlavnáTrieda
public class HlavnáTrieda extends GRobot
{
private final Prievozník prievozník = new Prievozník();
private final Pasažier vlk = new Pasažier("vlk", 0, 0, 0, 65, 200, 10);
private final Pasažier koza = new Pasažier("koza", 0, -10, -5, 50, 280, 10);
private final Pasažier kapusta = new Pasažier("kapusta", 0, -25, 0, 25, 360, 10)
{
@Override public boolean myšV()
{
skoč(0, -30);
boolean myšV = myšVKruhu(45);
skoč(0, 30);
return myšV;
}
};
private HlavnáTrieda()
{
super(800, 300, "Prievozník…");
svet.zbaľ();
prievozník.choďNaPravý();
vlk.choďNaPravý();
koza.choďNaPravý();
kapusta.choďNaPravý();
new ObsluhaUdalostí()
{
@Override public void klik()
{
if (vlk.myšV())
{
vlk.choď();
vlk.vydajZvuk();
}
else if (koza.myšV())
{
koza.choď();
koza.vydajZvuk();
}
else if (kapusta.myšV())
{
kapusta.choď();
kapusta.vydajZvuk();
}
else if (prievozník.myšV())
{
prievozník.prejdiRieku();
prievozník.vydajZvuk();
}
}
};
nakresliProstredie();
aktivuj();
}
@Override public void aktivita()
{
if (vlk.vPohybe() || koza.vPohybe() || kapusta.vPohybe() ||
prievozník.vPohybe()) return;
if (vlk.ľavýBreh() && koza.ľavýBreh() && kapusta.ľavýBreh())
{
deaktivuj();
svet.správa("Všetci pasažieri sú úspešne prevezení na ľavý breh!");
}
if (vlk.pozícia() == koza.pozícia() &&
kapusta.pozícia() != vlk.pozícia() &&
prievozník.pozícia() != vlk.pozícia())
{
deaktivuj();
svet.správa("Vlk zožral kozu!");
}
if (koza.pozícia() == kapusta.pozícia() &&
vlk.pozícia() != koza.pozícia() &&
prievozník.pozícia() != kapusta.pozícia())
{
deaktivuj();
svet.správa ("Koza zožrala kapustu!");
}
}
private void nakresliProstredie()
{
skry();
// Obloha
podlaha.vyplň(tyrkysová);
// Voda
skočNa(0, -100);
farba(modrá);
vyplňObdĺžnik(405, 55);
// Ľavý breh
farba(tmavozelená);
skočNa(-350, -50);
for (int i = 0; i < 5; ++i)
{
vyplňElipsu(200, 60);
choď(-15, -30);
}
// Pravý breh
skočNa(350, -50);
for (int i = 0; i < 5; ++i)
{
vyplňElipsu(200, 60);
choď(15, -30);
}
// Slnko
farba(svetložltá);
skočNa(-220, 180);
kruh(95);
}
public static void main(String[] args)
{
new HlavnáTrieda();
}
}