Stránka 1 z 1
c# pole- zmena hodnoty a vykreslení Vyřešeno
Napsal: 30 čer 2013 13:06
od agil
Zdravím, momentálně dělám hledání min a mám takový problém.
Mám cyklus, a v něm kod, že když kliknu pravým tlačítkem na pole, které se rovná nule, tak se pole naplní hodnotou 5.
Pak mam vykreslovací metodu, ve které je napsané, že když se pole rovná 5, tak se vykreslí vlajecka.
To funguje.
Ale potrebuji, aby kdyz na to pole co se rovná 5, kliknu znova pravým tlačítkem, tak aby se zase rovnalo 0.
Zkousel sme to napsat, ale motalo se to dohromady,takze kdyz jsem kliknul tak se naplnilo 5, ale hned 0, takze se vlatsne nic nestalo a zustalo stejne policko.
Dekuji za pripadnou pomoc.
Re: c# pole- zmena hodnoty a vykreslení
Napsal: 30 čer 2013 13:39
od honzaik
nějaký
Kód: Vybrat vše
if(policka[i].hodnota == 0){ // může to bejt i (!policka[i].hodnota) protože 0 je false vlastně :D
policka[i].hodnota = 5;
policka[i].renderVlajecku();
else{ // tady předpokladam že to může mit jen 2 hodnoty jinak nějaký else if
policka[i].hodnota = 0;
policka[i].vymazVlajecku();
}
nějak takhle bych si tu logiku představoval já

. a tohle by bylo v tom cyklu spouštělo se na event pravýho kliknutí pokud ti dobře rozumím

Re: c# pole- zmena hodnoty a vykreslení
Napsal: 30 čer 2013 18:50
od agil
no tak to nefunguje

mam to napsany teda trochu jinak
Kód: Vybrat vše
else if (e.Button == MouseButtons.Right)
{
if (Array.pole[mouseX, mouseY] == 0) //neodhaleno
{
Array.pole[mouseX, mouseY] = 5; // vlajecka na normal
}
else
{
Array.pole[mouseX, mouseY] = 0;
}
if (Array.pole[mouseX, mouseY] == 1) //mina
{
Array.pole[mouseX, mouseY] = 3; //vlajecka na mine
}
Re: c# pole- zmena hodnoty a vykreslení
Napsal: 30 čer 2013 19:03
od honzaik
proč když je políčko odhalené (předpokládám pokud nemá nulu) tak mu dáváš 0 (neodhaleno)?
Re: c# pole- zmena hodnoty a vykreslení
Napsal: 30 čer 2013 19:07
od agil
no když má 5, tak to je vlaječka na políčku, vlaječka políčko neodhalí, to se dává jenom když si nejsi jistej ze tam je třeba mina jestli chápeš( jestli si nekdy hrál heldání min

), no a potřebuju znovu kliknutím tu vlaječku odebrat, tudíž tam dát zase 0
levím tlačítkem to funguje, tam dje o to že u toho pravýho se to plete, takže se to promeni na5, ale hned zas na 0, proste ybch potreboval neco co by jakoby pocitalo kliknutí a reagovalo az na podruhý...teoreticky

Re: c# pole- zmena hodnoty a vykreslení
Napsal: 01 črc 2013 00:15
od honzaik
no miny dobře znám

asi nějak nechápu systém jakym to máš vymyšlěný tak ti mohu jen poradit aby sis kde to jde vypisoval do konzole proměnný a krok po kroku si říkal jak to funguje

Re: c# pole- zmena hodnoty a vykreslení
Napsal: 01 črc 2013 13:38
od agil
Tam jde oto, ze když to dam do event u kliknutí myši, tak se ta změna prostě provede okamzite,, takže se vevyslekdu vlastne nic nestane.
Re: c# pole- zmena hodnoty a vykreslení
Napsal: 01 črc 2013 14:19
od honzaik
a co třeba udělat else if místo dalšího if, protože když je tam if a elseif tak se spustí jen jedna větev. pokud tam jsou 2x ifi tak se spustej oba, pokud maj podmínku. nevim jinak co jinýho by to dělalo
Re: c# pole- zmena hodnoty a vykreslení
Napsal: 03 črc 2013 21:06
od agil
Problém vyresen
Re: c# pole- zmena hodnoty a vykreslení
Napsal: 04 črc 2013 07:31
od CrazyC0de
Tak lockni :)