Witam, piszę węża - takiego ze starej nokii. Program, wąż porusza się po płaszczyźnie R2 i korzysta z goto xy.
Mam problem z "durnym" licznikiem, który potrzebny jest mi do zliczania zjedzonych ciastek.
Zmienna nie pamięta wartości i nie dodaje do niej kolejnych.
Program korzysta ze switcha. Kończę działanie programu naciskając escape. Gdy wąż zatrzyma się w punkcie p = (x=5, y=5)
i wypisze licznik, wynosi on 1. Gdy wąż przejdzie przez punkt p i zatrzymam program licznik wynosi zero.
"Wrzucanie" funkcji liczącej w różne miejsca pętli while czy switcha nie przynosi rezultatów - już sam nie wiem
Funkcja zliczająca wygląda następująco:
int Count(int x, int y, int Sx, int Sy)
{
int suma=0;
if((Sx==x)&&(Sy==y))
suma+=1;
return suma;
}
Szkielet mojego programu
while( koniec == false )
{
//*tu próbowałem wrzucić funkcję Count - bez rezultatu*//
switch(znak)
{
case//obsluga znakow specjalnych
znak = pobierz znak
switch(znak)
{
//obsluga strzalek
case 72:
y=f(y-1)
petla for
if(kbhit())
//*tu próbowałem wrzucić funkcję Count - bez rezultatu*//
break;
else
{
rysuj snake
opoznienie rysowania(poruszanie sie)
//*tu próbowałem wrzucić funkcję Count - bez rezultatu*//
}
break;
//kolejne strzalki
case
...
znak=0;
}
kolejny raz rysuj sanke
break;
case 27: //ESC
...
}
Count(x,y,Sx,Sy)
}
Tryb warunkowy powinien sprawdzać warunek po każdym naciśnięciu strzałki, nie dopiero po zakończeniu programu(gdzie tak się właśnie dzieje).
Proszę o pomoc