I'm so lame... lame...
18/10/2005, 18:00:52 | 5 komentarzy | Inne inności
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);
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...
aha.., chyba że tak.., no to sorry znowu wyszło moje lamerstwo :p, ale man'a na 100% w windowsiexp nie mam ;p
dobra zostanę jednak przy pętli, bo to memset cosik mi nie działa...
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