Príloha 10 – prvé verzie tried Prievozník, Pasažier a HlavnáTrieda
Prevziať
Prievozník
public class Prievozník extends AnimovanýObjekt
{
private final static int rozptylBrehov = 90;
private final static int posunGrafikyX = -30;
private final static int posunGrafikyY = 10;
private final static int posunPopisuX = -30;
private final static int posunPopisuY = 115;
public Prievozník()
{
super("prievozník", posunGrafikyX, posunGrafikyY,
posunPopisuX, posunPopisuY);
domov(50, -25, 0); // domovská pozícia [x, y] a domovský uhol
zrýchlenie(2, false);
nastavĽavý(domaX() - rozptylBrehov, domaY());
nastavPravý(domaX() + rozptylBrehov, domaY());
prievozník(this);
}
public void prejdiRieku()
{
if (pravýBreh())
choďNaĽavý();
else
choďNaPravý();
}
}
Pasažier
public class Pasažier extends AnimovanýObjekt
{
public Pasažier(String meno, double posunX, double posunY,
double posunPopisuX, double posunPopisuY,
double pozíciaNaBrehuX, double pozíciaNaBrehuY)
{
super(meno, posunX, posunY, posunPopisuX, posunPopisuY);
umožniAnimáciuChôdze();
pozíciaNaBrehu(pozíciaNaBrehuX, pozíciaNaBrehuY);
}
public void pozíciaNaBrehu(double x, double y)
{
nastavĽavý(-x, y);
nastavPravý(x, y);
}
public void choď()
{
switch (pozícia())
{
case pravýBreh:
if (prievozník().pravýBreh())
choďNaPrievozníka();
break;
case ľavýBreh:
if (prievozník().ľavýBreh())
choďNaPrievozníka();
break;
case prievozník:
if (prievozník().ľavýBreh())
choďNaĽavý();
else
choďNaPravý();
break;
}
}
}
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);
private HlavnáTrieda()
{
super(800, 300, "Prievozník…");
svet.zbaľ();
prievozník.choďNaPravý();
vlk.choďNaPravý();
koza.choďNaPravý();
kapusta.choďNaPravý();
}
public static void main(String[] args)
{
new HlavnáTrieda();
}
}