#!/usr/bin/perl
print "Content-Type: text/html\n\n";
$file = "hpl2.txt";
if(!open(FILE,$file)) {
    print "Ack! Couldn't open $file<br>\n";
}
$i = 0;
$turn = 0;
@turns = ();
@players = ("Dan","Dave","Jamie","Joe","Jonathan","Jorge");
while(<FILE>) {
    chomp;
    my(@flds) = split /\t/;
    if($i % 2) {
	my($j) = 0;
	my($player) = 0;
	foreach(@flds) {
	    $j++;
	    if(!(($j+2) % 3)) {
		$turns[$turn]{$player}{hp} = $_;
	    } elsif(!(($j+1) % 3)) {
		$turns[$turn]{$player}{sanity} = $_;
	    } else {
		$turns[$turn]{$player}{kills} = $_;
		$player++;
	    }
	}
	$turn++;
    } else {
	my($j) = 0;
	my($player) = 0;
	my($action) = undef;
	foreach(@flds) {
	    $action ||= $_;
	    $j++;
	    if(!($j % 3)) {
		$turns[$turn]{$player}{action} = $action;
		$player++;
		$action = undef;
	    }
	}
	if($player == scalar @players) {
	    $turns[$turn]{npc}{action} = $action;
	} else {
	    $turns[$turn]{$player}{action} = $action;
	    $turns[$turn]{npc}{action} = undef;
	}
    }
    $i++;
}
close FILE;
print "<table border=1 width=100\%>\n";
print "<tr>";
print "<th rowspan=2>Turn</th>\n";
foreach(@players) {
    print "<th colspan=3>$_</th>\n";
}
print "<th colspan=3>NPC</th>\n";
print "</tr>\n";
print "<tr>";
foreach(@players) {
    print "<th bgcolor=#FF8080>HP</th>\n";
    print "<th bgcolor=#80FF80>Sanity</th>\n";
    print "<th bgcolor=#8080FF>Kills</th>\n";
}
print "<th>&nbsp;</th>\n";
print "</tr>\n";
my($turn) = 0;
foreach my $t (@turns) {
    $turn++;
    print "<tr>\n";
    print "<th rowspan=2>$turn</th>\n";
    if(!$t->{$#players}{action}) {
	print "<td bgcolor=#CCCCCC colspan=".3*(scalar @players).">$t->{0}{action}</td>\n";
    } else {
	for($i=0;$i<@players;$i++) {
	    print "<td colspan=3>$t->{$i}{action}</td>\n";
	}
    }
    print "<td colspan=3 rowspan=2>".($t->{npc}{action} || "&nbsp;")."</td>\n";
    print "</tr>\n";
    print "<tr>\n";
    for($i=0;$i<@players;$i++) {
	if($t->{$i}{hp}) {
	    print "<td bgcolor=#FF8080>$t->{$i}{hp}</td>\n";
	} else {
	    print "<td>&nbsp;</td>\n";
	}
	if($t->{$i}{sanity}) {
	    if($t->{$i}{sanity} =~ /(-?\d+|\?)INS/i) {
		print "<th bgcolor=#FFFF80>$1 (INSANE)</th>\n";
	    } else {
		print "<td bgcolor=#80FF80>$t->{$i}{sanity}</td>\n";
	    }
	} else {
	    print "<td>&nbsp;</td>\n";
	}
	if($t->{$i}{kills}) {
	    print "<td bgcolor=#8080FF>$t->{$i}{kills}</td>\n";
	} else {
	    print "<td>&nbsp;</td>\n";
	}
    }
    print "</tr>\n";
}
print "</table>\n";
