Ivan Vučica avatar Ivan Vučica committed d48ef12

Dodano korektno mjerenje vremena. Raketa eksplodira pri udaru u desni zid. Korigirano puštanje zvukova. Malo sređene brzine.

Comments (0)

Files changed (1)

 
     glavniLik.x=0;
     glavniLik.y=0;
-    glavniLik.brzinax=60;
-    glavniLik.brzinay=60;
+    glavniLik.brzinax=0;
+    glavniLik.brzinay=0;
 
 
     ekran=SDL_SetVideoMode(640,480,0,0);
     pjesma=Mix_LoadMUS("pjesma.wav");
 
 
+    uint32_t staroVrijeme = SDL_GetTicks();
 
     while (igraSeJosUvijekVrti)
     {
                 }
                 if(event.key.keysym.sym == SDLK_w)
                 {
-                    glavniLik.brzinay=-30;
+                    glavniLik.brzinay=-300;
                 }
                 if (event.key.keysym.sym == SDLK_s)
                 {
-                    glavniLik.brzinay=30;
+                    glavniLik.brzinay=300;
                 }
 
                 if (event.key.keysym.sym == SDLK_a)
                 {
-                    glavniLik.brzinax=-30;
+                    glavniLik.brzinax=-300;
                 }
                 if (event.key.keysym.sym == SDLK_d)
                 {
-                    glavniLik.brzinax=30;
+                    glavniLik.brzinax=300;
                 }
             }
 
         SDL_Flip(ekran);
 
 //////////////////////////////////////////////////////////////
-        float t = 1./60;
-        float dt = 1./300;
+        uint32_t trenutnoVrijeme = SDL_GetTicks();
+        uint32_t razlikaUMilisekundama = trenutnoVrijeme - staroVrijeme;
+        staroVrijeme = trenutnoVrijeme;
+
+        float dt = razlikaUMilisekundama / 1000.0;
 
         updateRaketa(&raketa, dt);
         for (int i = 0; i < MAX_PARTIKLA; i++)
 
         slikaX ++;
 
-        updateGlavniLik(&glavniLik, t);
+        updateGlavniLik(&glavniLik, dt);
 
     }
 
 		{
 			Mix_PlayMusic(pjesma,0);
 
-			float brzina = (rand () % 10000) / 100. - 50.;
+
+			float brzina = ((rand() % 10000) / 10000. - 0.5) * 100;
 			float kut = (rand() % 180) * 3.14159 / 180.;
 
 
 			partikli[i].vx = cos(kut) * brzina;
 			partikli[i].vy = sin(kut) * brzina;
 
-			partikli[i].t =((rand () % 100) / 100.) * 5 + 3;
+			partikli[i].t =((rand () % 100) / 100.) * 2 + 1;
 			dosadPopunio++;
 
 		}
 	//raketa->y =700;
 	raketa.x = glavniLik.x;
 	raketa.y = glavniLik.y;
-	raketa.vx = 80;
-	raketa.vy =  -60;
-	raketa.t = 7;
+	raketa.vx = 100;
+	raketa.vy =  -50;
+	raketa.t = 2.9;
 
 }
 
 void updateRaketa(Particle *raketa, float dt)
 {
+
     if(raketa->t <=0)
 	{
 		explodeRaketa(raketa);
     raketa->x += raketa->vx * dt;
     raketa->y += raketa->vy * dt;
 
-    raketa->vy += 60 * dt;
+    raketa->vy += 30 * dt;
 
 
 	if(raketa->y < 50)
 	{
 		raketa->x = 600 - (raketa->x - 600);
 		raketa->vx *= -1;
+		explodeRaketa(raketa);
+		spawnNewRaketa();
 	}
 
 	raketa->t -= dt;
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.