Maze 2008: Sample Program

0405.pl


#!/usr/bin/perl

require Term::Screen;
$myterminalscreen=new Term::Screen;
$myterminalscreen->clrscr();

open (MF, "< maze06.map");
@mappityfile = <MF>;
close (MF);

$TheYbit=0;

foreach $andeveryline (@mappityfile)
{
  chomp $andeveryline;
  @oneline = split (/:/, $andeveryline);
  push @amazingplace, [@oneline];
  $TheYbit = $TheYbit + 1;
}

$TheYbit=0;
while ($TheYbit <= 19)
{
  $TheXbit=0;
  while ($TheXbit <= 39)
  {  
    if ($amazingplace[$TheYbit][$TheXbit] eq "@")
    {
      $StartY = $TheYbit;
      $StartX = $TheXbit;
    }
    $myterminalscreen->at($TheYbit, $TheXbit)->puts("$amazingplace[$TheYbit][$TheXbit]");
    $TheXbit++;
  }
  $TheYbit++;
}

$myterminalscreen->at(22,0)->puts("Y: $StartY X: $StartX\n");
$myterminalscreen->at(23,0)->puts("");