pecet jogger

cokolwiek o czymkolwiek

I'm so lame... lame...

18/10/2005, 18:00:52 | 5 komentarzy | Inne inności

No więc miałem małą przerwę w pracy nad moim projektem, dzisiaj siadam i zamiast usunąć pewnego buga to.., dodałem jeszcze jednego, przed chwilą znalazłem przyczynę problemu, była ona wręcz - idiotyczna mianowicie mam coś takiego:
int pressedKeys[10];
następnie napisałem sobie prościutką funkcję czysczącą całą tablicę:
for(int a = 0; a < 11; a++){pressedKeys[a] = 0;}
No właśnie założyłem że jeśli a jest mniejsze od 11 to pętla się wykonuje - czyli wykonuje się od 0 do 10, a zapomniałem że deklaracja int pressedKeys[10];, nie deklaruje wcale elementów od 0 do 10 (11 elementów), ale od 0 do 9 (10 elementów), efektem czego następna zmienna, która w mojej grze przechowuje współrzędne kamery, zostawała nadpisywana.., no i jednym słowem: głupia pomyłka, a tak niszczy życie programisty :p.

I'm so lame... so lame... so lame...

fooshmer (#) 19/10/2005 - 14:10:23

man memset ;)?

memset(pressedKeys, 0, 10);

PeCet (#) 19/10/2005 - 14:44:44

nie za bardzo man (bo VC++) i nie za bardzo memset, bo po co jak jest SDL_GetKeyState, zapomniałem dodac że robię to coś w SDL'u ;p i nie chcę używac funkcji charakterystycznych dla danej platformy...

PeCet (#) 19/10/2005 - 14:46:23

aha.., chyba że tak.., no to sorry znowu wyszło moje lamerstwo :p, ale man'a na 100% w windowsiexp nie mam ;p

PeCet (#) 19/10/2005 - 14:49:39

dobra zostanę jednak przy pętli, bo to memset cosik mi nie działa...

PeCet (#) 19/10/2005 - 14:56:10

hm... kontynuuję monolog:
mianowicie memset(pressedKeys, 0, 10); nie działało...
ale
memset(pressedKeys, 0x0, 10);
działa.., a myślałem że to to samo tylko to drugie jest w kodzie 16-tkowym

Dodaj komentarz