Linkovi ka objašnjenjima za pojedine pojmove:

Zadatak:

  1. kreirati windows forms aplikaciju koja na sebi ima komponente kao u primeru 2 sa prethodnog linka
    • komponentama promeniti property Name (rbSelo, rbKuci, rbKamp, rbMore, btnRaspust, lblPoruka)
    • klikomk na dugme treba da se prikaže poruka koje treba da se dobije "slaganjem" tekstova iz label1 i odabranog radio dugmića
  2. Proširiti formu i na desnu polovinu postaviti Panel sa malo drugačijom pozadinskom bojom na koji će da se postave komponente kao u primeru 3 sa prethodnog linka
  3. Ispod lblPoruka postaviti lblPrevoz u koji se upisuje odabrani prevoz
  4. Izborom ostajanja kod kuće treba da ceo panel nestane!

Zadatak za čas br.2 i čas br. 3

Kreirati igricu - aplikaciju u kojoj će korisnik da klikom na sličicu (pčelica) prouzrokovati da se ista pomeri. Opciono, sakupljati bodove pri tome.

Jedna vrsta rešenja:

  • Kreirati novu Windows Forms Aplikaciju, nazvati je npr. pcelica, u svom folderu na disku
  • 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... - Local resourse - Import...)  --- smanjite ili povećajte sliku po želji, (Paint 3D može da posluži za to)
  • U mogućim akcijama za sliku, pronaći akciju za klik mišem (Click) i dvoklikom se kreira okvir koda gde se piše šta se dešava kada se klikne na sliku. (isto bi se dobilo direktnim dvoklikom na sliku)
  • Programski kod koji na početku unosimo je da se naša pčelica sa svakim klikom pomeri desno i dole za 10 piksela (u ovom slučaju to je prvi PictureBox i ostavljeno je default ime koje nismo menjali - kod vas može da se drugačije zove - upotrebite odgovarajuće ime za vaš PictureBox):
  pictureBox1.Left += 10;
pictureBox1.Top += 10;

Primetićete da, ako ste sve uradili kako treba, vaša pčelica se kreće na desno i na dole sa svakim klikom na nju, sve dok ne počne da izlazi sa ekrana - što nam se baš i ne dopada. Postoji više rešenja kako rešiti taj mali problem:

Rešenje br.1: ako pčelica dođe do donje ili desne ivice forme u kojoj je, teleportovati je na početak forme. To se rešava tako što se nakon pomeranja proveri da li je lokacija stigla do ivice forme,pa ako jeste, postaviti lokaciju slike na x=0 i y=0:

if((pictureBox1.Right >= this.Width) || (pictureBox1.Bottom >= this.Height))
{
pictureBox1.Left = 0;
pictureBox1.Top = 0;
}

U suštini provera je da li je desna ivica slike stigla na desni kraj forme ili je donja ivica slike stigla na dno forme. Ako je bilo koji od ta dva uslova zadovoljen (ligičko ili između njih :|| ) postavlja se da je slika na početku.

Rešenje br.2 (za naprednije, a i interesantnije je): umesto provere dokle je stigla, i umesto stalnog kretanja u istom pravcu, može se postaviti da se prilikom klika na sliku pčelica teleportuje na neku slučajnu poziciju na formi. U tom slučaju koristimo objekat klase Random:

private void pictureBox1_Click(object sender, EventArgs e)
{
Random R = new Random();
var opseg = this.Size - pictureBox1.Size;
var odLevo = R.Next(0, opseg.Width);
var odGore = R.Next(0, opseg.Height);
pictureBox1.Location = new Point(odLevo, odGore);
}
  • Kako sakupljati bodove? Jednostavno, treba nam celobrojna promenljiva koja će za svaki klik na pčelicu da se uveća za na primer 10.
  • Kako prikazati bodove? Pomoću labele. Upotrebiti na primer 2 labele. u label1 upisati tekst bodovi: , a u label2, koji se nalazi odmah pored, prilikom svakog klika na pčelicu, upisati kao tekst bodove.

Video Snimak sa časa iz prethodne školske godine:


Ako je potrebno, u nastavku je detaljnije napisano o onome što se koristi u ovoj vežbi:

Zatim:

Još ponešto objašnjeno:

Kako funkcioniše klasa Random? - U najkraćim crtama rečeno, kreira se objekat te klase, pa se poziva metoda Next, a u zagradi se stavi opseg u kojem treba da se dobije slučajan broj.

Šta znači var? - oznaka za bilo koju promenljivu kojoj će kompajler da dodeli adekvatan tip podataka, u vreme kompajliranja

Šta znači Point? - klasa čiji objekti su u stvari tačke. Potrebni su nam da bi se definisale lokacije drugih komponenata na formi.

Šta znači ako piče naziv komponente pa tačka pa Location? To je lokacija komponente - taška u gornjem levom uglu kvadrata u kojem se komponenta nalazi.



Malo da vežbate kod kuće: Video snimak

sa online časava vežbi (iz prethodne godine)


Za vežbu kod kuće: pokušajte da uradite primere koji su na dnu stranica sa komponentama CheckBox i RadioButton.

Last modified: Wednesday, 29 October 2025, 8:47 AM