13. vaje: KAČA (01. 06. - 08. 06.)

Igra Kača

V igri Kača se kača premika po igrišču in išče hrano. Ko poje nastavljeno hrano, zraste. Premikanje kače usmerjamo s pomočjo smernih puščic. Če se kača zaleti v rob igrišča, se poškoduje in igra se konča. Podobno je konec igre tudi v primeru, ko kača ugrizne samo sebe (z glavo se zaleti v svoj rep).

Program Kaca sestavljata dve datoteki: Kaca.java in Igrisce.java, v katerih je že nastavljeno ogrodje igrice in osnova animacije. Dopolnite program tako, da boste v celoti realizirali igro Kača.

  1. Datoteki Kaca.java in Igrisce.java prenesite v svoj računalnik in ustvarite projekt Kaca v okolju NetBeans. Preglejte razred Kaca, da boste razumeli, kaj naredi. Razreda Kaca ni potrebno dopolnjevati ali spreminjati. Preglejte tudi razred Igrisce.
  2. Dopolnite metode v razredu Igrisce tako, da izrišete glavo kače (dopolniti je potrebno metodi zacniIgro() in paintComponent()). Glavo kače lahko izrišete kot rdeč krogec, ki je tako velik kot ena celica igrišča. Glava kače naj se na začetku nahaja na neki naključni začetni poziciji.
  3. Poskrbite tudi, da se bo glava kače premikala po igrišču od njene začetne pozicije v desno, dokler ne zadane roba igrišča. Potem naj se igra konča in izpiše sporočilo o koncu igre. Zato dopolnimo metode premakni(), preveriTrk() ter paintComponent() za izpis sporočila ob koncu igre.
  4. Omogočite igralcu spreminjanje smeri glave kače s pomočjo smernih tipk (dopolnite metodo keyPressed()). Kača se vedno lahko obrne v tri smeri, nikoli pa ne more nazaj v smer, iz katere prihaja (npr. če gre kača v desno, ne moremo pritisniti tipke levo). Pri tem ne pozabite dopolniti tudi metod premakni() in preveriTrk().
  5. Omogočite igralcu, da ob koncu igre s tipko Enter začne novo igro, s tipko ESC pa konča program (ustrezno dopolnite metodo keyPressed()).
  6. V program dodajte še hrano za kačo. Pozicija hrane je naključna. Pri premiku kače preverite, ali je kača pojedla hrano. V tem primeru nastavite novo hrano.
  7. Dopolnite ustrezne metode tako, da kači izrišete tudi rep ter poskrbite za ustrezno premikanje kače (glave in repa).
  8. Ko kača poje hrano, naj zraste za en člen (dolžina repa se kači poveča za ena). Pri premikanju kače preverite, ali je kača morda ugriznila samo sebe.
  9. Program dopolnite tako, da bo podlaga igrišča neka slika (npr. slika trave, tako da se bo kača premikala po travi).

Slika igre Kača
Slika prikazuje igrico, realizirano do točke 8 (brez slike za podlago).