Diskuze: K dané položce listu jiná akce
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.

Neregistrovaný

Zobrazeno 14 zpráv z 14.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.
Napadá mě každé kartě dát delegáta který by ukazoval na metodu,
kterou by sis pro každou kartu napsal, jinak nevím
Buď udělat to co říká Neaktivní uživatel . Anebo si udělat například
enum, každé kartě dát patřičné enum a při výběru karty by jsi to
patřičné enum poslal do nějaké metody, která by poznala typ a udělala
akci, kterou má vykonat
S tím delegátem by to bylo možná přehlednější a hezčí,
Petr Nymsaův nápad rychlejší na napsání a jednodušší. Myslím si
že teď už není problém
No, sice by nebyl hezký switch na 80 řádků , ale zase nepřijdem i hezčí
udělat X metod pro každou kartu zvlášť
Nevím... záleží na tom, jak ty
karty jsou moc rozdílný. Doufám že nemá karty pouze typu přidej 50 života
a přidej 100 života
Rozepiš možná trochu víc ten systém karet. Pokud to máš karty ve stylu
Přidej fireball
Přidej laser
Přidej blast shield
Odeber fireball
Odeber laser
.....
Tak bych šel asi do těch enum. Udělal bych si třídu Karta, kde by jsi měl
string názevKarty;
enum typKarty
// a další doplňující info
Podle enum bych potom přiřadil správný typ útoku, obrany, přidal život
apod . Přes událost ? Teď
nevím, jak chceš použít na typy karet událost.
jj, ty karty jsou typu, jak si říkal, dám to přes ten enum, ale událost bych mohl využít, že když se změní počet skilů, tak aby se vlastnost Skilly správně nastavila ne??
Tak to už je asi úplně jedno jesti budeš mít událost nebo zavoláš
klasicky metodu která to aktualizuje
Mrkni se sem http://www.itnetwork.cz/…ial-udalosti Ale pokud
neovládáš nijak delegáty , možná bych se do toho nepouštěl
public enum CardAction
{
Spell,
Attack,
...
}
...
private Dictionary<CardAction, Action> actionsMap = new Dictionary<CardAction, Action>()
{
{ CardAction.Spell, delegate { ddd; } },
{ CardAction.Attack, delegate { ddd; } }
}
...
actionsMap[action]();
Zobrazeno 14 zpráv z 14.