BEGIN { unshift @INC, '.'; }
use Quacks;
-sub chip ($$) {
- my ($cary, $pips) = @_; # put in a gsave translate
- my $o = <<END;
- newpath
- 0 0 chip 0.5 mul 0 360 arc
- gsave 1 setlinewidth $black stroke grestore
- ${\ colour($cary->[0]) } fill
-END
- if ($pips) {
- $o .= <<END;
- ${\ colour($cary->[1]) }
-END
- }
- my $spot = sub {
- my ($x,$y) = @_;
- $o .= <<END;
- newpath
- spot 0.5 sqrt mul 1.1 mul dup
- $x mul exch $y mul
- spot 0.5 mul
- 0 360 arc fill
-END
- };
-
- $spot->( 0, 0) if $pips & 1;
- $spot->(-1,-1) if $pips & 6;
- $spot->(+1,+1) if $pips & 6;
- $spot->(-1,+1) if $pips & 4;
- $spot->(+1,-1) if $pips & 4;
-
- $o;
-}
-
sub veepsspot ($) {
my ($chip) = @_;
<<END;
END
}
-sub ruby () { # put in gsave translate
- <<END;
- newpath
- rubysz neg 0 moveto
- 0 rubysz neg lineto
- rubysz 0 lineto
- 0 rubysz lineto
- closepath
- ${\ colour('1 .2 .2') } gsave fill grestore
- $black 1 setlinewidth stroke
-END
-}
-
sub exposition ($) {
my ($text) = @_;
my $fontsz = 6;
$o .= $exchline->(1, 2, <<END);
${\ $exchip->($moth,1) } ${\ $exslash->() }
${\ $exchip->($purple,1) } ${\ $exslash->() }
- ${\ anychip(2) }
+ ${\ $exchip->($lotus,0) } ${\ $exslash->() }
+ ${\ $exchip->($anychip,2) }
END
$o .= $exchline->(0, 4, <<END);
}
sub book_yellow () {
- my $o = general_book($yellow, [qw(7 12 19)]);
+ my $o = general_book($yellow, [qw(5 11 18)]);
$o .= <<END;
gsave
- 0.50 0.62 dc translate
- 0.65 dup scale
+ 0.52 0.32 dc translate
+ 0.80 dup scale
-26 0 translate
- gsave 26 0 translate ${\ chip($anychip,0) } grestore
+ gsave 26 0 translate ${\ chip($yellow,0) } grestore
gsave 46 0 translate ${\ chip($pumpkin,0) } grestore
- gsave -30 rotate bag_image grestore
- 8 14 translate
- -120 rotate
+ 34 14 translate
+ -22.5 rotate
+ 1 -1 scale
${\ arrow_any("
gsave
arrowlen 0 translate
-85 rotate
- putback_len neg 0
- putback_len
- 240 0 arc
+ -40 0
+ 40
+ 300 0 arc
stroke
grestore
") }
END
};
- my $exchline = sub {
- my ($y, $pips, $content) = @_;
- <<END;
-gsave
- 0.20 0.12 0.16 $y mul add dc translate
- 0.60 dup scale
- gsave ${\ chip($yellow,$pips) } grestore
- 8 -3 moveto (:) show
- 3 0 translate
- 0.8 dup scale
- 24 0 translate
-$content
-grestore
-END
- };
-
- $o .= $exchline->(2, 1, <<END);
- ${\ $exchip->($white,1) } ${\ $exslash->() }
- ${\ $exchip->($anychip,1) } ${\ $exslash->() }
- ${\ $exchip->($lotus,0) }
-END
-
- $o .= $exchline->(1, 2, <<END);
- ${\ $exchip->($white,2) } ${\ $exslash->() }
- ${\ $exchip->($anychip,2) }
-END
-
- $o .= $exchline->(0, 4, <<END);
- ${\ $exchip->($white,3) } ${\ $exslash->() }
- ${\ $exchip->($anychip,4) }
-END
-
$o .= exposition(<<END);
-Put a chip, no bigger than the yellow,
-whose next placed chip is a pumpkin,
-back in your bag.
-
-
+Move up to 1/2/4 pumpkins
+already in your pot, to after the yellow.
+(always immediately after, only one space,
+regardless of other rules)
END
$o;