anchor.diff:          // up
           snakePoints[i].y -= 1;
           if (snakePoints[i].y < 0) {
  -          snakePoints[i].y = (bitmapHeight / 10) - 1;
  +          snakePoints[i].y = (bitmapHeight / 10).floor() - 1;
           }
         }
       } else {
  
positive.code: bool isRunning = false;
  
  final bitmapInfo = BITMAPINFO.allocate();
  int bitmapWidth;
  int bitmapHeight;
  int bytesPerPixel = 4;
  
negative.code: }
  
  void drawRect(int rectX, int rectY, int width, int height, int hexColor) {
    final red = (hexColor >> 16) & 0xFF;
    final green = (hexColor >> 8) & 0xFF;
    final blue = hexColor & 0xFF;
  
    final pitch = bitmapWidth * bytesPerPixel;
  
    final ptr = Pointer<Uint8>.fromAddress(bitmapMemory.address);
    var rowOffset = 0;
    for (var y = 0; y < bitmapHeight; ++y) {
      var pixelOffset = rowOffset;
      for (var x = 0; x < bitmapWidth; ++x) {
        if ((x >= rectX && y >= rectY) &&
            (x <= (rectX + width) && y <= (rectY + height))) {
          //blue
          ptr.elementAt(pixelOffset).value = blue;
          pixelOffset++;
  
          //green
          ptr.elementAt(pixelOffset).value = green;
          pixelOffset++;
  
          //red
          ptr.elementAt(pixelOffset).value = red;
          pixelOffset++;
  
          ptr.elementAt(pixelOffset).value = 0;
          pixelOffset++;
        } else {
          // move along
          pixelOffset++;
          pixelOffset++;
          pixelOffset++;
          pixelOffset++;
        }
      }
      rowOffset += pitch;
    }
  }
  
  