anchor.diff:  import '../lib/gamemodel.dart';
   import '../lib/rules.dart';
   
  -var stepCount = 1;
   var camera = new Camera();
   
   void main() {
  
positive.code: }
  
  void setupSGF(String sgf, GameState gamestate) {
    stepCount = 1;
    var gameEvents = SGF.parseSGF(sgf);
    gamestate.initialize(gameEvents);
    gamestate.step(stepCount);
    render(gamestate);
  }
  
  void showNextMove(GameState gamestate) {
    stepCount += 1;
    gamestate.step(stepCount);
    
    render(gamestate);
  }
  
  void showPreviousMove(GameState gamestate) {
    stepCount -= 1;
    gamestate.step(stepCount);
    
    render(gamestate);
  }
  
  void showFirstMove(GameState gamestate) {
    stepCount = 1;
    gamestate.step(stepCount);
    
    render(gamestate);
  }
  
negative.code: void handleKeyPress(KeyboardEvent event, GameState gamestate) {
    switch (event.keyCode) {
      case 37: //left
        gamestate.stepBy(-1);
        break;
      case 38: //up
        gamestate.step(gamestate.moves.length);
        break;
      case 39: //right
        gamestate.stepBy(1);
        break;
      case 40: //down
        gamestate.step(1);
        break;
      default: return;
    }
    render(gamestate);
  }
  
  