tema: Karte u c#
Prikaz jedne poruke
Stara 28.5.2010, 12:53   #2
irreal
V.I.P. Programiranje
 
Član od: 9.1.2009.
Lokacija: Beograd, Banovo Brdo
Poruke: 1.157
Zahvalnice: 83
Zahvaljeno 448 puta na 303 poruka
Određen forumom Re: Karte u c#

uf, tema je prilicno opsirna, a ja sam trenutno sa vremenom kratak.

sto se tice nabavljanja samih slika karata i pozadina za iste, predlazem ti da koristis microsoftov cards.dll.

evo ga clanak koji ce ti objasniti kako da dodjes do slika

http://www.codeproject.com/KB/cs/drawcardscp1.aspx

ono sto je daleko komplikovanije je upravo kako ces da predstavis te slike i kako ces njima manipulisati.

evo par predloga:

najosnovniji nacin bi bio da karte budu picturebox kontrole. skines im border i eto, imas kontrole koje primaju event-ove, prikazuju sliku karte, imaju poziciju, itd.
mana je sto picturebox kontrole bas i nisu namenjene za ovakvu upotrebu, pa ce animacija karata kada se dele ici teze nego sto bi trebalo, a i generalno ce vise resursa aplikacija da vuce ako u jednom trenutku pomeras 30-ak picture box kontrola po formi.


druga alternativa je da se sam crtas unutar jedne kontrole (ili forma ili jedan veliki picturebox) tu bi morao da se oslanjas na generalne mouse event-ove za ceo prozor pa sam da racunas da li je neka, i koja, karta kliknuta, sam da odradis drag & drop i sve ostalo sto je potrebno.
nije to toliko komplikovano kolko zvuci, jednostavno na svakom mouse eventu ces proci kroz neku svoju listu karata i uporediti koordinate, par opstih varijabli za pracenje stanja (klikce, vuce, samo prelazi misem preko, itd).


treca alternativa je da napravis sam svoju kontrolu. ne znam kolko bi imao uspeha da je prilagodis i da dobijes bolju stvar od picturebox kontrole, uz malo guglanja i eksperimentisanja, trebao bi da mozes da obavis posao.


ja bi licno verovatno izabrao metodu broj 2, ali nemam sada vremena da detaljno razmislim, mozda smislim i neko bolje resenje.

ma da moze sigurno sasvim solidno da prodje i koriscenje picturebox kontrole, ako igra ne treba da bude ultra fensi glatko animirana.


sto se tice data organizacije iza svega toga.

da, definitivno klasa Karta!
e sad, u zavisnosti od toga koji metod rada izaberes, tu klasu ces ili praviti od nule ili naslediti klasu PictureBox (ili neku drugu)

mogu ja sada ovde sat i po vremena da kuckam o razlicitim mogucnostima kako ta klasa moze da izgleda i sta da radi, kombinacija je zaista bezbroj.
umesto toga uradicu nesto drugo, cim budem uhvatio malo vremena, napravicu svoju implementaciju osnovne klase karta, prilagodjene za windows forme, pa cu ti dati source da vidis moje idejno resenje (sto ne znaci da ne postoji neko mnogo pametnije, mozda ga i ti sam smislis)

spomenucu ti jos da sam pre 4-5 godina napravio bas preferans, ali u VB6.
koristio sam image kontrole. nije bila losa igra, radila je preko lan-a ili net-a (winsock) i dosta sam pikao sa drugarima i mojim ocem.
ne znam dal bi negde iskopao sad to, ko zna kolko je hardova proslo u medjuvremenu, ali sigurno mogu da ti pomognem oko same logike pravljenja preferansa, kada do toga dodjes.

sve u svemu, nije kraj, nastavice se, kad uhvatim vremena ucicu daleko dublje u teoriju i praksu igara sa kartama u c#.

za sada, moram da idem, duty calls
irreal je offline   Odgovor sa citatom ove poruke