Source code
Built with Processing
float[] RandomArray = new float[40];
int [] shiftArray = new int[40];

void setup(){
size(320, 320);
background(128);
maza();
}

void initRandomArray(){
for(int j=0; j<40; j=j+1) {
RandomArray[j]=random(200)/200.0;
}
}

void maza(){
noStroke();
for(int j=1; j<33; j=j+1) {
initRandomArray();
beginShape(QUAD_STRIP);
fill (125,47,20);
vertex( 0,j*10);
vertex( 0,(j-1)*10);
for(int i=1; i<20; i=i+1) {
if ((i%2)==0){
fill(125+int(RandomArray[i]*130), 47+int(RandomArray[i]*200),20+int(RandomArray[i]*RandomArray[i]*210));
vertex( i*16,j*10);
fill(255, 247,230);
if (j==1) {fill (125,47,20);}
vertex( i*16,(j-1)*10);
}else{
fill(255, 247,230);
if (j==1) {fill (125,47,20);}
vertex( i*16,(j-1)*10);
fill(125+int(RandomArray[i]*130), 47+int(RandomArray[i]*200),20+int(RandomArray[i]*RandomArray[i]*210));
vertex( i*16,j*10);
}
}
fill (125,47,20);
vertex( 320,j*10);
vertex(320,(j-1)*10);
endShape();
j=j+1;
beginShape(QUAD_STRIP);
fill (125,47,20);
vertex( 0,j*10);
vertex( 0,(j-1)*10);
for(int i=1; i<20; i=i+1) {
if ((i%2)==0){
fill(255, 247,230);
if (j==32) {fill (125,47,20);}
vertex( i*16,j*10);
fill(125+int(RandomArray[i]*130), 47+int(RandomArray[i]*200),20+int(RandomArray[i]*RandomArray[i]*210));
vertex( i*16,(j-1)*10);
}else{
fill(125+int(RandomArray[i]*130), 47+int(RandomArray[i]*200),20+int(RandomArray[i]*RandomArray[i]*210));
vertex( i*16,(j-1)*10);
fill(255, 247,230);
if (j==32) {fill (125,47,20);}
vertex( i*16,j*10);
}
}
fill (125,47,20);
vertex( 320,j*10);
vertex(320,(j-1)*10);
endShape();
}
// black rectangles
fill(0, 0,0);
for(int i=0; i<340; i=i+1) {
rect (random(8)+(i%20)*17,-1+int(i/20)*20,4+random(4),1+random(2));
}
//save("maza.jpg");
}


void loop(){}

void mousePressed() {
maza();
}
// save IMAGE hacked by Martin and Koenie
public void save(String filename) {
BufferedImage img = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);
img.setRGB(0, 0, width, height, pixels, 0, height);
if(filename.toLowerCase().endsWith(".jpg"))
{
try {File file = new File(filename);
javax.imageio.ImageIO.write(img, "jpg", file);
}
catch(Exception e) {}}
else if(filename.toLowerCase().endsWith(".png"))
{try
{File file = new File(filename);
javax.imageio.ImageIO.write(img, "png", file);
}
catch(Exception e) {}
}
else {g.save(filename);
}
}