Stránka sa načítava, prosím čakajte…
© 2005 – 2024 Roman Horváth, všetky práva vyhradené. Dnes je 18. 4. 2024.
Dátum: 4. 8. 2018, pred niekoľkými rokmi, aktualizované: 30. 7. 2020, pred štyrmi rokmi
Projekt ukazuje jednoduchú implementáciu ovládania robota klávesnicou (kurzorovými šípkami) s pridaním niekoľkých spestrujúcich prvkov:
- zmena polohy pera (položenie/zdvihnutie medzerníkom; predvolene je, v tomto projekte, pero zdvihnuté),
- zmena hrúbky čiary (klávesmi 1 až 3; tento robot má predvolenú hrúbku pera 1,5 bodu),
- zmena farby pera (klávesmi Q, W, E, R; tento robot má predvolenú modrú farbu pera).
Zmena farby a hrúbky čiary pera je automaticky premietnutá do kreslenia tvaru robota (v prípade hrúbky čiary len pri dutom tvare robota). Zmena polohy pera je indikovaná programovo – zmenou kreslenia dutého (pri zdvihnutom pere) alebo vyplneného (pri položenom pere) tvaru.
~
import knižnica.GRobot; import static knižnica.Svet.*; import static knižnica.Kláves.*; import static knižnica.ÚdajeUdalostí.*; public class ChodiacaFarbička extends GRobot { private ChodiacaFarbička() { super(400, 300); zdvihniPero(); predvolenýTvar(false); hrúbkaČiary(1.5); farba(modrá); ohranič(); } @Override public void stlačenieKlávesu() { switch (kláves()) { case HORE: rýchlosť(10.0); break; case DOLE: rýchlosť(-10.0); break; case VPRAVO: uhlováRýchlosť(-15.0); break; case VĽAVO: uhlováRýchlosť(15.0); break; case MEDZERA: if (peroPoložené()) { zdvihniPero(); predvolenýTvar(false); } else { položPero(); predvolenýTvar(true); } break; case VK_NUMPAD1: case VK_1: hrúbkaČiary(0.5); break; case VK_NUMPAD2: case VK_2: hrúbkaČiary(1.5); break; case VK_NUMPAD3: case VK_3: hrúbkaČiary(3.0); break; case VK_Q: farba(červená); break; case VK_W: farba(zelená); break; case VK_E: farba(modrá); break; case VK_R: farba(čierna); break; } } @Override public void uvoľnenieKlávesu() { switch (kláves()) { case HORE: case DOLE: rýchlosť(0.0); break; case VPRAVO: case VĽAVO: uhlováRýchlosť(0.0); break; } } public static void main(String[] args) { použiKonfiguráciu(); new ChodiacaFarbička(); if (prvéSpustenie()) zbaľ(); } }
Výsledok
Ukážka okna po spustení a chvíľke „hrania.“