Snake c# XNA problem

0

Mam listę, która przechowuję kwadraty snake'a:

List<Snake> wezykList = new List<Snake>();

oraz metodę Draw, w której go rysuję:

spriteBatch.Draw(wezyk.wezykList[0].texture, wezyk.wezykList[0].Rectanglee(), Color.Aqua);
            for (int i = 1 ; i < wezyk.wezykList.Count ; i++)
            {
               wezyk.wezykList[i].position = wezyk.wezykList[i-1].position;
               spriteBatch.Draw(sticzeq.wezykList[i].texture, sticzeq.wezykList[i].Rectanglee(), Color.Black);
            }
       

Steruję tylko głową, a chcę, żeby reszta za nią "chodziła". Teraz kwadraty się zlewają i wszystkie są na jednym (głowie). Nie mam pomysłu jak to zmienić. Mógłby mi ktoś dać jakaś wskazówkę ?

0

zamiast sticzeq powinno byc wezyk

0

up

0

do 1 przypisujesz to co było w 0
potem do 2 przypisujesz to co było w 1
a do 3 to co własnie przypisałeś do 2

czyli inaczej mówiąc do wszystkiego przypisujesz to co było w 0

a w ogóle nie musisz przesuwać wszystkich elementów, użyj:

var wezyk = new Queue<Snake>();

a potem
wezyk.Dequeue() do usunięcia starego ogona i
wezyk.Enqueue(...) do stworzenia nowej głowy

0

Niebardzo ogarniam jak to mam zrobić używając kolejki, ale dzięki za odpowiedź, może coś mi się uda z tego zrobić.

1 użytkowników online, w tym zalogowanych: 0, gości: 1