#!/usr/bin/perl
print "Content-type: text/html\n\n" ;
$query_string = $ENV{'QUERY_STRING'};
($temp1, $temp2, $temp3) = split(/&/,$query_string);
($temp4, $tournament) = split(/=/,$temp1);
($temp4, $choice) = split(/=/,$temp2);
($temp4, $namer) = split(/=/,$temp3);
print "Click here to go back";
print "
Tournament Selected: $tournament
";
print "Tournament Selected: $tournament
";
print "Choice Selected: $choice
";
$a=-1; $match_number=-1;
$data_file="../$tournament.txt";
open(DAT, $data_file) || die("Could not open file!");
while ($cool = )
{
########Read in match data line by line
chomp;
########Extract both players' names from this line
my @temp = split(/\s/, $cool);
$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'}=$Player2;
$History[$a]{'Score1'}=$Score1;
$History[$a]{'Score2'}=$Score2;
#########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;
}
}
close(DAT);
$match_number=$a;
##########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;
}
}
if (($choice eq "2") || ($choice eq "3") || $choice eq "4") { &Print_Scores; }
if ($choice eq "1") { &Print_Participants; }
if ($choice eq "5") { &Lookup_name;}
sub Lookup_name
{
$Key = uc($namer);
if (defined($Record{$Key}{'score'}) == 0) {
print "Sorry, no record of this player in this tournament.";
exit;
}
print "$Key -- Score: $Record{$Key}{'score'}
";
print "Wins: $Record{$Key}{'win'}";
print " , Losses: $Record{$Key}{'loss'}";
print " , Draws: $Record{$Key}{'draw'}";
print "
";
print "Searching Match History...
";
for ($num=0; $num<= $match_number; $num++){
#print "$History[$num]{'Player1'}, $History[$num]{'Player2'}
";
if ($History[$num]{'Player1'} eq $Key)
{
if ($History[$num]{'Score1'} > $History[$num]{'Score2'}) {
print "Played Against $History[$num]{'Player2'} and Won
";
}
elsif ($History[$num]{'Score1'} < $History[$num]{'Score2'}) {
print "Played Against $History[$num]{'Player2'} and Lost
";
}
else {
print "Played Against $History[$num]{'Player2'} and Drew
";
}
}
elsif ($History[$num]{'Player2'} eq $Key)
{
if ($History[$num]{'Score1'} > $History[$num]{'Score2'}) {
print "Played Against $History[$num]{'Player1'} and Lost
";
}
elsif ($History[$num]{'Score1'} < $History[$num]{'Score2'}) {
print "Played Against $History[$num]{'Player1'} and Won
";
}
else {
print "Played Against $History[$num]{'Player1'} and Drew
";
}
}
}
}
sub Print_Participants
{
foreach $Key (sort {$a <=> $b} (keys(%Record))) {
print "$Key
";
}
}
sub Print_Scores
{
$number=0;
#########Cycle through each player, sorting by points
foreach $Key (sort {$Record{$b}{'score'} <=> $Record{$a}{'score'}} (keys(%Record))) {
#if (($choose ne "4" ) || ($Record{$Key}{'win'} > ($Record{$Key}{'loss'})) {
if (($Record{$Key}{'win'} ge $Record{$Key}{'loss'}) || ($choice ne "4")) {
print "$Key -- Score: $Record{$Key}{'score'}
";
print "Wins: $Record{$Key}{'win'}";
print " , Losses: $Record{$Key}{'loss'}";
print " , Draws: $Record{$Key}{'draw'}";
print "
";
}
if ($choice eq "3") {
$number = $number + 1;
if ($number == 3) {
exit;
}
}
}
exit;
}