Sprogramirajmo igrico: napad vesoljčkov

 

Načrtali bomo igrico tipa "!napad vesoljčkov". Postavimo si zahteve zanjo: 
  1. Imamo branilca, ki se pomika na dnu okna levo desno v skladu s premikanjem miške.
  2. Kadarkoli kliknemo na miško, sproži branilec kroglo.
  3. Z vrha zaslona se bosta spuščali dve vrsti vesoljčkov. Pomikali se bodo po zaslonu in izginili, ko dosežejo dno zaslona.
  4. Vesoljčki bodo naključno spuščali bombe
  5. Če bomba zadene branilca, ta zgubi eno od svojih življenj.
  6. Če krogla zadene vesoljčka, mora ta izginiti ali eksplodirati, branilec pa dobi 10 točk.
  7. Če izgubi branilec vsa življenja, se igra konča.
  8. Če vesoljčki dosežejo dno zaslona, se igra konča.

Načrtovanje igre

 

java game programming tutorial use cases

Naslednji korak je, da si grafično in poenostavljeno predstavimo, kaj se bo dogajalo v programu. Tako se bo vesoljček moral premikati, metati bom,be, ugotoviti, če je zadet. 

java game programming tutorial use cases

V programu bomo imeli tudi krogle (bullet). Vedeti bomo morali začetno točko krogle oziroma koordinate x,y. Krogla se bo moral apremikati. . Vedeti bomo morali, ali je krogla zadela vesoljčka oziroma, ali je že izginila z zaslona.. Seveda zadetek krogle v vesoljčka pomeni, da se bo ta moral spremeniti ali celo izginiti.  Verjetno bomo morali tudi šteti točke itd. Na vse zaenkrat še ne moremo pomisliti in bomo to počasi dopolnjevali .

java game programming tutorial use cases

Tudi branilec se mora premikati (levo, desno) glede na premike miške. Moral bo izstreljevati krogle na vesolčke. Šteti bomo morali življenja branilca. Branilcu bomo dali neko poljubno število življenj, morda 10. Kasneje to lahko spremenimo. Morda se odločimo, da bomo za krmiljenje igre uporabili tipkovnico. Branilca bi lahko premikali s smernimi tipkami key.RIGHT in key.LEFT , s presledkom pa bi izstreljevali krogle.

java game programming tutorial use cases

Imeli bomo bombe. Te moramo prožiti (trigger). To bi se lahko dogajalo v naključnih časovnih intervalih na primer  vsakih  4 ali 5 sekund. Vedeti bi morali, kje se v takem trenutku nahaja branilec. Bombo bomo morali pomikati in igotoviti, ali je bil branilec zadet.  Morda lahko upoštevamo, ali bomba zadene kroglo branilca. 

Morda upoštevamo še, ali smo trčili v branilca.  Skratka, igrico lahko zakompliciramo poljubno.

Razredni diagrami

java game programming tutorial class diagram

Za vse vrste predmetov oziroma objektov, kot so vesolcki, bombe, krogle, branilci, naredimmo lahko grafično predstavitev razredov. Vsak razred ima neke lastnosti (spremenljivke) in metode, Na sliki je prikazan razredni diagram našega branilca. V njem vidimo, katere spremenljivke in katere metode bomo uporabili. Tako smo predvideli njegov položaj, število življenj in velikost, da bomo lahko ugotovili, ali smo ga zadeli.  Z metodo  isHit bomo ugotavljali, ali je branilec zadet, Z metodo  fire() bomo izstreljevali krogle. Metoda move bo branilca premikala, z metodo drawDefender ga bomo risali na zaslon..

Narišimo še razredne diagrame za ostale predmete  naše igrice. Nato se lotimo programiranja!