All pastes #45610 Raw Edit

Unnamed

public text v1 · immutable
#45610 ·published 2006-03-14 08:47 UTC
rendered paste body
<?php
  //Command uses 80 columns
  //K for king, Q for queen, R for rook, B for bishop, and N for knight
  //a-h == files || 1-8 == ranks
  class Chess {
    function rook() {
    
    }
    function knight() {
    
    }
    function bishop() {
    
    }
    function queen() {
    
    }
    function king() {
    
    }
    function pawn() {
    
    }
  }
  
  $Plot = array('a1' => ' ', 'a2' => ' ', 'a3' => ' ', 'a4' => ' ', 'a5' => ' ', 'a6' => ' ', 'a7' => ' ', 'a8' => ' ', 'b1' => ' ', 'b2' => ' ', 'b3' => ' ', 'b4' => ' ', 'b5' => ' ', 'b6' => ' ', 'b7' => ' ', 'b8' => ' ', 'c1' => ' ', 'c2' => ' ', 'c3' => ' ', 'c4' => ' ', 'c5' => ' ', 'c6' => ' ', 'c7' => ' ', 'c8' => ' ', 'd1' => ' ', 'd2' => ' ', 'd3' => ' ', 'd4' => ' ', 'd5' => ' ', 'd6' => ' ', 'd7' => ' ', 'd8' => ' ', 'e1' => ' ', 'e2' => ' ', 'e3' => ' ', 'e4' => ' ', 'e5' => ' ', 'e6' => ' ', 'e7' => ' ', 'e8' => ' ', 'f1' => ' ', 'f2' => ' ', 'f3' => ' ', 'f4' => ' ', 'f5' => ' ', 'f6' => ' ', 'f7' => ' ', 'f8' => ' ', 'g1' => ' ', 'g2' => ' ', 'g3' => ' ', 'g4' => ' ', 'g5' => ' ', 'g6' => ' ', 'g7' => ' ', 'g8' => ' ', 'h1' => ' ', 'h2' => ' ', 'h3' => ' ', 'h4' => ' ', 'h5' => ' ', 'h6' => ' ', 'h7' => ' ', 'h8' => ' ');
  $Pieces = array('White' => array('a1' => 'R', 'b1' => 'N', 'c1' => 'B', 'd1' => 'Q', 'e1' => 'K', 'f1' => 'B', 'g1' => 'N', 'h1' => 'R', 'a2' => 'P', 'b2' => 'P', 'c2' => 'P', 'd2' => 'P', 'e2' => 'P', 'f2' => 'P', 'g2' => 'P', 'h2' => 'P'), 'Black' => array('a8' => 'R', 'b8' => 'N', 'c8' => 'B', 'd8' => 'Q', 'e8' => 'K', 'f8' => 'B', 'g8' => 'N', 'h8' => 'R', 'a7' => 'P', 'b7' => 'P', 'c7' => 'P', 'd7' => 'P', 'e7' => 'P', 'f7' => 'P', 'g7' => 'P', 'h7' => 'P'));
  $Board = array_merge($Plot, $Pieces['White'], $Pieces['Black']);
  $Visual = <<<END
     a   b   c   d   e   f   g   h
   +---+---+---+---+---+---+---+---+
 8 | $Board[a8] | $Board[b8] | $Board[c8] | $Board[d8] | $Board[e8] | $Board[f8] | $Board[g8] | $Board[h8] | 8
   +---+---+---+---+---+---+---+---+
 7 | $Board[a7] | $Board[b7] | $Board[c7] | $Board[d7] | $Board[e7] | $Board[f7] | $Board[g7] | $Board[h7] | 7
   +---+---+---+---+---+---+---+---+
 6 | $Board[a6] | $Board[b6] | $Board[c6] | $Board[d6] | $Board[e6] | $Board[f6] | $Board[g6] | $Board[h6] | 6
   +---+---+---+---+---+---+---+---+
 5 | $Board[a5] | $Board[b5] | $Board[c5] | $Board[d5] | $Board[e5] | $Board[f5] | $Board[g5] | $Board[h5] | 5
   +---+---+---+---+---+---+---+---+
 4 | $Board[a4] | $Board[b4] | $Board[c4] | $Board[d4] | $Board[e4] | $Board[f4] | $Board[g4] | $Board[h4] | 4
   +---+---+---+---+---+---+---+---+
 3 | $Board[a3] | $Board[b3] | $Board[c3] | $Board[d3] | $Board[e3] | $Board[f3] | $Board[g3] | $Board[h3] | 3
   +---+---+---+---+---+---+---+---+
 2 | $Board[a2] | $Board[b2] | $Board[c2] | $Board[d2] | $Board[e2] | $Board[f2] | $Board[g2] | $Board[h2] | 2
   +---+---+---+---+---+---+---+---+
 1 | $Board[a1] | $Board[b1] | $Board[c1] | $Board[d1] | $Board[e1] | $Board[f1] | $Board[g1] | $Board[h1] | 1
   +---+---+---+---+---+---+---+---+
     a   b   c   d   e   f   g   h
END;
  echo '* White chess pieces merged successfully.' . "\n";
  echo '* Black chess pieces merged successfully.' . "\n\n";

while (true) {
  echo '<pre>' . "\n";
  echo $Visual;
  echo "\n" . '</pre>' . "\n";
  echo 'Your Move: ';
  $argv = explode(' ', trim(fgets(STDIN))); // reads one line from STDIN
  if (count($argv) != '2') {
    echo 'Usage: (Position 1 Position 2) a2 a4 ';
  }
  else {
    foreach ($argv as $position) {
      if (!preg_match("/^[a-h1-8]/i", $position)) {
        echo 'An error occured in your last move:' . "\n\n";
        echo '* [1000] Invalid Position Called: ' . $position . "\n";
      }
      elseif (!array_key_exists($position, $Board)) {
        echo 'An error occured in your last move:' . "\n\n";
        echo '* [1001] Invalid Position Called: ' . $position . "\n";
      }
      elseif ($Board[$position] = '') {
      
      }
      elseif () {
        echo 'An error occured in your last move.' . "\n";
        echo 'The error may be due to an illegal instruction, such as:' . "\n\n";
        echo '';
      }
      else {
        for ($i = 0; $i <= 20; $i++) {
          echo "\n";
        }
        //fscanf(STDIN, "%d\n", $number); // reads number from STDIN
        print_r($argv); 
      }
    } 
  }
}

/*
echo '     a   b   c   d   e   f   g   h
   +---+---+---+---+---+---+---+---+
   ';
for ($i = 8; $i >= 1; $i--) {
  echo ' ' . $i . ' | ';
  for ($ii = 97; $ii <= 104; $ii++) {
    echo '$Board[' . chr($ii) . $i . '] | ';
  }
  echo $i . "\n" . '   +---+---+---+---+---+---+---+---+' . "\n";
}
echo '     a   b   c   d   e   f   g   h';

     a   b   c   d   e   f   g   h
   +---+---+---+---+---+---+---+---+
 8 | $Board[a8] | $Board[b8] | $Board[c8] | $Board[d8] | $Board[e8] | $Board[f8] | $Board[g8] | $Board[h8] | 8
   +---+---+---+---+---+---+---+---+
 7 | $Board[a7] | $Board[b7] | $Board[c7] | $Board[d7] | $Board[e7] | $Board[f7] | $Board[g7] | $Board[h7] | 7
   +---+---+---+---+---+---+---+---+
 6 | $Board[a6] | $Board[b6] | $Board[c6] | $Board[d6] | $Board[e6] | $Board[f6] | $Board[g6] | $Board[h6] | 6
   +---+---+---+---+---+---+---+---+
 5 | $Board[a5] | $Board[b5] | $Board[c5] | $Board[d5] | $Board[e5] | $Board[f5] | $Board[g5] | $Board[h5] | 5
   +---+---+---+---+---+---+---+---+
 4 | $Board[a4] | $Board[b4] | $Board[c4] | $Board[d4] | $Board[e4] | $Board[f4] | $Board[g4] | $Board[h4] | 4
   +---+---+---+---+---+---+---+---+
 3 | $Board[a3] | $Board[b3] | $Board[c3] | $Board[d3] | $Board[e3] | $Board[f3] | $Board[g3] | $Board[h3] | 3
   +---+---+---+---+---+---+---+---+
 2 | $Board[a2] | $Board[b2] | $Board[c2] | $Board[d2] | $Board[e2] | $Board[f2] | $Board[g2] | $Board[h2] | 2
   +---+---+---+---+---+---+---+---+
 1 | $Board[a1] | $Board[b1] | $Board[c1] | $Board[d1] | $Board[e1] | $Board[f1] | $Board[g1] | $Board[h1] | 1
   +---+---+---+---+---+---+---+---+
     a   b   c   d   e   f   g   h
*/
  
  
  //sleep('30');
  
?>