Dama için çok boyutlu bir dizi değerler atama

0 Cevap php

Benim soru yerine ben rakam ve harfleri atayabilirsiniz taşımak için koordinat kullanarak bu yüzden ben bu değerlerle hareket edebilir

Düzenleme: Ben 8x8 tablo html kurulu çıktısı am

$square = array( //    A B C D E F G H     
               0 array(0,0,0,0,0,0,0,0),
               1 array(0,0,0,0,0,0,0,0),
               2 array(0,0,0,0,0,0,0,0),
               3 array(0,0,0,0,0,0,0,0),
               4 array(0,0,0,0,0,0,0,0),
               5 array(0,0,0,0,0,0,0,0),
               6 array(0,0,0,0,0,0,0,0),
               7 array(0,0,0,0,0,0,0,0),
);

bu nedenle zaman kullanıcı girişleri: Nereden: F1: G2 parçaları taşımak

daha iyi olmaz ben bunu edilir

Array ( 'A' => Array ( [0] => 0 [1] => 0 [2] => 0 [3] => 0 [4] => 0 [5] => 0 [6] => 0 [7] => 0 ) 
        'B' => Array ( [0] => 0 [1] => 0 [2] => 0 [3] => 0 [4] => 0 [5] => 0 [6] => 0 [7] => 0 ) 
        'C' => Array ( [0] => 0 [1] => 0 [2] => 0 [3] => 0 [4] => 0 [5] => 0 [6] => 0 [7] => 0 ) 
        'D' => Array ( [0] => 0 [1] => 0 [2] => 0 [3] => 0 [4] => 0 [5] => 0 [6] => 0 [7] => 0 ) 
        'E' => Array ( [0] => 0 [1] => 0 [2] => 0 [3] => 0 [4] => 0 [5] => 0 [6] => 0 [7] => 0 ) 
        'F' => Array ( [0] => 0 [1] => 0 [2] => 0 [3] => 0 [4] => 0 [5] => 0 [6] => 0 [7] => 0 ) 
        'G' => Array ( [0] => 0 [1] => 0 [2] => 0 [3] => 0 [4] => 0 [5] => 0 [6] => 0 [7] => 0 ) 
        'H' => Array ( [0] => 0 [1] => 0 [2] => 0 [3] => 0 [4] => 0 [5] => 0 [6] => 0 [7] => 0 ) 

    ); 

parseSquareFrom

function parseSquareFrom() {
    if (strlen($square) != 2) {
    return FALSE;
    }

    $coords = array(ord('A') - ord($square[0]),
            $square[1] - 1);


    // Perform bounds-checking.
    if ($coords[0] < 0 || $coords[0] > 7 || $coords[1] < 0 || $coords[1] > 7) {
    return FALSE;
    }

    return $coords;
}
$coords = parseSquare($square);
if ($coords === FALSE) {
    // Invalid input, handle this case.
} else {
    $piece = $board[$coords[0]][$coords[1]]; // for example
}

ve parseSquareTo

function parseSquareTo() {
    if (strlen($square1) != 2) {
    return FALSE;
    }

  $coords1 = array(ord('A') - ord($square1[0]),
            $square1[1] - 1);


    // Perform bounds-checking.
    if ($coords1[0] < 0 || $coords1[0] > 7 || $coords1[1] < 0 || $coords1[1] > 7) {
    return FALSE;
    }

    return $coords1;
}

$coords1 = parseSquare($square);
if ($coords1 === FALSE) {
    // Invalid input, handle this case.
} else {
    $piece = $board[$coords1[0]][$coords1[1]]; // for example
}

ben bu kod ile kullanabilirsiniz

    $board[$coords1[0]-1][$coords1[1]+1] = $board[$coords[0]][$coords[1]];
    $board[$coords[0]][$coords[1]] = 0;

    //eating action
    $board[$coords1[0]][$coords1[1]] = 0;
    $board[$coords1[0]-2][$coords1[1]+2] = $board[$coords[0]][$coords[1]];

    //if player is 'up' then the value of $way is 1 so
      $board[$x+(-1*$way)][$y+(1*$way)] = $board[$coords[0]][$coords[1]]; // position 2,2 becomes 1,3
   //if player is not 'up' then the value of $way is -1 so
      $board[$x+(-1*$way)][$y+(1*$way)] = $board[$coords[0]][$coords[1]]; // position 2,2 becomes 3,1

ya $ adet = $ board [$ coords1 [0]] [$ coords1 [1]] olduğu; kullanılamaz

0 Cevap