Games-2048

 view release on metacpan or  search on metacpan

lib/Games/2048/Animation.pm  view on Meta::CPAN

has first_value => is => 'rw', default => 0;
has last_value  => is => 'rw', default => 1;

sub value {
	my $self = shift;
	my $value = $self->cur_frame / ($self->frame_count - 1);
	my $range = $self->last_value - $self->first_value;
	return $value * $range + $self->first_value;
}

sub update {
	my $self = shift;
	return if $self->cur_frame >= $self->frame_count;
	$self->cur_frame($self->cur_frame + 1);
	return 1;
}

sub frame_count {
	my $self = shift;
	return floor($self->duration / Games::2048::FRAME_TIME);
}

lib/Games/2048/Util.pm  view on Meta::CPAN

		my $delta_time = $new_time - $time;
		my $delay = $frame_time - $delta_time;
		$time = $new_time;
		if ($delay > 0) {
			Time::HiRes::sleep($delay);
			$time += $delay;
		}
	}
}

sub update_window_size {
	($_window_size) = eval { GetTerminalSize *STDOUT };
	$_window_size //= 80;
}

sub window_size {
	$_window_size;
}

sub window_size_is_automatic {
	$_window_size_is_automatic;

 view all matches for this distribution
 view release on metacpan -  search on metacpan

( run in 0.533 second using v1.00-cache-2.02-grep-82fe00e-cpan-4673cadbf75 )