anchor.diff:  void gameOver() {
     Beep(350, 300);
     KillTimer(hWnd, IDT_TIMER1);
  -  gameoverRow = 0;
  +  gameOverRow = 0;
     SetTimer(hWnd, IDT_TIMER2, 20, nullptr);
   }
   
  
positive.code:   wc.lpfnWndProc = Pointer.fromFunction<WindowProc>(MainWindowProc, 0);
    wc.hInstance = hInstance;
    wc.lpszClassName = CLASS_NAME;
    RegisterClass(wc.addressOf);
  
    // Create the window.
  
    hWnd = CreateWindowEx(
        0, // Optional window styles.
        CLASS_NAME, // Window class
        TEXT('WinSnake'), // Window caption
        WS_OVERLAPPED | WS_CAPTION | WS_SYSMENU | WS_MINIMIZEBOX | WS_VISIBLE,
  
        // Size and position
        CW_USEDEFAULT,
        CW_USEDEFAULT,
        800,
        600,
        NULL, // Parent window
        NULL, // Menu
        hInstance, // Instance handle
        nullptr // Additional application data
        );
  
    if (hWnd == 0) {
      stderr.writeln('CreateWindowEx failed with error: ${GetLastError()}');
      exit(-1);
    } else {
      SetTimer(hWnd, IDT_TIMER1, timerAmount, nullptr);
  
      isRunning = true;
      while (isRunning) {
        // Run the message loop.
  
        final msg = MSG.allocate();
        while (PeekMessage(msg.addressOf, 0, 0, 0, PM_REMOVE) != 0) {
          if (msg.message == WM_QUIT) {
            isRunning = false;
          }
          TranslateMessage(msg.addressOf);
          DispatchMessage(msg.addressOf);
        }
  
        final dc = GetDC(hWnd);
        final rect = RECT.allocate();
        GetClientRect(hWnd, rect.addressOf);
        final windowWidth = rect.right - rect.left;
        final windowHeight = rect.bottom - rect.top;
        draw(dc, rect, 0, 0, windowWidth, windowHeight);
        ReleaseDC(hWnd, dc);
      }
    }
  }
  
negative.code:   factory Point.clone(Point orig) => Point(orig.x, orig.y);
  }
  
  /// Fill rectangle with supplied 24-bit color in RGB format
  void drawRect(int rectX, int rectY, int width, int height, int color) {
    final red = (color >> 16) & 0xFF;
    final green = (color >> 8) & 0xFF;
    final blue = color & 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))) {
          ptr.elementAt(pixelOffset).value = blue;
          pixelOffset++;
  
          ptr.elementAt(pixelOffset).value = green;
          pixelOffset++;
  
          ptr.elementAt(pixelOffset).value = red;
          pixelOffset++;
  
  