C#, XNA, Algoritmy
24. 5. 2011 15:26
Jozef Hollý
35 82
tvořím hru arkanoid a chci se zeptat, jestli existuje lepší způsob odrážení kuličky od cihel než projít každou stranu každé cihly kvůli změně směru?
(XNA 4.0, VS professional, C#)
26. 5. 2011 13:23
Tomáš Jecha, MVP, MCSD
860 1596
Je celá řada optimalizačních algoritmů. Například mít cihly rozdělené do pozičních sektorů a prohledávat pouze sektory, které jsou blízké kuličce. Tedy například rozdělit hrací plochu do mřízky 20x20 polí - 400 polí celkem. Každou přidanou cihlu pak zařadit do všech polí, do kterých zasahuje (1 cihla = například 6 polí). Při výsledném hledání projdete jen pole, které zasahuje kulička (například 4 pole). Takže při hledání kolizí projdete jen 4 pole s dejme tomu dohromady méně jak 10 cihel. Náročnější na paměť bude rozdělení na sektory a operace s vytvářením a mazáním cihel.
Administrátoři si vyhrazují právo komentáře upravovat či mazat bez udání důvodu.Mazány budou zejména komentáře obsahující vulgarity nebo porušující pravidla publikování. Pokud nejste zaregistrováni, Vaše IP adresa bude zveřejněna. Pokud s tímto nesouhlasíte, příspěvek neodesílejte.
zapomenuté heslo
zaregistrujte se
Opravdu chcete tento příspěvek nahlásit pro porušování pravidel fóra?
Nahlásit Zrušit
zavřít