chiark / gitweb /
wip multi cubes
authorIan Jackson <ijackson@chiark.greenend.org.uk>
Sat, 2 Mar 2019 16:51:44 +0000 (16:51 +0000)
committerIan Jackson <ijackson@chiark.greenend.org.uk>
Sat, 2 Mar 2019 16:51:44 +0000 (16:51 +0000)
generate-board

index 9a5374fff66d522582233eb00750e9787bbb14a0..b7af3ed08b20def627d2d67eb0d1e093c5a11475 100755 (executable)
@@ -464,16 +464,25 @@ END
 
 our $cube_sz = 7 * MM2PT;
 our $cube_gap = $cube_sz * 0.2;
+our $cube_lw = ($cube_sz * 0.1);
 
-sub water_cube(){
+sub water_cubes_sz($){
+  my ($n) = @_;
+  ($cube_sz + $cube_lw) * $n + ($cube_gap * ($n-1));
+}
+  
+sub water_cubes($){
+  my ($n) = @_;
   my $s = $cube_sz;
-  o("  newpath  0  0  moveto\n");
-  o("          $s  0  lineto\n");
-  o("          $s $s  lineto\n");
-  o("           0 $s  lineto  closepath\n");
-  o("  gsave ", pscolour($c{Colours}{sea}), " fill grestore\n");
-  o("  gsave ", '0 setgray ', ($cube_sz * 0.1),
-    " setlinewidth stroke grestore \n");
+  for my $i (0..$n-1) {
+    o("  newpath  0  0  moveto\n");
+    o("          $s  0  rlineto\n");
+    o("           0 $s  rlineto\n");
+    o("         -$s  0  rlineto  closepath\n");
+    o("  gsave ", pscolour($c{Colours}{sea}), " fill grestore\n");
+    o("  gsave ", '0 setgray ', $cube_lw,
+      " setlinewidth stroke grestore \n");
+  }
 }
 
 sub sea_track(){
@@ -504,7 +513,7 @@ sub sea_track(){
       " ",psvec(mkvec( $token_sz * 1.25 + $cube_sz, 0 )), " rlineto stroke\n");
     o("  ",($token_sz * 0.6 + $cube_gap)," ",($cube_gap + $hs_lw),
       " translate\n");
-    water_cube();
+    water_cubes(2);
     o("  grestore\n");
   }
   o("  grestore\n");