       shootY[i] = -1;
   }
 
+  if (step == 0 && phase == PHASE_NEXT_WAVE && curTime - phaseTime > 2000)
+  {
+    phase = PHASE_GAME;
+  }
+
   if (step == 0 && phase == PHASE_GAMEOVER && curTime - phaseTime > 3000)
   {
     phase = PHASE_LOGO;

  }
  
  // draw cannon
  if (lives && phase == PHASE_GAME)
    sprite_render(&cannon, cannonX, cannonY, buf, y, GREEN);

  // draw shoots
  if (phase == PHASE_GAME)
    for (int i = 0 ; i < SHOOTS ; ++i)
    {
      if (shootY[i] >= 0)

// Phases
////////////////////////////////////////////////////////////

enum Phases
{
  PHASE_LOGO,
  PHASE_GAME,
  PHASE_NEXT_WAVE,
  PHASE_GAMEOVER
};
uint8_t phase = PHASE_LOGO;

////////////////////////////////////////////////////////////
