2009. július 14., kedd

New Turn

Oké, úgylátom egy kicsit sokmindenről volt szó az előző postban, és nem mertek hozzászólni, úgyhogy egy kicsit egyszerűbbé teszem a dolgot, és új postot hozok létre. Egy pár apróbb hibát sikerült csak javítanom az utóbbi pár napban, mert nem sok időm volt foglalkozni vele, és nemtudom ezek közül van-e valami olyan, ami megérdemli, hogy megemlítsem. 

A szobafelfordításnál volt, hogy az éppen lerakott tokent nem lehetett lerakni oda, ahol az adott szobán előzőleg a lefordított tokenek valamelyike ki volt jelezve, ezt egyszerűen lehetett javítani, amivel többet szívtam, az az volt, hogy a szobafelderítéshez használt form ugyanakkor legyen aktív, mint a főform. 

Magyarán ha leminimalizálom, vagy alt-tabolok egy másik ablakra, és utána ismét ráklikkelek a tálcán a főformra (mert a kis segédformot nem jelenítem meg a tálcán, arra nem lehet klikkelni), akkor ne csak a főform legyen látható ismét, hanem a segédform is, és ami még fontos, hogy a főform legyen az aktív.

Ezt a főformban elhelyezett következő kóddal tudtam elérni:


bool IsJustActivated = false;
private void Xform_Activated(object sender, EventArgs e)
{
if (!IsJustActivated)
{
IsJustActivated = true; 
BackForm.Activate();   
this.TopMost = true; 
this.TopMost = false; //this.Activate() wont work 

else 
IsJustActivated = false; 
}
}


Ahogy látjátok fent, fura módon a TopMost property változtatását alkalmaztam. Mindez csupán csak azt a célt szolgálja, hogy ne kerüljek végtelen ciklusban, ugyanis ha meghívtam volna Focus(), vagy Activate() függvények valamelyikét, akkor az Activated esemény újra kiváltódott volna, és az egész újra meghívódott volna. Lehet másként is meg lehetett volna oldani, mindenesetre nekem így sikerült a leggyorsabban.

De hogy kérdezzek is valamit, legyen a mostani téma az, hogy hogyan nézzen ki a kör végének a jelzése. Jelenleg egy gomb van a formon, de ezt talán át kellene rakni menübe, és ha megnyomja a játékos, akkor vége a körének, és a következő emberke kapja meg a lehetőséget. Ekkor ugye feljön egy új form, ahol ki lehet választani, hogy melyik akciókártyát játssza ki az adott körben a játékos, de szerintem ezt el kellene tüntetni. Viszont hogyan legyen helyette megoldva a dolog? Legyen a menüben egy 'Akciókártya kijátszása' gomb, és amíg erre nem nyom rá a felhasználó, addig nem csinálhat semmi mást? Végülis könnyen megvalósítható lenne, mert akkor 0 akcióponttal indul a kör, és csak akkor kap, ha kijátszik egy lapot... és persze 1 körben csak egyet lehet kijátszani. Szóval egész jól illene az eddigi megvalósításba.

Mit gondoltok? Más ötlet nekem még nem jutott eszembe erre.

2 megjegyzés:

  1. 30as busz.
    Véletlenül nem egyértelmü, hogy mikor van vége egy körnek? (Ha elfogyott az összes akciopont)->autokörvége Amugy nézz meg egy hm&m-t abban hogy van a körvége. Esetleg egy civet. Eddig engem egyiknek a megvalósítása sem zavart.

    Ui:Megváltoztatom a szabályokat, az én kommentjeim nem szamitanak.

    VálaszTörlés
  2. Oke persze, a kor vege egyertelmu, es nem is az a nagyobb gond. Mondjuk auto-korvege nem lesz, hatha akar meg a jatekos nezelodni, meg hasonlo.

    Ami fontosabb, az a kor ELEJE. Az hogy legyen. Ott van az, hogy feljon egy form, ahol ki lehet valasztani az aktualisan kijatszott akciokartyat, es addig nem lehet eljutni a form tobbi reszere, amig ez ki nincs valasztva.

    Ez a resz az, ami nem tetszik nekem. Ehelyett gondoltam, ami a postban le van irva, hogy menuben akciokartya-kijatszas parancs, es azzal kap a jatekos elkoltheto akciopontot... amig ezt nem teszi meg, nincs akciopontja mast cselekedni.

    Mondjuk igy is jon a gond, hogy a 0 akcioba kerulo dolgokat tudna csinalni, de akkor is meg lehetne konnyen oldani, hogy amig nem jatszott ki akciokartyat, addig ne tudjon mast csinalni.

    Kerdes, hogy ez vajon jo-e, felhasznalobarat-e elegge...

    VálaszTörlés