diff --git a/src/mode/SpaceInvaders/SpaceInvaders.h b/src/mode/SpaceInvaders/SpaceInvaders.h index 9e07f41..120f27c 100644 --- a/src/mode/SpaceInvaders/SpaceInvaders.h +++ b/src/mode/SpaceInvaders/SpaceInvaders.h @@ -70,8 +70,11 @@ public: void step(millis_t dt) override { stepRockets(dt); stepInvaders(dt); - collide(); stepHero(dt); + + draw(); + + collide(); if (invadersAlive == 0) { Serial.println("WINNER!"); reset(); @@ -80,13 +83,12 @@ public: Serial.println("GAME OVER"); reset(); } - draw(); } void stepRockets(millis_t dt) { rocketRuntime += dt; if (rocketRuntime > 200) { - rocketRuntime = 0; + rocketRuntime -= 200; for (Rocket *rocket = rocketsBegin; rocket < rocketsEnd; rocket++) { if (rocket->alive) { if (rocket->y == 0) { @@ -108,7 +110,7 @@ public: } if (swarmRuntime >= 1000) { - swarmRuntime = 0; + swarmRuntime -= 1000; if (swarmLeft) { swarmX--; if (swarmX == 0) { @@ -129,7 +131,7 @@ public: void stepHero(millis_t dt) { heroRuntime += dt; if (heroRuntime >= 50) { - heroRuntime = 0; + heroRuntime -= 50; if (heroLeft) { heroX--; if (heroX <= 1) {