Four in a Line

Asle known as Connect Four, Four in a line is a game where you try to use your pieces to get a row of four. The rules can be found at http://en.wikipedia.org/wiki/Connect_Four. My thing also has two tubes on each side of the board for easy storage of pieces. I made this thing in OpenSCAD with the following code:

Board:

difference() {
cylinder(8,55,55);
translate([0,0,1])cylinder(7,53,53);
}
//cylinder(8,40,40); //Comment out this line before pressing F6
difference(){
translate([56,0,0])cylinder(100,6,6);
translate([56,0,0])cylinder(100,5,5);
translate([57,0,10])cylinder(3,6,6);
}
difference(){
translate([-56,0,0])cylinder(100,6,6);
translate([-56,0,0])cylinder(100,5,5);
translate([-57,0,10])cylinder(3,6,6);
}
translate([-57,0,9])cylinder(1,6,6);
translate([57,0,9])cylinder(1,6,6);
difference() {
translate([-52,-2,15])cube([104,4,85]); //Change 20 t0 10?
translate([-52,-1,20])cube([104,2,85]);
translate([45,6,65])rotate([90,0,0])cylinder(15,5,5);
translate([45,6,50])rotate([90,0,0])cylinder(15,5,5);
translate([45,6,35])rotate([90,0,0])cylinder(15,5,5);
translate([45,6,20])rotate([90,0,0])cylinder(15,5,5);
translate([45,6,80])rotate([90,0,0])cylinder(15,5,5);
translate([45,6,95])rotate([90,0,0])cylinder(15,5,5);

translate([30,6,65])rotate([90,0,0])cylinder(15,5,5);
translate([30,6,50])rotate([90,0,0])cylinder(15,5,5);
translate([30,6,35])rotate([90,0,0])cylinder(15,5,5);
translate([30,6,20])rotate([90,0,0])cylinder(15,5,5);
translate([30,6,80])rotate([90,0,0])cylinder(15,5,5);
translate([30,6,95])rotate([90,0,0])cylinder(15,5,5);

translate([15,6,65])rotate([90,0,0])cylinder(15,5,5);
translate([15,6,50])rotate([90,0,0])cylinder(15,5,5);
translate([15,6,35])rotate([90,0,0])cylinder(15,5,5);
translate([15,6,20])rotate([90,0,0])cylinder(15,5,5);
translate([15,6,80])rotate([90,0,0])cylinder(15,5,5);
translate([15,6,95])rotate([90,0,0])cylinder(15,5,5);

translate([0,6,65])rotate([90,0,0])cylinder(15,5,5);
translate([0,6,50])rotate([90,0,0])cylinder(15,5,5);
translate([0,6,35])rotate([90,0,0])cylinder(15,5,5);
translate([0,6,20])rotate([90,0,0])cylinder(15,5,5);
translate([0,6,80])rotate([90,0,0])cylinder(15,5,5);
translate([0,6,95])rotate([90,0,0])cylinder(15,5,5);

translate([-15,6,65])rotate([90,0,0])cylinder(15,5,5);
translate([-15,6,50])rotate([90,0,0])cylinder(15,5,5);
translate([-15,6,35])rotate([90,0,0])cylinder(15,5,5);
translate([-15,6,20])rotate([90,0,0])cylinder(15,5,5);
translate([-15,6,80])rotate([90,0,0])cylinder(15,5,5);
translate([-15,6,95])rotate([90,0,0])cylinder(15,5,5);

translate([-30,6,65])rotate([90,0,0])cylinder(15,5,5);
translate([-30,6,50])rotate([90,0,0])cylinder(15,5,5);
translate([-30,6,35])rotate([90,0,0])cylinder(15,5,5);
translate([-30,6,20])rotate([90,0,0])cylinder(15,5,5);
translate([-30,6,80])rotate([90,0,0])cylinder(15,5,5);
translate([-30,6,95])rotate([90,0,0])cylinder(15,5,5);

translate([-45,6,65])rotate([90,0,0])cylinder(15,5,5);
translate([-45,6,50])rotate([90,0,0])cylinder(15,5,5);
translate([-45,6,35])rotate([90,0,0])cylinder(15,5,5);
translate([-45,6,20])rotate([90,0,0])cylinder(15,5,5);
translate([-45,6,80])rotate([90,0,0])cylinder(15,5,5);
translate([-45,6,95])rotate([90,0,0])cylinder(15,5,5);
}

//translate([-55,-4,15])cube([110,8,85]); //Comment out this line before pressing F6
translate([-55,-1,14])cube([110,2,1]);
translate([5.75,-2,15])cube([3.5,4,88]);
translate([-8.75,-2,15])cube([3.5,4,88]);
translate([20.75,-2,15])cube([3.5,4,88]);
translate([-23.75,-2,15])cube([3.5,4,88]);
translate([35.75,-2,15])cube([3.5,4,88]);
translate([-38.75,-2,14])cube([3.5,4,88]);

Token:

difference(){
cylinder(1.8,4.8,4.8);
cylinder(0.5,4,4);
translate([0,0,1.3])cylinder(0.5,4,4);
}