system("clear"); print "----------------------------------------------\n"; print "Chess Program: HW3: By Chad Sprock\n"; print "-----------------------------------------------\n"; $a=-1; while ($_ = ) { ########Read in match data line by line chomp; ########Extract both players' names from this line my @temp = split(/\s/, $_); $Player1 = uc($temp[0]); $Player2 = uc($temp[1]); ########Extract both players' scores from this line my @temp = split(/-/, $temp[2]); $Score1=$temp[0]; $Score2=$temp[1]; ########Store this information in a match history array $a = a + 1; $History[a]['Player1']=$Player1; $History[a]['Player2']=$Player1; $History[a]['Score1']=$Score2; $History[a]['Score2']=$Score1; #########print "$Player1, $Player2: $Score1-$Score2\n"; #########Compute wins, losses, and draws from the matches if ($Score1>$Score2) { $Record{$Player1}{'win'} = $Record{$Player1}{'win'} + 1; $Record{$Player1}{'score'} = $Record{$Player1}{'score'} + 1; $Record{$Player2}{'loss'} = $Record{$Player2}{'loss'} + 1; } elsif ($Score1<$Score2) { $Record{$Player2}{'win'} = $Record{$Player2}{'win'} + 1; $Record{$Player2}{'score'} = $Record{$Player2}{'score'} + 1; $Record{$Player1}{'loss'} = $Record{$Player1}{'loss'} + 1; } else { $Record{$Player1}{'draw'} = $Record{$Player1}{'draw'} + 1; $Record{$Player2}{'draw'} = $Record{$Player2}{'draw'} + 1; $Record{$Player1}{'score'} = $Record{$Player1}{'score'} + .5; $Record{$Player2}{'score'} = $Record{$Player2}{'score'} + .5; } } ##########Change null wins, losses, and draws to 0 foreach $Key ( keys %Record ) { if (defined($Record{$Key}{'score'}) == 0) { # print $Key.'Score Undefined\n'; $Record{$Key}{'score'} = 0; } if (defined($Record{$Key}{'loss'}) == 0) { # print $Key.'Loss Undefined\n'; $Record{$Key}{'loss'} = 0; } if (defined($Record{$Key}{'win'}) == 0) { # print $Key.'Win Undefined\n'; $Record{$Key}{'win'} = 0; } if (defined($Record{$Key}{'draw'}) == 0) { # print $Key.'Draw Undefined\n'; $Record{$Key}{'draw'} = 0; } } #########Cycle through each player, sorting by points foreach $Key (sort {$Record{$b}{'score'} <=> $Record{$a}{'score'}} (keys(%Record))) { print "$Key -- Score: $Record{$Key}{'score'}\n"; print "Wins: $Record{$Key}{'win'}"; print " , Losses: $Record{$Key}{'loss'}"; print " , Draws: $Record{$Key}{'draw'}"; print "\n\n"; }