anchor.diff:    // set initial position and length
     // unset old
     // set direction on new
  -  final lastblock = Point();
  -  lastblock.x = 0;
  -  lastblock.y = 0;
  -  final pointsSize = snakePoints.length;
  -
  -  for (var i = 0; i < pointsSize; i++) {
  +  final lastBlock = Point();
  +  lastBlock.x = 0;
  +  lastBlock.y = 0;
  +
  +  for (var i = 0; i < snakePoints.length; i++) {
       data[snakePoints[i].y][snakePoints[i].x] = 0;
     }
   
     // set
  -  for (var i = 0; i < pointsSize; i++) {
  +  for (var i = 0; i < snakePoints.length; i++) {
       //std::cout << snakePoints[i].x << ", " << snakePoints[i].y << std::endl;
   
       final tempX = snakePoints[i].x;
  
positive.code:       {
          switch (wParam) {
            case VK_LEFT:
              if (direction.x != 1) {
                direction.x = -1;
                direction.y = 0;
  
negative.code:       if (direction.x == 1) {
          // right
          snakePoints[i].x += 1;
          if (snakePoints[i].x >= (bitmapWidth / 10).floor()) {
            snakePoints[i].x = 0;
          }
        } else if (direction.x == -1) {
  