- Modifications to compile ImageMagick
This commit is contained in:
parent
615ec83706
commit
83522c16c3
3442 changed files with 57 additions and 412926 deletions
57
ImageMagick/PerlMagick/demo/Turtle.pm
Normal file
57
ImageMagick/PerlMagick/demo/Turtle.pm
Normal file
|
|
@ -0,0 +1,57 @@
|
|||
package
|
||||
Turtle;
|
||||
|
||||
# Written by jreed@itis.com, adapted by Cristy.
|
||||
|
||||
sub new
|
||||
{
|
||||
my $class = shift;
|
||||
my $self = {};
|
||||
|
||||
@{$self}{qw(x y theta mirror)} = @_;
|
||||
bless $self, $class;
|
||||
}
|
||||
|
||||
sub forward
|
||||
{
|
||||
my $self = shift;
|
||||
my ($r, $what) = @_;
|
||||
my ($newx, $newy)=($self->{x}+$r* sin($self->{theta}),
|
||||
$self->{y}+$r*-cos($self->{theta}));
|
||||
if ($what) {
|
||||
&$what($self->{x}, $self->{y}, $newx, $newy); # motion
|
||||
}
|
||||
# According to the coderef passed in
|
||||
($self->{x}, $self->{y})=($newx, $newy); # change the old coords
|
||||
}
|
||||
|
||||
sub turn
|
||||
{
|
||||
my $self = shift;
|
||||
my $dtheta = shift;
|
||||
|
||||
$self->{theta} += $dtheta*$self->{mirror};
|
||||
}
|
||||
|
||||
sub state
|
||||
{
|
||||
my $self = shift;
|
||||
|
||||
@{$self}{qw(x y theta mirror)};
|
||||
}
|
||||
|
||||
sub setstate
|
||||
{
|
||||
my $self = shift;
|
||||
|
||||
@{$self}{qw(x y theta mirror)} = @_;
|
||||
}
|
||||
|
||||
sub mirror
|
||||
{
|
||||
my $self = shift;
|
||||
|
||||
$self->{mirror} *= -1;
|
||||
}
|
||||
|
||||
"Turtle.pm";
|
||||
Loading…
Add table
Add a link
Reference in a new issue