Mnoooooogo IF-ova.
Predlazem ti da ovih 4 if zamenis sa nijednim:
Code:
if (f%==0)
if (f%=90)
if (f%=180)
if (f%=270)
Mogao bi objektu tenk da dodas jos dva parametra, pravac kretanja( ugao od 0 do 359 ), i brzinu kretanja, eventualno jos i ubrzanje.
Pa bi se tenk kretao:
Code:
if (event.type == SDL_KEYUP) ' Ovaj IF vec koristis
{ Tenk.ubrzanje = Tenk.ubrzanje + 0.3; }
if (event.type == SDL_KEYDOWN) ' Ovaj IF vec koristic
{ Tenk.ubrzanje = Tenk.ubrzanje - 0.3; }
Tenk.brzina = Tenk.brzina + Tenk.ubrzanje;
Tenk.x = Tenk.x + cos(Tenk.pravac * 3.14/180) * Tenk.brzina;
Tenk.y = Tenk.y + sin(Tenk.pravac * 3.14/180) * Tenk.brzina;
Tako bi se resio 4 uporedjivanja i malo ubrzao rad tvog programa. Jer znamo da je uporedjivanje najzahtevnija operacija za procesor, obicno joj je potrebno 24 takta. sto znaci da ako imas 1 procesor od 1GHz uporedjivanje se vrsi brzinom od 1/24 GHz.
I ne znam sta ce ti ono:
if {f%90==0}
Pusti ga da puca u svim pravcima...
I mogao bi da mu dodas nesto kao smirivanje
if (tenk.brzina < 1 && tenk.ubrzanje => 0) { tenk.brzina = 0}
if (tenk.brzina > -1 && tenk.ubrzanje =< 0) { tenk.brzina = 0}
A umesto da kupolu okreces na F i G, za to koristi misa... I dobijas nesto slicno Alien Shooter-u - EXTRA INTERESANTNO i ZARAZNO
Pozdrav