實戰

瑪利歐金幣牆

使用 PHP 巢狀迴圈建構幾何圖形與金幣陣列應用。(靜態預覽頁,與 09-pra06.php 對照)

直角三角形

【題目需求】

控制內層迴圈邊界,使其隨外層行數遞增。

1 2 3 4 5 6 7
// 【程式碼練習】
for ($i = 1; $i <= 5; $i++) {
    for ($j = 1; $j <= $i; $j++) {
        echo "<img src='images/09-1.png' style='width:30px;display:inline-block'>";
    }
    echo "<br>";
}






正三角形 (金字塔)

【題目需求】

邏輯:左側留白要對齊「金幣寬度」(底下範例用 30px);每列包在 nowrap 裡,避免最底層金幣多時被擠成兩行。

1 2 3 4 5 6 7 8 9 10 11
// 【程式碼練習】
$coinW = 30;
$totalRows = 5;
for ($i = 1; $i <= $totalRows; $i++) {
    $leftPad = ($totalRows - $i) * $coinW;
    echo '<span style="display:block;white-space:nowrap;padding-left:' . $leftPad . 'px">';
    for ($k = 1; $k <= (2 * $i - 1); $k++) {
        echo "<img src='images/09-1.png' style=\"width:{$coinW}px;display:inline-block;vertical-align:middle;\">";
    }
    echo '</span>';
}

空心矩形

【題目需求】

挑戰:實作出只有邊框有金幣的 5x5 矩形。

1 2 3 4
// 【程式碼練習】
// 在此處實作迴圈與 if 判斷邊界邏輯


對角線矩形

【題目需求】

挑戰:除了矩形邊框,還要包含中間的「X」對角線。

1 2 3 4
// 【程式碼練習】
// 在此處實作對角線判斷邏輯 (提示:i 與 j 的關係)


【學習重點】

  • 座標判定:思考矩形四條邊與對角線在座標 (i, j) 上的數學特徵。
  • 巢狀結構:外層控制列,內層控制行。