square_count = 20; module DropCubes(square_count) { num = floor(rands(0,4,1)[0]); if (num < square_count) { for (y=[0:10:num*10-1]) { translate([0, y, 0]) cube(5); } translate([10, 0, 0]) DropCubes(square_count - num); } else { echo("Ended with", square_count, "squares left."); } } DropCubes(square_count);