#!/usr/bin/ruby
#
## https://rosettacode.org/wiki/Munching_squares
#
require('GD');
var img = %O'GD::Image'.new(256, 256, 1);
var r = 0..255;
for y=r, x=r {
var color = img.colorAllocate((255 - x - y).abs, (255-x)^y, x^(255-y));
img.setPixel(x, y, color);
}
if (var fh = %f(xor.png).open('>:raw')) {
fh << img.png;
}