#
# $Id: CardPileUndo.pm,v 4.7 2002/07/21 06:49:52 kono Exp $
#
package CardPlay::CardPileUndo;
use strict;
use vars qw($VERSION @ISA @EXPORT @EXPORT_OK
);
require Exporter;
require AutoLoader;
@ISA = qw(Exporter AutoLoader);
@EXPORT = qw( );
$VERSION = "0.2";
use Tk;
use Carp;
# class method
sub new {
my ($types) = shift;
my $self;
%{$self} = @_;
bless $self;
}
sub undo {
my ($self) = @_;
$self->{'-from'}->merge($self->{'-to'}->split($self->{'-at'}));
}
sub redo {
my ($self) = @_;
$self->{'-to'}->merge($self->{'-from'}->split($self->{'-at'}));
}
sub print {
my ($self) = @_;
my ($card);
print STDERR "undo from:";
if ( defined ($card = $self->{'-from'}->first())) {
print STDERR $card->{'-suit'}, $card->{'-number'};
}
print STDERR " to:";
if ( defined ($card = $self->{'-to'}->first())) {
print STDERR $card->{'-suit'}, $card->{'-number'};
}
print STDERR " at:",$self->{'-at'},"\n";
}
1;
# end