2011-11-15 81 views
0
<?php 
$startX = 2; 
$startY = 5; 

$fieldHeight = 6; 
$fieldWidth = 6; 

$player[2][5] = 1; 


echo "<table>"; 
for ($y=$startY; $y<$fieldHeight+$startY+$fieldHeight; $y++) { 
    echo "<tr>"; 
    for ($x=$startX; $x<$fieldWidth+$startX+$fieldWidth; $x++) { 
     echo "<td>"; 
     if (isset($player[$x][$y])) { 
      echo "UID: " . $player[$x][$y]; 
     } else { 
      echo "(" . $x . ", " . $y . ")"; 
     } 
     echo "</td>"; 
    } 
    echo "</tr>"; 
} 
echo "</table>"; 

將輸出:將X,Y座標在中間

UID: 1 (3, 5) (4, 5) (5, 5) (6, 5) (7, 5) (8, 5) (9, 5) (10, 5) (11, 5) (12, 5) (13, 5) 
(2, 6) (3, 6) (4, 6) (5, 6) (6, 6) (7, 6) (8, 6) (9, 6) (10, 6) (11, 6) (12, 6) (13, 6) 
(2, 7) (3, 7) (4, 7) (5, 7) (6, 7) (7, 7) (8, 7) (9, 7) (10, 7) (11, 7) (12, 7) (13, 7) 
(2, 8) (3, 8) (4, 8) (5, 8) (6, 8) (7, 8) (8, 8) (9, 8) (10, 8) (11, 8) (12, 8) (13, 8) 
(2, 9) (3, 9) (4, 9) (5, 9) (6, 9) (7, 9) (8, 9) (9, 9) (10, 9) (11, 9) (12, 9) (13, 9) 
(2, 10) (3, 10) (4, 10) (5, 10) (6, 10) (7, 10) (8, 10) (9, 10) (10, 10) (11, 10) (12, 10) (13, 10) 
(2, 11) (3, 11) (4, 11) (5, 11) (6, 11) (7, 11) (8, 11) (9, 11) (10, 11) (11, 11) (12, 11) (13, 11) 
(2, 12) (3, 12) (4, 12) (5, 12) (6, 12) (7, 12) (8, 12) (9, 12) (10, 12) (11, 12) (12, 12) (13, 12) 
(2, 13) (3, 13) (4, 13) (5, 13) (6, 13) (7, 13) (8, 13) (9, 13) (10, 13) (11, 13) (12, 13) (13, 13) 
(2, 14) (3, 14) (4, 14) (5, 14) (6, 14) (7, 14) (8, 14) (9, 14) (10, 14) (11, 14) (12, 14) (13, 14) 
(2, 15) (3, 15) (4, 15) (5, 15) (6, 15) (7, 15) (8, 15) (9, 15) (10, 15) (11, 15) (12, 15) (13, 15) 
(2, 16) (3, 16) (4, 16) (5, 16) (6, 16) (7, 16) (8, 16) (9, 16) (10, 16) (11, 16) (12, 16) (13, 16) 

正如你可以在左上角看到,UID:1被放置,我希望它在中間,但我不不知道如何...

我想我會需要做的座標,在startX或東西下面,但如果有 - 座標,我只是推出一個具體的測試,而不是這是可能的?

+0

'$ Y <$ fieldHeight + $ startY + $打印fieldHeight' ...爲什麼添加fieldHeight兩次(並且在X calc中爲fieldWidth同上)? –

+0

這是一個愚蠢的舉動,以嘗試自己修復它:P – John

+0

'在中間' - 在什麼中間? – fredley

回答

0

好了,所以

$startX = 2; 
$startY = 5; 

$player[2][5] = 1; 

你然後要求使用$startX$startY作爲循環基地整數2個for循環。因此,根據您的if條款,要打印的第一項將是$player[2][5](或$player[$startX][$startY])。

演示你到哪兒去了什麼問題與您當前的腳本:更改$startX = 1;$startY = 1和UID將在$ X = 2和$ Y = 5