16.10. Pravimo igricu: Druga varijanta lova na pčelicu
Kreirati igricu - aplikaciju u kojoj će korisnik da klikom na sličicu (pčelica) skupljati poene. Klikom na sliku glavnog lika, sem dobijanja poena, treba da se lik pomeri na slučajnu poziciju na formi.
Postaviti dugmiće za promenu smera kretanja (gore, dole, desno, levo) , dugmiće za ubrzanje i usporenje kretanja, kao i za zaustavljanje i pokretanje, i naravno, dugme za kraj i izlazak iz igrice.
Postaviti textBox u kojem će korisnik moći da unese broj poena koji se dobija prilikom klika na glavni lik, a kroz Property postaviti početni Text da je 10 - ako korisnik ne unese ništa, da se za svaki klik dovije po 10 poena.
Ako glavni lik prilikom kretanja dođe do ivice forme, tada treba da se odbije i da nastavi da se kreće u suprotnom smeru.
1️⃣ pogledajte predlog kako to može da izgleda

- Kreirati novu Windows Forms Aplikaciju, nazvati je npr. pcelica2, u svom folderu na disku
- Na Internetu potražiti sliku pčelice (animirani gif ako može - da maše krilima, sa transparentnom pozadinom, ali može i nešto drugo) i sačuvati u svom folderu (jedan mogući izvor sličice je na primer: https://bestanimations.com/Animals/Insects/Bees/bee-animated-gif-36.gif)
- U Toolbox-u pronaći PictureBox i postaviti na formu: mala strelica na okviru omogućava postavljanje željene slike u box ( prvo Size Mode - StretchImage, a zatim : Choose Image... - Project resourse file - Import...) --- smanjite ili povećajte sliku po želji, (Paint 3D može da posluži za to)
- Name za pictureBox postaviti da je player
- Postaviti dugmiće i svakom dodeliti odgovarajuće nazive i tekst koji na njima treba da piše
- Postavit textBox i nazvati ga tbPoen i u Text kroz Property upisati 10
- postaviti Labele za objašnjenja šta je šta, kao i labelu u kojoj će biti prikazan trenutni broj bodova - tu labelu nazvati lblPoeni
- Čak i pre konsrtuktora postaviti celobrojne promenljive koje će nam služiti za određivanje smera kretanja u X i u Y smeru, kao i promenljive za poene, i korak kretanja - koliko piksela glavni lik pređe za svaki od tik-tak tajmera int poeni, smerX, smerY, korak=5;
- naravno - postaviti i jedan tajmer - prevući ga na formu ostaviti sve ostalo od njegovih opcija - menjat će se na nekom drugom mestu
- dvoklikom na dugme se kreira metoda - odgovor na to šta se dešava prilikom klika na dato dugme prilikom rada aplikacije:
- btnKraj: this.Close();
- btnStart: timer1.Enabled = true;
- btnStop: timer1.Enabled = false;
- Objašnjenje: kretanje se vrši na svaki tik tajmera po malo - pa ako se tajmer zaustavi tada nema ni kretanja
- btnDesno: smerX = 1;
- btnLevo: smerX = -1;
- btnDole: smerY = 1;
- btnGore: smerY = -1;
- objašnjenje: za svaki tik tajmera imamo kretanje glavnog lika po formuli: player.Left += (smerX * korak); i player.Top += (smerY * korak);
- postaviti šta se dešava ako se klikne na sliku glavnog lika - dvoklikom na sliku će da se generiše metoda - šta će da se desi kada korisnik klikna na sliku - tu treba da se dodaju poeni i to tako što se uzme vrednost iz textBoxa i to se onda nadoda na postojeći broj poena. Sem toga, treba da se glavni lik pomeri na dlučajnu poziciju na formi - koristiti klasu Random, kao u zadatku sa jednog od prethodnih časova
- Na kraju, za svaki od tikova tajmera treba da se radi pomeranje glavnog lika.
- player.Left += (smerX * korak);
player.Top += (smerY * korak);
- player.Left += (smerX * korak);
- A ako glavni lik htedne da izađe iz forme, ne dozvoliti mu
- odbijanje od ivica forme
- if ((smerX == 1)&&(player.Right >= this.Width))
{
smerX = -1;
} - if ( (smerX==-1) && (player.Left <= 0) )
{
smerX = 1;
} - isto to uraditi i za gore i dole ....
Ovde su navedene samo smernice po kojima je rađen zadatak na času, ali nije navedeno kompletno rešenje, da ne bi došlo do kopiranja koda u domaći zadatak.
.. -- .