Professional Documents
Culture Documents
Osnovni Kurs 2 PDF
Osnovni Kurs 2 PDF
Osnovni Kurs 2 PDF
int suma = 0;
int n = 0;
private void btDodajOcenu_Click(object sender, EventArgs e)
{
int ocena = Convert.ToInt32(tbOcena.Text);
lbOcene.Items.Add(ocena);
tbOcena.Text = "";
tbOcena.Focus();
suma += ocena;
n++;
}
t = (x * 60 + y) - (a * 60 + b);
sat = t / 60;
min = t % 60;
tbPolazak.Text = sat + ":" + min;
}
g.Clear(Color.White);
g.DrawLine(olovka, w / 3, 0, w / 3, h);
g.DrawLine(olovka, 2 * w / 3, 0, 2 * w / 3, h);
g.DrawLine(olovka, 0, h / 3, w, h / 3);
g.DrawLine(olovka, 0, 2 * h / 3, w, 2 * h / 3);
olovka.Color = Color.Red;
olovka.Width = 3;
g.DrawLine(olovka, 0, 0, w / 3, h / 3);
g.DrawLine(olovka, w / 3, 0, 0, h / 3);
g.DrawLine(olovka, 2 * w / 3, 2 * h / 3, w, h);
g.DrawLine(olovka, w, 2 * h / 3, 2 * w / 3, h);
SolidBrush cetka = new SolidBrush(Color.Green);
g.FillEllipse(cetka, w / 3 + 5, h / 3 + 5, (w / 3 - 10), (h / 3 - 10));
cetka.Color = Color.Yellow;
7. Kreirati aplikaciju kojom se preko cele forme crta strelica kao na slici. Strelica
je sluajno odabrane boje. Kada se menja veliina forme, strelica se ponovo
iscrtava.
Random R = new Random();
private void Form1_Paint(object sender, PaintEventArgs e)
{
Graphics g = e.Graphics;
Pen olovka = new Pen(Color.FromArgb(R.Next(256), R.Next(256), R.Next(256)), 8);
int a = ClientRectangle.Width;
int b = ClientRectangle.Height;
g.DrawLine(olovka, 0,b / 2, a , b / 2);
g.DrawLine(olovka, a/2,0, a , b / 2);
g.DrawLine(olovka, a/2, b , a , b/2);
//ovo su kopije
x += 20;
y += 20;
b -= 40;
a -= 40;
cetka.Color = Color.FromArgb(R.Next(256), R.Next(256), R.Next(256));
g.FillRectangle(cetka, x, y, a, b);
x += 20;
y += 20;
b -= 40;
a -= 40;
cetka.Color = Color.FromArgb(R.Next(256), R.Next(256), R.Next(256));
g.FillRectangle(cetka, x, y, a, b);
x += 20;
y += 20;
b -= 40;
a -= 40;
cetka.Color = Color.FromArgb(R.Next(256), R.Next(256), R.Next(256));
g.FillRectangle(cetka, x, y, a, b);
x += 20;
y += 20;
b -= 40;
a -= 40;
cetka.Color = Color.FromArgb(R.Next(256), R.Next(256), R.Next(256));
g.FillRectangle(cetka, x, y, a, b);
}
10.Kreirati aplikaciju kojom se crtaju linije kojima je koordinata poetne take
odreena poloajem strelice mia u trenutku pritiska dugmeta mia, a
koordinata krajnje take odreena poloajem strelice mia u trenutku
otputanja dugmeta.
Kako liniju moemo nacrtati samo kada su odreene koordinate i poetne i krajnje
take, metod DrawLine pozivamo po otputanju dugmeta mia, dakle u dogaaju
MouseUp. Koordinate poetne take odreujemo u trenutku pritiska dugmeta, u
dogaaju MouseDown. Parametar ovih dogaaja, MouseEventArgs e, sadri i informaciju
(e.X, e.Y) o lokaciji strelice mia pri izvravanju dogaaja.
Random R = new Random();
int xp, yp;
private void Form1_MouseDown(object sender, MouseEventArgs e)
{ //postavljanje koordinate pocetne tacke
xp = e.X;
yp = e.Y;
}
private void Form1_MouseUp(object sender, MouseEventArgs e)
{
Graphics g = CreateGraphics();
Pen olovka = new Pen(Color.FromArgb(R.Next(256),
R.Next(256), R.Next(256)));
//crtanje linije od koordinate pocetne tacke do lokacije misa
g.DrawLine(olovka, xp, yp, e.X, e.Y);
}
int x, y;
Random R = new Random();
private void Form1_MouseDown(object sender, MouseEventArgs e)
{
x = e.X;
y = e.Y;
timer1.Start();
int x, y;
Pen olovka = new Pen(Color.Red);
Random R = new Random();
private void Form1_MouseDown(object sender, MouseEventArgs e)
{
x = e.X;
y = e.Y;
olovka.Width = 1;
olovka.Color = Color.FromArgb(R.Next(256), R.Next(256), R.Next(256));
timer1.Start();
}
int x, y, a;
Color boja;
Random r = new Random();
forme.
int x, y, a, b;
Color boja;
Random r = new Random();
int x, y, a, b;
cetka.Color = Color.White;
g.FillPolygon(cetka, jedro);
olovka.Color = Color.Chocolate;
olovka.Width = 10;
g.DrawLine(olovka, x, y, x, y - 3 * b);
if (x > ClientRectangle.Width + 2 * a)
x = -2 * a;
}
int x, y, a, b;
cetka.Color = Color.Black;
g.FillEllipse(cetka, x - 3 * a, y + b - a, 2 * a, 2 * a);
g.FillEllipse(cetka, x + a, y + b - a, 2 * a, 2 * a);
}
Kretanje loptice
Kreirati aplikaciju koja obezbeuje kontinuiorano kretanje loptice gore desno, gore
levo, dole desno, dole levo (poo be ose se pomera za poluprenik). Kada doe do
ivice forme odbija se i nastavlja kretanje u suprotnom smeru.
Loptica i kavadrat
Proiriti prethodnu aplikaciju tako da na formi nacrtamo na sluajno odabranoj
poziciji kvadrat, stranica kvadrata jednaka polupreniku loptice. Prilikom kretanja
loptice, u trenutku kada centar kvadrata pripada loptici njen poluprenik se uvea
za 1 i promeni se pozicija kvadrata. Loptica se zaustavlja kada njen poluprenik
postane duplo vei od stranice kvadrata.
Pogodi broj
Kreirati aplikaciju kojom se raunar zamisli sluajan
broj od 1 do100, a zatim korisnik aplikacije pogaa
broj, svaki put kad korisnik unese neki broj i
pritisne dugme za proveru ispie se poruka broj je
vei, broj je manji ili bravo pogodili ste.
Obezbeditio najvie 7 pokuaja.
Tablica Mnozenja
Kreirati aplikaciju kojom se obezbeuje testiranje poznavanja tablice mnoenja.
Sluajnim izborom se odreuju dva jednocifrena prirodna broja a korisnik treba u
odreenom vremenskom intervalu da upie odgovor. Prilikom provere da li je
odgovor taan, u naslovnoj liniji forme ispisati broj ukupno postavljenih zadataka i
broj tanih odgovora. Postavljanje zadataka kao i proveru odgovora pre isteka
vremenskog intervala inicirati klikom na odgovarajue dugme.
int rez,a=0,b=0;
// rez - rezultat zadatka koji je trenutno postavljen
// a - broj ukupnih zadataka
// b - broj tacno odgovorenih zadtaka
private void timer1_Tick(object sender, EventArgs e)
{ a++;
if(tbRezultat.Text!="")
{
int x=Convert.ToInt32(tbRezultat.Text);
if(x==rez)
{
lPoruka.Text="TACNO";
b++;
}
else lPoruka.Text="NETACNO";
}
else
lPoruka.Text="ISTEKLO VREME";
timer1.Enabled=false;
btProveri.Enabled=false;
Text=a+ " ukupno - "+b+" tacno";
}
private void btPostavka_Click(object sender, EventArgs e)
{
Random R=new Random();
int x=R.Next(10), y=R.Next(10);
lZadatak.Text=x+" * "+y;
rez=x*y;
tbRezultat.Text="";
timer1.Enabled=true;
btProveri.Enabled=true;
tbRezultat.Focus();
lPoruka.Text="";
}
Test
Kreirati aplikaciju kojom se obezbeuje testiranje poznavanja osnovnih aritmetikih
operacija (sabiranje, oduzimanje, mnoenje i deljenje) sa prirodnim brojevima
manjim od 100. Test se sastoji od 10 zadataka. Svaki zadataka se bira na sluajana
nain, sluajnim izborom odreuje se operacija a zatim dva prirodna broja nad
kojima treba izvriti izabranu operaciju, prikae se postavljeni zadatak. Korisnik
treba da upie odgovor u objektu klase TextBox u odreenim intervalu. Na kraju
testa prikazati u objektu klase Label broj tanih odgovoara korisnika, a u objektu
klase ListBox sve postavljene zadatke i odgovore korisnika kao i tane odgovore.
PING PONG
Kreirati aplikaciju kojom se loptica kree po formi (po obe ose) kada doe do
gornje, desne ili leve ivice forme odbija se menjajui smer kretanja. Na donjoj ivici
forme nalazi se pravougaonik koji korisnik moe pomerati, korienjem strelica na
tastaturi, levo desno u granicama forme. Ako loptica udati u pravougaonik odbija
se i nastavlja kretanje, a ako loptica udari u donju ivicu forme zatvara se aplikacija.
int X, Y, r, korakX, korakY;
int Xd, Yd, w, h, korakd;
Random R = new Random();
private void Form1_Paint(object sender, PaintEventArgs e)
{
Graphics g = e.Graphics;
SolidBrush cetka = new SolidBrush(Color.Red);
g.FillEllipse(cetka, X - r, Y - r, 2 * r, 2 * r);
cetka.Color = Color.Brown;
g.FillRectangle(cetka, Xd, Yd, w, h);
}
private void Form1_Load(object sender, EventArgs e)
{
Y = 10;
korakX = 10;
korakY = 10;
r = 10;
X = R.Next(10, ClientRectangle.Width - 10);
h = 10;
w = 80;
Yd = ClientRectangle.Height - h;
Xd = R.Next(ClientRectangle.Width - w);
korakd = 0;
timer1.Enabled = true;
}
private void timer1_Tick(object sender, EventArgs e)
{
X += korakX;
Y += korakY;
Xd += korakd;
if (Xd <= 0) Xd = 0;
if (Xd + w >= ClientRectangle.Width) Xd = ClientRectangle.Width - w;
Refresh();
}
private void Form1_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Left)
korakd = -20;
else
if (e.KeyCode == Keys.Right)
korakd = 20;
if (e.KeyCode == Keys.Escape)
timer1.Enabled = !timer1.Enabled;
}
Semafor
Kreirati aplikaciju koja omoguava simulaciju rada semafora za
vozila (tri kruga, crveni, uti i zeleni se naizmenino ukljuuju po
poznatim pravilima).
if (stanje == 1)
g.FillEllipse(Brushes.Red, d, d, 2 * r, 2 * r);
else if (stanje == 2)
{
g.FillEllipse(Brushes.Red, d, d, 2 * r, 2 * r);
g.FillEllipse(Brushes.Yellow, d, 2 * r + 3 * d, 2 * r, 2 * r);
}
else
if (stanje == 3)
g.FillEllipse(Brushes.Green, d, 4 * r + 5 * d, 2 * r, 2 * r);
else
g.FillEllipse(Brushes.Yellow, d, 2 * r + 3 * d, 2 * r, 2 * r);
}
private void timer1_Tick(object sender, EventArgs e)
{
if (stanje < 4)
stanje++;
else
stanje = 1;
if (stanje == 1 || stanje == 3)
timer1.Interval = 2500;
else
timer1.Interval = 1000;
pbSemafor.Refresh();
}
Semafor 2
Proiriti prethodnu aplikaciju: Omoguiti prelazak iz uobiajenog reima rada
semafora u reim utog trepueg svetla.
MojPaint
Kreirati aplikaciju pout programa za crtanje (paint). Obezbediti crtanje prave linije,
linije slobodnom rukom, elipse, pravougaonika (popunjen ili ne popunjen).
Obezbediti i izbor boje (ColorDijalog) i debljine linije (NumericUpDoen). Korisniku
omoguiti i brisanje (crtanje slobodnom rukom olovkom boje pozadine PictureBox-a
po kome se crta, izabrane debljine).
}
x1 = x2;
y1 = y2;
}
}