Akce místo cyklu – .NET – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu
Reklama
Reklama

Akce místo cyklu – .NET – Fórum – Programujte.comAkce místo cyklu – .NET – Fórum – Programujte.com

 

Hledá se programátor! Plat 1 800 € + bonusy (firma Boxmol.com)
Matěj Andrle
~ Anonymní uživatel
1329 příspěvků
1. 8. 2013   #1
-
0
-

Dobrý den,

přijde mi zbytečné procházet tentýž zdroj dokola cyklem, když mám přesně vymezeno kolik toho projít a pod jakými indexy. Proto jednoduše vezmu Action a nacpu do něj cyklem ddd[0], ddd[1]... Pak jen zavolám akci - a cyklus je třeba jen pro tvorbu akce. Myslím, že to prostě musí být lepší, než třeba před vykreslením článku hada projíždět celé tělo cyklem... (U něj jsem do akce přidával vytažení posledního itemu.) Tedy když například hodnoty dostávám stále tytéž - nač cyklus opakovat? Tudíž se ptám, zda-li nemám zkreslenou představu a postavení akce jediným cyklem v aplikaci není náročnější, než opakované cykly... A za druhé se chci zeptat, jak fungují proměnné v akci? Jak použít tutéž proměnnou přímo v akci a přitom ve více přídatných částech? Tedy aby proměnná nebyla z venku a přitom jsem mohl používat více bloků +=... Zkusil jsem stejné jméno - výsledek byl zajímavý - vzalo to jako jednu proměnnou - ale uznalo to pouze poslední hodnotu... Vtip je v tom, že vytažení z pole bych chtěl provádět přímo v těle - uchovat vytažení - ne vytaženou hodnotu...

Děkuji.

Nahlásit jako SPAM
IP: 78.136.150.–
Reklama
Reklama
Matěj Andrle
~ Anonymní uživatel
1329 příspěvků
1. 8. 2013   #2
-
0
-

Myslím to tak, že jsem používal proměnnou stejného názvu, ale bez initializace. Jen jsem na ní operoval operátorem +=...

Nahlásit jako SPAM
IP: 78.136.150.–
liborb
~ Redaktor
+18
Guru
2. 8. 2013   #3
-
0
-

A nějaký příklad by nebyl?

Nahlásit jako SPAM
IP: 188.75.135.–
Matěj Andrle
~ Anonymní uživatel
1329 příspěvků
2. 8. 2013   #4
-
0
-

   

if(Eat || body.Count < 22)
{
	int index = body.Count - 1;
	Draw += () => GUI.Draw(SegmentImage, body[index].X, body[index].Y);

	Eat = false;
}
else
	body.RemoveAt(0);

Zde vlastně ani necyklím - zde jen větvím. Pokud had jí, nesmaže se zadek (a přidá se nová hlava - tak jako tak). Proto do akce Draw přidám tento článek navíc. Nepřidám však hodnotu, ale jen vytažení z pole. Pak mi nevadí, že se mění hodnoty - velikost pole se mění jen zde - jí-li... Je to XNA, takže v Draw jen volám Snake.Draw(spriteBatch);... Tímto jsem se v hadovi vyhl cyklům - i u jídla... Jen musím index posledního itemu pole dát do lokální proměnné - aby se vzala jeho hodnota, ne odkaz na proměnnou...

body.Count < 22 - počáteční velikost...

Nahlásit jako SPAM
IP: 78.136.150.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 36 hostů

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032016 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý