part2

#!/usr/bin/env php
<?php
/** Day 16 Part 1 & 2
 * 
 */

require(__DIR__.'/functions.php');

if (@$argv[1] == 'sample'){
    $input = file_get_contents(__DIR__.'/sample.txt');
} else if (@$argv[1] == 'sample2'){
    $input = file_get_contents(__DIR__.'/sample2.txt');
}  else if (@$argv[1] == 'sample3'){
    $input = file_get_contents(__DIR__.'/sample3.txt');
}  else if (@$argv[1] == 'sample4'){
    $input = file_get_contents(__DIR__.'/sample4.txt');
} else {
    $input = file_get_contents(__DIR__.'/input.txt');
}

$lines = explode("\n", trim($input));
$lines = array_map('trim', $lines);

//$tiles = str_split(trim($input));

$tiles = array_map('str_split', explode("\n", trim($input)) );


define('DEAD_BEAM', -1);
define('UP', 0);
define('RIGHT', 1);
define('DOWN', 2);
define('LEFT', 3);

define('X_POSITION', 0);
define('Y_POSITION', 1);
define('BEAM_DIRECTION', 2);

$beam_direction = 0;



$game = new Game();


foreach ($tiles as $y=>$tile_row){
        //$game->row();
    foreach ($tile_row as $x=>$tile){
        echo $tile;
        //$game->tile();
    }
    echo "\n";
}

$max_x = $x;
$max_y = $y; 


$biggest_energized = 0;

$x = -1;
$y = 0;
while ($x++<=$max_x){
    $game = new Game();
    $game->play($tiles,$x,$y,DOWN);
    $energized_count = $game->show_energized();
    if ($energized_count > $biggest_energized)$biggest_energized = $energized_count;

    $game = new Game();
    $game->play($tiles,$x,$max_y,UP);
    $energized_count = $game->show_energized();
    if ($energized_count > $biggest_energized)$biggest_energized = $energized_count;
}

$y = -1;
$x = 0;
while ($y++<=$max_y){
    $game = new Game();
    $game->play($tiles,$x,$y,RIGHT);
    $energized_count = $game->show_energized();
    if ($energized_count > $biggest_energized)$biggest_energized = $energized_count;

    $game = new Game();
    $game->play($tiles,$max_x,$y,LEFT);
    $energized_count = $game->show_energized();
    if ($energized_count > $biggest_energized)$biggest_energized = $energized_count;
}


echo "\n\nBiggest Energized Count: $biggest_energized\n\n";

//$game->play($tiles, 0, 0,RIGHT);

//$game->show_energized();


//$game->show_directions();

//print_r($game->beam_locations);

    echo "\n";
    echo "\n";
    echo "\n";