You are on page 1of 2

Napraviti windows form aplikaciju, koja e imati dva pictureBox-a, dvije numericUpDown kontrole

jednu Timer komponentu, dvije button kontrole. Potrebno je u pictureBox kontrole uitati slike
crvenog i zelenog automobila, te kada se klikne na dugme START omoguiti njihovo kretanje u desno po
formi (po x-osi). Pored toga neophodno je omoguiti promjenu brzine jednog i drugog automobila
pomou numericUpDown kontrole. Prvi automobil koji stigne do kraja desne ivice forme je pobijedio i
treba ispisati poruku o tome. Dugme RESET vraa automobile na poetne pozicije i resetuje njihove
brzine na poetne vrijednosti. (Slika 1.1):

Slika 1.1: Izgled programa


Pomo za rjeenje:
Properties za komponente(kontrole):
Form1: Size: 751; 343
pictureBox1 komponenta: Size: 150; 75, Location: 0; 85
pictureBox2 komponenta: Size: 150; 75, Location: 0; 195
Timer komponenta: Interval=1ms, Enabled=False
numericUpDown1, numericUpDown2 komponente: Increment=1; Value=1; Maximum=5
Kretanje automobila ustvari predstavlja promjenu pozicije pictureBox-a u koji smo uitali sliku.
Trebat e iskoristiti 2 globalne varijable koje e predstavljati brzinu kretanja automobila, inicijalno emo
ih postaviti na vrijednost 1. int brzinaCrvenog = 1, brzinaZelenog = 1;

pictureBox1.Left - Pozicija lijeve ivice pictureBox-a po x-osi.


pictureBox1.Right - Pozicija desne ivice pictureBox-a po x-osi.
ClientRectangle.Right - Pozicija desne ivice forme po x-osi.
ClientRectangle.Left - Pozicija lijeve ivice forme po x-osi.
Kada pozicija desne ivice jednog od dva pictureBox-a (automobila) postane vea od pozicije desne ivice
forme pictureBox1.Right > ClientRectangle.Right utrka je zavrena i treba ispisati poruku u
MessageBox-u o pobjedniku.
Kreirati Event za NumericUpDown kontrole koje e sluiti za promjenu brzine automobila (tj. promjenu
vrijednosti globalnih varijabli brzinaCrvenog, brzinaZelenog)
Da bi Reset-ovali automobile pa poetne pozicije to moemo uraditi na sljedei nain:

pictureBox1.Location = new Point(0, 85);

pictureBox2.Location = new Point(0, 195);

Potrebno je i resetovati numericUpDown kontrole na poetne vrijednosti.


Cesta je napravljena od 3 labele.

int brzinaCrvenog = 1, brzinaZelenog = 1;


private void buttonStart_Click(object sender, EventArgs e)
{
timer1.Start();
}
private void timer1_Tick(object sender, EventArgs e)
{
pictureBox1.Left += brzinaCrvenog;
pictureBox2.Left += brzinaZelenog;
if (pictureBox1.Right > ClientRectangle.Right)
{
timer1.Stop();
labelPoruka.ForeColor = Color.Red;
labelPoruka.Text = "Pobjedio je CRVENI automobil";
labelPoruka.Visible = true;
}
if (pictureBox2.Right > ClientRectangle.Right)
{
timer1.Stop();
labelPoruka.ForeColor = Color.Green;
labelPoruka.Text = "Pobjedio je ZELENI automobil";
labelPoruka.Visible = true;
}
}
private void numericUpDownBrzinaCrvenog_ValueChanged(object sender, EventArgs e)
{
brzinaCrvenog = (int)numericUpDownBrzinaCrvenog.Value;
}
private void numericUpDownBrzinaZelenog_ValueChanged(object sender, EventArgs e)
{
brzinaZelenog = (int)numericUpDownBrzinaZelenog.Value;
}
private void buttonReset_Click(object sender, EventArgs e)
{
pictureBox1.Location = new Point(0, 85);
pictureBox2.Location = new Point(0, 195);
numericUpDownBrzinaCrvenog.Value = 1;
numericUpDownBrzinaZelenog.Value = 1;
}

You might also like