TlačiťTlačiť Slovenčina English Hľadať RSS

© 2005 – 2024 Roman Horváth, všetky práva vyhradené. Dnes je 3. 5. 2024.

Stránka sa načítava, prosím čakajte…

Dátum: 6. 3. 2019, pred piatimi rokmi, aktualizované: 13. 3. 2019, pred piatimi rokmi

~

import knižnica.*;

public class SkákajúciŠtvorec extends GRobot
{
	private boolean naPlošine = false;

	private final static Zoznam<Plošina> plošiny =
		new Zoznam<>();

	private SkákajúciŠtvorec()
	{
		for (int i = 0; i < 3; ++i)
			plošiny.pridaj(new Plošina());

		ohranič();
		zdvihniPero();
		hrúbkaČiary(2);
		veľkosť(30);
		maximálnaRýchlosť(20);
	}

	@Override public void klik()
	{
		aktivuj();
	}

	@Override public void aktivita()
	{
		naPlošine = false;

		Bod bod = poloha();
		bod.poloha(bod.polohaX(), bod.polohaY() - veľkosť());

		for (Plošina plošina : plošiny)
		{
			if (plošina.bodV(bod))
			{
				polohaY(plošina.polohaY() + veľkosť() + 20);
				naPlošine = true;
				break;
			}
		}

		if (naPlošine)
		{
			zrýchlenie(0);
			rýchlosť(0);
		}
		else zrýchlenie(-1);
	}

	@Override public void kresliTvar()
	{
		štvorec();
	}

	@Override public void stlačenieKlávesu()
	{
		switch (ÚdajeUdalostí.kláves())
		{
		case Kláves.VĽAVO: rýchlosťPosunu(-10); break;
		case Kláves.VPRAVO: rýchlosťPosunu(10); break;
		case Kláves.MEDZERA:
			if (naPlošine) rýchlosť(15);
			break;
		}
	}

	@Override public void uvoľnenieKlávesu()
	{
		switch (ÚdajeUdalostí.kláves())
		{
		case Kláves.VĽAVO: case Kláves.VPRAVO:
			rýchlosťPosunu(0); break;
		}
	}

	public static void main(String[] args)
	{
		Svet.použiKonfiguráciu("SkákajúciŠtvorec.cfg");
		new SkákajúciŠtvorec();
	}
}

 

~

import knižnica.*;

public class Plošina extends GRobot
{
	public Plošina()
	{
		hrúbkaČiary(2);
		veľkosť(Svet.náhodnéCeléČíslo(50, 100));
		náhodnáPoloha();
		if (polohaY() > 0) polohaY(-polohaY());
	}

	public boolean bodV(Poloha bod)
	{
		return bodVObdĺžniku(bod, veľkosť(), 20);
	}

	@Override public void kresliTvar()
	{
		obdĺžnik(veľkosť(), 20);
	}
}

Ukážka

obrázok

Štvorec reprezentuje postavičku, obdĺžniky plošiny, od ktorých sa smie odrážať. Postavička (štvorec) padá, kým sa nezastaví na plošine (ak prepadne cez spodnú časť plochy, objaví sa naspäť vo vrchnej). Medzerníkom môže postavička vyskočiť, keď stojí na plošine.