anchor.diff:    }
     
     void update(double dt) {
  -    // check for input from mouse
  -    // if player has clicked on a card, reveal that card
  +    switch (gameState) {
  +      case 0:  // Menu
  +        
  +        // look for input selecting number of cards
  +        break;
  +      case 1:  // Preview
  +        // Announce READY?
  +        // Announce GO!
  +        // Reveal cards for a set amount of time
  +        // Hide cards, and start timer.  Then switch to enumStatePlaying
  +        break;
  +      case 2: // Playing
  +        // check for input from mouse to select cards
  +       
  +        break;
  +      case 3:  // Finished
  +        // Show players Time, ask them if they'd like to play again?
  +        // If they got a new high score, highlight this
  +        break;
  +    }
     }
     
     void draw() {
  +    
       // draw background
       context.fillStyle ='grey';
       context.fillRect(0, 0, viewportWidth, viewportHeight);
  
positive.code:     
      // draw cards
      
    }
  }
negative.code:   int highScore = 0;
    int currentTime = 0;
    
    int gameState = 0;
    
    int enumStateMenu = 0;  // Menu on top of middle area of game offering game types
    int enumStatePreview = 1;  // cards revealed, player action does nothing
    int enumStatePlaying = 2;  //cards hidden, player can select
    int enumStateFinished = 3;  // Reveal all cards, show score, offer new game
    
    Game() {
      gameState = enumStateMenu;
    }
    
    // to be run whenever player says to start a new game
  