[ filip5555 @ 07.07.2010. 07:35 ] @
Ovde mozete postavljati zadatke za c#.Za svaki zadatak staviti tezinu!!!
Evo par zadataka:

1.Tezina: pocetnik
Napraviti igru iks oks pomocu 9 buttona,tako sto ce kada se pritisne na neki button on staviti text "x"/"o" u zavisnosti ko je na redu i ako neeko pobedi da izadje messagebox sa tekstom "X je pobedio"/"O je pobedio"

2.(zadatak od AMD guy)
Tezina: pocetnik pocetka
Napraviti windows aplikaciju, koja ima jedan combo box i jedan text box. U combo box uneti nekoliko stavki. Kada korisnik izabere neku stavku iz combo box-a, potrebno je da se automatski u text box-u ispiše poruka o tome koju je stavku korisnik izabrao.


3.(isto od njega)
Tezina: pocetnik pocetka
Napraviti windows aplikaciju, koja će imati dve DateTimePicker kontrole, jednu za datum, a drugu za vreme, zatim jedno dugme i jedan richText box. Kontrola za datum mora da omogući da se bira željeni datum iz kalendara.Kod kontrole za vreme, potrebno je da korisnik unosi datum pomoću up/down strelica. Klikom na dugme "Rezervacija" u richText box-u se ispisuje odgovarajuća poruka korisniku.

4.(zadatak od MatezYU)

Tezina: pocetnik
Napraviti windows formu dimenzija 400 x 400.
Centrirati je na sredinu ekrana.
Ofarbati pozadinu bele boje.
Staviti picturebox komponentu dimenzija 20x20.
Ubacis jednu slicicu dimeznija 20x20 (moze da bude neka lopta ili sl.)
Staviti Timer komponentu i napraviti da se na svakih 100milisekundi loptica krece prema desno dole.
Kada naidje na ivicu prozora da se odbije i ide u suprotnom smeru.

[Ovu poruku je menjao filip5555 dana 07.07.2010. u 08:51 GMT+1]
[ GMarco24 @ 31.10.2010. 02:16 ] @
Moze li neko za 1. da mi da ideju kako da radim bez milion "if" redova (tacnije 8) da proverim sve linije da li je neko pobedio, pa opet "if" da proverim je li X ili O... Ovde i nije toliko ponavljanja, ali sam hteo da pravim 5x5 IksOks, na kome pobedjuju 3 znaka vezana. Da ne racunam, ali to je bar nekih 100 uslova + da proverim da li je X ili O
[ Mihajlo Cvetanović @ 31.10.2010. 08:41 ] @
Možeš u jednoj petlji da proveriš sve redove, i jednoj sve kolone, i onda ti ostaje po jedan if za dve dijagonale. A ako ti X i O imaju vrednosti 1 i -1 onda ta provera može da ima oblik zbira elemenata. Ako je zbir elemenata 5 onda je X linija, a ako je -5 onda je O (recimo).

Drugi pristup problemu bi bio da imaš jedan niz koji bi ti čuvao zbir svi redova, i jedan za zbir svih kolona. Svaki put kad dodaš novi element moraš da povećaš ili smanjiš za jedan po element u oba niza. Odmah tu možeš da proveriš i da li je taj element postao 5 ili -5.
[ Mihajlo Cvetanović @ 31.10.2010. 08:45 ] @
Inače ta igra 5x5 sa pobedom na 3 elementa nije interesantna jer prvi uvek pobeđuje.

Code:

. . . . .   . . . . .   . . . . .   ? . . . .
. . . . .   . . . . .   . X . . .   . X . . .
. . X . .   . O X . .   . O X . .   . O X . .
. . . . .   . . . . .   . . . . .   . . . ? .
. . . . .   . . . . .   . . . . .   . . . . .
[ Shadowed @ 31.10.2010. 11:20 ] @
Nema potrebe proveravati celu tabelu vec samo deo u kojem odigrani potez ima uticaja.
[ GMarco24 @ 31.10.2010. 13:01 ] @
Hmmmm, prvi pobedjuje, to je tacno. Mozda je bilo 4 in a row za pobedu, mada deluje previse... Smislicu nesto. Anyway, ono sto mi je problem nije matematicke prirode. Problem mi je sto su komponente button1, button2... i ne umem da napravim dvodimenzionalni niz sa njima. Da li je standardno napraviti matricu objekata, pa ih vezati za komponente nekako ili postoji neka fora da komponente direktno imenujem kao da su iz array-a. Da, moze da se skrati posao, da se proverava samo deo (+2,-2) u svim smerovima od clana. Lepa ideja
[ Shadowed @ 31.10.2010. 13:12 ] @
Mozes praviti nizove kontrola (pa i matrice) ali je to prilicno overkill. Svaka kontrola ima mnogo toga sto tebi ne treba. Ako je 3x3 jos i hajd', ali generalno, bolje ti je da da stavis jednu kontrolu, picturebox ili neku svoju koju napravis. Ona bi prikazivala sliku mreze a na osnovu koordinata gde je kliknuto bi znao koje polje je u pitanju. Npr. ako je 10x10 i svako polje je 30x30 piksela, ako klikne na x=42, y=137, znaci da je klinula na polje 2,5.
[ sallle @ 04.11.2010. 01:11 ] @
Sto se tice kontrola, stavis jedan button na kontrolu. Bacis pogled na kod koji je dizajner izgenerisao, i izsimuliras to u svojoj petlji, npr:
Mislim da je lakse od pictureboxa (jer nakon klik-a, treba crtati u taj prostor)
Code:

Button [][] myControls = new Button[sirina][];
for (int i=0, dx=0;i<sirina;i++, dx+=xoffset)
{
 mycontrols[i] = new Button[visina];
 for (int j=0, dy=0;j<visina;j++, dy+=offset)
 {
  myControls[i][j] = new Button();
  myControls.Location.X = dx;
  myControls.Location.Y  = dy;
  //itd - ovde nastavis sa inicijalizacijom ostalih propertija
 }
}


Sto se tice pobede pored ispitivanja da li zadovoljavas uslove, mozda mozes da imas vec gotovu hash tabelu sa pobednickim pozicijama, i da za svako stanje proveravas da li je u hash tabeli.
Ovo je verovatno najbrze (al ti treba izvesna kolicina memorije za popunjenu hash tabelu).