#!/usr/bin/perl -w

use strict;
use CGI qw(:standard);
use CGI::Carp qw(fatalsToBrowser);

print "Content-type: text/html\n\n";

my @new_info;
my $img_dir = "http://cs.marlboro.edu/~eholder/cgi/ex/tiles/";

open(ROOM, "rooms/room_0.txt") || die "could not find room";
@new_info = <ROOM>;
close ROOM;

print "<html><head><title>testing navigation</title></head><body>";
Print_Board();
print "</body></html>";

#################################################################
#
#	What needs to be done:
#	 - Tiles range: 0..8 (0 = UL, 1 = UC ... 7 = DC, 8 = DR)
#	 - Tiles 1(UC), 3(CL), 5(CR), & 7(DC) are potential moves
#	 - This makes Print_Contols Obsolete, so move form to here
#	 - Check name of tile for ex***.gif name (means exit)
#	 - Print <input type="image"> for exits
#	 - Need to keep track of tile number for direction
#
#################################################################

sub Print_Board {
 # print game board
 print "<form action=test.cgi method=POST>";
 print "<table cellpadding=0 cellspacing=0 border=0 align=center>";
 foreach my $tile (0..8) {
        my $tile_pic = $new_info[$tile];
	my $is_exit = check_tile($tile_pic);
	my $direct = get_direct($tile_pic);
	print "<tr>" if ($tile == 0);
	print "</tr><tr>" if ($tile%3 == 0 && $tile !=0);
	if ($is_exit) {
		## print input image instead of image
		print "<td><input type=image src=$tile_pic name=direction value=$direct></td>";
	} else {
		## print normal image
		print "<td><img src=$tile_pic height=150 width=150></td>";
	}
 }
 print "</tr></table>";
 print "<input type=hidden name=moves value=16>";
 print "<input type=hidden name=why value=win>";
 print "<input type=hidden name=time value=154>";
 print "<input type=hidden name=name value=Edward>";
 print "</form>";
}

sub check_tile {
	my $is_exit;
	my $tile = shift;
#	print "tile = $tile ====";
	$tile =~ s/http:\/\/cs\.marlboro\.edu\/\~eholder\/cgi\/ex\/tiles\///g;	
#	print "tile = $tile ====";
	$tile =~ s/[^ex]*//g;
#	print "tile = $tile<p>";
	$tile =~ s/ee//g;
	$tile =~ s/exe/ex/g;
#	print "tile = $tile<p>";
	if ($tile eq "ex") {
		$is_exit = 1;
	} else {
		$is_exit = 0;
	}
#	print "is_exit = $is_exit<p>";
	return $is_exit;
}

sub get_direct {
	my $direct;
	my $tile = shift;
#	print "tile = $tile ====";
	$tile =~ s/http:\/\/cs\.marlboro\.edu\/\~eholder\/cgi\/ex\/tiles\///g;	
#	print "tile = $tile ====";
	$tile =~ s/.gif//g;
	$tile =~ s/\w\wwall//g;
	$tile =~ s/center//g;
	$tile =~ s/ex*//g;
	$tile =~ s/\s//g;
#	print "tile = $tile<p>";
	if ($tile eq "up") {
		$direct = "North";
	}
	if ($tile eq "right") {
		$direct = "East";
	}
	if ($tile eq "down") {
		$direct = "South";
	} 
	if ($tile eq "lft") {
		$direct = "West";
	}
#	print "$direct";
	return $direct;
}

