chiark / gitweb /
move into misc-data.pl: HS1 $fn
authorIan Jackson <ijackson@chiark.greenend.org.uk>
Sun, 10 Mar 2019 20:43:15 +0000 (20:43 +0000)
committerIan Jackson <ijackson@chiark.greenend.org.uk>
Sun, 10 Mar 2019 20:48:42 +0000 (20:48 +0000)
NFC

generate-board

index 484c6492e0fd5e7e3464d895969afc229ff06a59..0a3a50b28fb6770ca59bb64f3b931477b2e935db 100755 (executable)
@@ -934,7 +934,7 @@ sub dykes(){
 }
 
 sub hs_initial_1 ($;$$$) {
-  my ($colour, $fn) = @_;
+  my ($colour) = @_;
   my $hs1 = $c{HS1}{$colour};
   my ($text, $text2);
   if ($hs1->{Water}) {
@@ -951,37 +951,37 @@ sub hs_initial_1 ($;$$$) {
   o("    ".pos_plus_dy_adjunct($c{PA}{HS1_initials})."\n");
   o("    ", ($hs1->{XIYI}[0]*$interval), " ",
            (($hs1->{XIYI}[1]-1)*$interval), " translate\n");
-  if ($fn) {
+  if (defined $text) {
     o("  gsave\n");
     o("        $demo_h setlinewidth 0 0 moveto $demo_w 0 rlineto\n");
     o("        ", facepscolour($colour), " stroke grestore\n");
   }
   one_hs($colour, mkvec(0,0));
-  if ($fn) {
+  if (defined $text) {
     o("    /words {\n");
     o("      2 copy moveto                      ($text) show\n");
     o("      2 copy moveto 0 -$text_sz rmoveto ($text2) show\n");
     o("    } bind def\n");
     o("    gsave ".($hs_sz * 0.8)." $cube_gap translate wordsshow grestore\n");
     o("    $demo_x0 ",($hs_sz * -0.25)," translate\n");
-    $fn->();
   }
-  o("  grestore\n");
-}
-
-sub hs_initial () {
-  hs_initial_1('red');
-  hs_initial_1('purple');
-  hs_initial_1('green', sub {
+  if ($hs1->{Water}) {
     o("    ",(water_cubes_sz(1))," 0 translate\n");
     o("    0 ",(-water_cubes_sz(1) * 0.3)," translate\n");
     water_cubes(1, miscpscolour('edge'));
-  });
-  hs_initial_1('yellow', sub {
+  } elsif ($hs1->{Dykes}) {
     o("    newpath dykepath\n");
     o("    gsave ",miscpscolour('edge')," stroke grestore\n");
     o("    gsave ",miscpscolour('dykehsadd')," fill grestore\n");
-  });
+  }
+  o("  grestore\n");
+}
+
+sub hs_initial () {
+  hs_initial_1('red');
+  hs_initial_1('purple');
+  hs_initial_1('green');
+  hs_initial_1('yellow');
 }
 
 sub play_hint () {