#!/usr/bin/perl -w use strict; my $dice = DiePair->new(6, 6); my $total; my $doubles; my $point; my $loser = 0; my $winner = 0; $dice->roll(); $total = $dice->total(); $doubles = $dice->doubles(); print "$total $doubles\n"; package Die; sub new { my $class = shift; my $sides = shift || 6; # make the default 6 my $self = {}; $self->{SIDES} = $sides; bless $self, $class; return $self; } sub roll { my $self = shift; my $random_number = rand; $self->{VALUE} = int ($random_number * $self->{SIDES}) + 1; return $self->{VALUE}; } package DiePair; sub new { my $class = shift; my $self = {}; bless $self, $class; $self->{di1} = new Die(shift); $self->{di2} = new Die(shift); return $self; } sub roll { my $self = shift; $self->{value1} = $self->{di1}->roll(); $self->{value2} = $self->{di2}->roll(); $self->{totalpoints} = $self->{value1} + $self->{value2}; if ($self->{value1} == $self->{value2}) { $self->{wasitdoubles} = 1; } else { $self->{wasitdoubles} = 0; } } sub total { my $self = shift; return $self->{totalpoints}; } sub doubles { my $self = shift; return $self->{wasitdoubles}; } 1;