Zadatak:

Kreiramo igricu sa sledećim parametrima:

  • sa vrha forme ka dnu silazi sličica (po vašem izboru)  --- ili uzmite kapljica.png
  • ako se klikne na sličicu, dobija se 10 poena, slika nestaje i pojavljuje se na vrhu forme i nastavlja da pada
  • postoji taster za zaustavljanje igre (Kraj)
  • postoji taster za dodavanje još jedne slike (do najviše 3 komada u našem primeru)
  • poeni se prikazuju u gornjem levom delu forme

Jedan od načina na koji se to može izvesti:

  • Prvo se kreira novi projekat - Windows Forms ---
  • Na Internetu potražimo sličicu koja će biti naš "glavni karakter"
  • Na formu se postavlja PictureBox. Podrazumevani naziv je pictureBox1, i u njega postavljamo sličicu, sa modom za Stretch image
  • u gornji levi deo forme postavljamo dve labele: u prvoj je tekst: bodovi:, a u drugu ćemo upisivati osvojene bodove, a u početku postavljamo 0.

Na formu postavljamo komponentu Timer: a prvi postavljeni ima podrazumevano ime timer1. Cilj je da se na tik-tak tajmera, na svaki njegov tik, naša slika pomeri malo na dole. To se radi tako što se za tajmerovo ponašanje postavi da je Enabled=true, a u događajima tajmera postoji Tick: dvoklikom na polje pored (ili dvoklikom na tajmer) kreiramo metodu koja se izvršava na svako tik tajmera (timer1_Tick). U toj metodi mi treba da pomeramo naš pictureBox1. Programski kod je dat u nastavku:

private void timer1_Tick(object sender, EventArgs e)
 {
pictureBox1.Top += 10;
if (pictureBox1.Bottom > this.Height)
                pictureBox1.Top = 0;
}
  • Što se bodova tiče, na našoj formi postavljamo parametar poeni, tipa int (i to pre konstruktora):
public partial class Form1 : Form
    {
        int poeni;
       

podrazumevana vrednost je 0 (u programskom jeziku C#), ali možemo i inicijalno da postavimo neku vrednost

  • Klik na sliku: napisati metodu koja će da se izvršava svaki put kada se klikne mišem na pictureBox. To možemo raditi tako što 1. kliknemo na sliku i u akcijama potražimo Click (ili dvoklik na samu sliku). Okruženje u kojem radimo u našem slučaju kreira osnovni izgled metode, a naše je samo da obezbedimo potrebne funkcionalnosti. Klikom na sliku treba da se povećaju bodovi, a slika da se pomeri negde na vrh forme:

private void pictureBox1_Click(object sender, EventArgs e)
  {
    poeni += 1;
lblPoeni.Text = poeni.ToString();
}
  • Dugme za završetak igre se radi tako što se postabi na formu jedno dugme (Button) u donji levi deo forme i u metodi za klik na dugme samo se zatvori forma. Metoda koja postoji je Close() i može se samo navesti, mada može i da se naglasi da se misli da se zatvori forma u kojoj ste:
        private void button1_Click(object sender, EventArgs e)
{
this.Close();
}

ili

       private void button1_Click(object sender, EventArgs e)
  {
  Close();
  }

Sada bi trebalo da naša igra radi.

Sledeći nivo je da se kopira pictureBox1 (copy-paste), tako da imamo više identičnih sličica, ali im osobinu Visible postavljamo na False - da se ne vide na početku.

Za dodavanje sličica u toku rada aplikacije će se koristiti dugme: Button na kojem poše npr "dodaj + 1 (max 3). Kada se klikne na dugme, treba da se prikaže jedna od slika koje se u tom trenutku ne vide (postavlja se parametar Visible na true).

private void button2_Click(object sender, EventArgs e)
{
if (pictureBox2.Visible == false)
pictureBox2.Show();
else if (pictureBox3.Visible == false)
pictureBox3.Show();
else if (pictureBox4.Visible == false)
pictureBox4.Show();
}

Da bi se sledeće sličice kretale, potrebno je u metodu timer1_tick dodati programski kod u kojem se sličice pomeraju, ali samo ako su vidljive:

if (pictureBox2.Visible == true)
{ pictureBox2.Top += 5; // ova slika se kreće sporije
  if (pictureBox2.Bottom > this.Height)
          pictureBox2.Top = 0;
 }

 if (pictureBox3.Visible == true)
  { pictureBox3.Top += 15; // ova slika se kreće brže
   if (pictureBox3.Bottom > this.Height)
            pictureBox3.Top = 0;
  }

Svaki naredni pictureBox bi na klik trebalo da ima identičnu funkcionalnost kao i prvi pictureBox -> u akcijama ih povezati sa istom metodom koja je reakcija na događaj klika na prvu sliku.

Last modified: Monday, 13 October 2025, 4:19 PM