From ec7ed601a373ffa98a739274be9c901c330019c9 Mon Sep 17 00:00:00 2001 From: mdiluzio Date: Sat, 20 Dec 2014 15:56:08 +0000 Subject: [PATCH] Players moved to external repository Can be found at https://github.com/mdiluz/ttrts-players --- players/perl/ttrts.pm | 179 ---------------------------------------- players/randomPlayer.pl | 104 ----------------------- 2 files changed, 283 deletions(-) delete mode 100644 players/perl/ttrts.pm delete mode 100755 players/randomPlayer.pl diff --git a/players/perl/ttrts.pm b/players/perl/ttrts.pm deleted file mode 100644 index 7e9fdbf..0000000 --- a/players/perl/ttrts.pm +++ /dev/null @@ -1,179 +0,0 @@ -#! /usr/bin/perl -use strict; -use warnings; - -# Get information about a unit from it's descriptor -sub getUnit -{ - return ($_[0] =~ /UNIT:(\d+) tm:(\d+) vs:([^ ]+) dr:([^ ]+) ps:\[(\d+),(\d+)\]/); -} - -# Get the units from a turn file -sub GetUnitsForTurn -{ - my $turnFile = shift; - - # Open the turn file - open (my $TURNHANDLE, '<', $turnFile) or die "Could not open '$turnFile' $!"; - - # Skip the header information - my $headerLine = <$TURNHANDLE>; - my $sizeLine = <$TURNHANDLE>; - my $turnLine = <$TURNHANDLE>; - ( <$TURNHANDLE> =~ /~~~~/ ) or die "Gamestate file did not match expected format"; - - my @units; - while( my $unitLine = <$TURNHANDLE> ) - { - chomp $unitLine; - push(@units,$unitLine); - } - - close $TURNHANDLE; - - return @units; -} - -# Get information from the header for this turn -sub GetHeaderForTurn -{ - my $turnFile = shift; - - # Open the turn file - open (my $TURNHANDLE, '<', $turnFile) or die "Could not open '$turnFile' $!"; - - # Pull in the header information - my $headerLine = <$TURNHANDLE>; - chomp $headerLine; - my $sizeLine = <$TURNHANDLE>; - chomp $sizeLine; - my $turnLine = <$TURNHANDLE>; - chomp $turnLine; - - my ($gameName) = ( $headerLine =~ /===== ([^ ]+) =====/ ); - my ($gameX,$gameY) = ( $sizeLine =~ /SIZE:\[(\d+),(\d+)\]/ ); - - ( <$TURNHANDLE> =~ /~~~~/ ) or die "Gamestate file did not match expected format"; - - close $TURNHANDLE; - - return ($gameName,$gameX,$gameY); -} - -# Get units from a specific team -sub getUnitsOnTeam -{ - my $theTeam = shift; - my @allUnits = @_; - my @myUnits; - - for my $unit (@allUnits) - { - my ($unitTeam) = $unit =~ /tm:(\d+)/; - if ( $unitTeam == $theTeam ) - { - push(@myUnits,$unit); - } - } - - return @myUnits; -} - -sub GetTurnFile -{ - my $turn = shift; - my $turnFile = "Turn_TURN.txt"; - $turnFile =~ s/TURN/$turn/; - return $turnFile; -} - -sub GetCommandFile -{ - my $turn = shift; - my $team = shift; - my $cmdFileName = "Turn_TURN_Team_TEAM.txt"; - $cmdFileName =~ s/TURN/$turn/; - $cmdFileName =~ s/TEAM/$team/; - return $cmdFileName; -} - -# Output the commands file -sub OutputCommandsFile -{ - my $turn = shift; - my $team = shift; - my $commands = shift; - - # Get output file - our $cmdFileName = GetCommandFile($turn,$team); - - if (! -e $cmdFileName) - { - open(my $cmdFile, '>', $cmdFileName) or die "Couldn't open '$cmdFileName' $!"; - print $cmdFile $commands; - close $cmdFile; - - printf "Outputted $cmdFileName\n"; - printf "$commands"; - } - else - { - open(my $cmdFile, '<', $cmdFileName) or die "Couldn't open '$cmdFileName' $!"; - my $old_commands = do { <$cmdFile> }; - - printf "Replaying $cmdFileName\n"; - printf "$old_commands"; - } -} - -# Print a game map -sub PrintGameMap -{ - my $gameX = shift; - my $gameY = shift; - my @units = @_; - - my @map; - - # Fill with blanks - for my $x (0 .. $gameX-1) - { - for my $y (0 .. $gameY-1) - { - $map[$x][$y] = "-"; - } - } - - # Fill with units - for my $unit (@units) - { - my ($id,$tm,$vs,$dr,$psx,$psy) = getUnit($unit); - - $tm += 31; - $vs = "\e[".$tm."m".$vs."\e[0m"; - - $map[$psx][$psy] = $vs; - } - - # Print whole map bottom left is 0,0 - for my $y ( reverse 0 .. $gameY-1 ) - { - for my $x (0 .. $gameX-1) - { - printf($map[$x][$y]); - } - printf("\n"); - } -} - -# Wait for a file to exist -sub WaitForFile -{ - my $file = $_[0]; - while( ! -e $file ) - { - select(undef, undef, undef, 0.01); - } -} - -return 1; \ No newline at end of file diff --git a/players/randomPlayer.pl b/players/randomPlayer.pl deleted file mode 100755 index 14d6338..0000000 --- a/players/randomPlayer.pl +++ /dev/null @@ -1,104 +0,0 @@ -#! /usr/bin/perl -use strict; -use warnings; -use Term::ANSIColor; - -# From http://perlmaven.com/how-to-create-a-perl-module-for-code-reuse -# expect ttrts perl module in a neighboring perl/ dir -use File::Basename qw(dirname); -use Cwd qw(abs_path); -use lib dirname(abs_path($0))."/perl"; - -# Use our ttrts perl library -use ttrts; - -our $usage_text=<