anchor.diff:    }
   
     void init() {
  -    _random = new Random();
       _snake = new Snake();
       _food = _randomPoint();
     }
   
     Point _randomPoint() {
  -    return new Point(_random.nextInt(_rightEdgeX), _random.nextInt(_bottomEdgeY));
  +    Random random = new Random();
  +    return new Point(random.nextInt(_rightEdgeX), random.nextInt(_bottomEdgeY));
     }
   
     void _checkForCollisions() {
  +    // check for collision with food
  +    if (_snake.head == _food) {
  +      _snake.grow();
  +      _food = _randomPoint();
  +    }
  +
       // check death conditions
       if (_snake.head.x <= -1 || _snake.head.x >= _rightEdgeX ||
  -      _snake.head.y <= -1 || _snake.head.y >= _bottomEdgeY ||
  -      _snake.checkForBodyCollision()) {
  +    _snake.head.y <= -1 || _snake.head.y >= _bottomEdgeY ||
  +    _snake.checkForBodyCollision()) {
         init();
  -      return;
  -    }
  -
  -    // check for collision with food
  -    if (_snake.head == _food) {
  -      _food = _randomPoint();
  -      _snake.grow();
       }
     }
   
  
positive.code: }
  
  class Game {
    static const int GAME_SPEED = 50;     // smaller numbers are faster
  
    Random _random;
    num _lastTimestamp = 0;
    int _rightEdgeX;
    int _bottomEdgeY;
  
  
negative.code:   }
  
    void update(num delta) {
      final num diff = delta - _lastTimeStamp;
  
      if (diff > GAME_SPEED) {
        _lastTimeStamp = delta;
        clear();
        drawCell(_food, "blue");
        _snake.update();
  