程式碼結構與邏輯
bricks = []
for row in range(brick_rows):
for col in range(brick_columns):
brick_rect = pygame.Rect(col * brick_width, row * brick_height, brick_width, brick_height)
bricks.append(brick_rect)
變數與結構介紹
- bricks:這是一個空列表,用來存放所有建立好的磚塊矩形。
- row 和 col:這兩個變數用來追蹤目前建立的磚塊所處的行列位置。
- brick_rect:透過 pygame.Rect 創建一個矩形物件。這個矩形物件有四個參數,分別是磚塊的 x 座標、y 座標、寬度 (brick_width)、高度 (brick_height)。
雙重迴圈的運作方式
- 最外層的 for row in range(brick_rows) 迴圈負責控制磚塊的行數。每次迴圈執行時,會依據 row 的值來設定磚塊在畫面上的 y 軸位置。
- 內層的 for col in range(brick_columns) 則是控制列數。每個 col 的值會影響 x 座標,確保每個磚塊在同一行內水平排列,間隔為 brick_width。
- 雙重迴圈結構確保了所有磚塊能依序排列在整齊的矩形陣列中,最終形成一個網格狀的磚塊區域。
位置計算與 pygame.Rect 矩形建立
- 在迴圈中,使用 pygame.Rect(col * brick_width, row * brick_height, brick_width, brick_height) 來計算每個磚塊的矩形範圍。
- col * brick_width 和 row * brick_height 分別代表磚塊在 x 軸和 y 軸的起始座標。隨著 col 和 row 的值增加,矩形物件會依序向右和向下排列。
- 每個矩形物件都被存入 bricks 列表中,方便後續進行繪製及碰撞檢測。
我有嘗試著將磚塊顏色變換,但出乎意料居然是整條變色,我直接收穫了一個彩虹,每個顏色飽和度滿到不行,開一秒立馬關起來還原成舊版本,之後再來嘗試不一樣且好看的顏色自己玩。
那今天就先這樣。