Dobrého dne přeji,
potřebuji umazávat nejstarší item slovníku. Tedy logicky asi 0. Jenže se tatko správně smaže jen ten, co je nacvakaný po deklaraci proměnné slovníku. Ostatní přidané se do toho jaksi nepočítají. Tedy nesmaže se item 0, ale item naposledy přidaný. Což je to, co přesně nepotřebuji.
[code]
body.Add(new Point((int)(X / 12), (int)(Y / 12)), () => GUI.DrawBodySegment(394, 294));
tento se smaže správně
...
body.Remove(body.First().Key);
...
body.Add(new Point((int)(x / 12), (int)(y / 12)), newHead);
[/code]
(LINQ)
Tedy pod určitou podmínkou smaži onen item 0, a pak přidám nejnovější. Jenže v příštím kole se smaže ten nejnovější, ne první. (nejstaší)
Jedná se o hru had. Umazávám zadek a přidávám hlavu. Smazání zadku je pdomíněno tím, zda had jí. Slovník to je proto, že hada nedělám v políčkové grafice. Tak používám jako klíč přepočet float pozice do int políčkové pozice - pro kolize. (Stačí pak použít políčkovou pozici nové hlavy do kolizí...)
Děkuji za pomoc.