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(){
" ",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");