   }
   if (gb.buttons.pressed(BTN_DOWN)) {
     if (activeLocation == talon) activeLocation = tableau2;
-    else if (activeLocation <= foundation3) activeLocation = activeLocation + 7;
+    else if (activeLocation <= foundation4) activeLocation = activeLocation + 7;
   }
   if (gb.buttons.pressed(BTN_UP)) {
     if (activeLocation >= tableau4) activeLocation = activeLocation - 7;

          mode = drawingCards;
        }
        break;
      case tableau1:
      case tableau2:
      case tableau3:

void drawMovingPile() {
  drawPile(&moving);
  Pile* pile = getActiveLocationPile();
  byte yDelta = 2;
  if (activeLocation >= tableau1) yDelta += 2 * pile->getCardCount();
  moving.x = updatePosition(moving.x, pile->x);
  moving.y = updatePosition(moving.y, pile->y + yDelta);  
}

Pile* getActiveLocationPile() {
