Pracując w środowisku biznesowym, nie mam już do czynienia z kodowaniem ani używaniem starej dobrej konsoli. Moja praca jest powtarzalna, a zatem nie stanowi większego wyzwania.Przypisanie tablicy Wąż
Postanowiłem rzucić wyzwanie sobie, pisząc grę w węża na konsoli C#; i chłopiec to sprawił, że mój mózg działa. Nigdy nie musiałem tak ciężko myśleć na co dzień, ale czułem, że moje umiejętności programistyczne nie stawały się lepsze.
Mam jednak problem. Podstawowym podejściem, jakie podjąłem, było stworzenie klasy węża i klasy jedzenia. Klasa snake używa tablicy do przechowywania wszystkich współrzędnych, a następnie klasa rysunku decyduje, jakie współrzędne będą rysowane na ekranie.
Problem polega na tym, że gdy poruszasz wężem, tablica wypełnia się (maksymalna wydajność to 250 dla wydajności), więc kiedy dojdę do końca tablicy, chcę skopiować ostatnie kilka współrzędnych do tablicy temp, przepłukać oryginalną tablicę i skopiuj tempory z powrotem do głównej tablicy.
Problem, który mam, polega na skopiowaniu x współrzędnych z powrotem do oryginalnej tablicy. Postanowiłem zrobić to ręcznie, aby przetestować, ale to rozwiązanie zawsze sprawia, że mój biedny wąż zostawia jeden z jego segmentów na ekranie, kiedy nie powinno go tam być.
Jak to zrobić programowo?
spoints[4, 0] = stemp[249, 0];
spoints[4, 1] = stemp[249, 1];
spoints[4, 2] = stemp[249, 2];
spoints[3, 0] = stemp[248, 0];
spoints[3, 1] = stemp[248, 1];
spoints[3, 2] = stemp[248, 2];
spoints[2, 0] = stemp[247, 0];
spoints[2, 1] = stemp[247, 1];
spoints[2, 2] = stemp[247, 2];
spoints[1, 0] = stemp[246, 0];
spoints[1, 1] = stemp[246, 1];
spoints[1, 2] = stemp[246, 2];
spoints[0, 0] = stemp[245, 0];
spoints[0, 1] = stemp[245, 1];
spoints[0, 2] = stemp[245, 2];
Naprawdę nie mam nic przeciwko zamieszczaniu całej gry tutaj, jeśli ktoś naprawdę chce zagłębić się w kod.
Utrudniasz życie, używając tablic zamiast wpisywanych kolekcji/słowników. –