public void updateSprites() {
    // loop through sprites
    for (int i = 0; i < sprites.size(); i++) {
      // load the sprite
      PlayerSprite s = sprites.get(i);

      Level l = levels.get(0);

      if (!l.isLapRace()) {
        s.setScore(s.getHealth());
      }
      else {
        getRacePositions();
      }

      // destroy if health is too low
      if (s.getHealth() < 1) {
        s.setWreck(true);
        s.setAcc(0);
        s.setTurn(0);
        s.setLights(false);
        s.setColor(Color.DARK_GRAY);
      }

      // update faceAngle
      s.incFaceAngle((s.getTurn() * 5));

      // update velocity
      s.updateVel(tyres1, tyres2, tyres3);

      // update position
      s.updatePos();

      // decay timers
      if (s.getColTime() >= 0) {      
        s.incColTime(-1);
      }
      if (s.getSlide() >= 0) {        
        s.incSlide(-1);
      }
      if (s.getScreechTime() >= 0) {        
        s.incScreechTime(-1);
      }

      // print out position
      // System.out.println((int)s.getX() + ", " + (int)(s.getY() - 32));
    }
  }