# 第一章:遊戲初始設定 ## 遊戲程式流程圖: ![截圖 2025-05-06 00.43.48](https://hackmd.io/_uploads/HJtEao8lgx.jpg) ## 初始程式 * ### 介紹 1. 設定螢幕大小 2. 遊戲迴圈,當按下關閉鍵,退出迴圈並結束遊戲 3. 設定標題 4. 設定每秒鐘迴圈最多執行次數 * ### 程式碼: ```python= import pygame FPS = 60 WIDTH, HEIGHT = 800, 700 pygame.init() screen = pygame.display.set_mode((WIDTH, HEIGHT)) pygame.display.set_caption("打磚塊遊戲") clock = pygame.time.Clock() running = True while running: clock.tick(FPS) # 輸入處理 for event in pygame.event.get(): if event.type == pygame.QUIT: running = False pygame.quit() ``` * ### 語法說明 * `pygame.init()`:pygame初始化。 * `pygame.display.set_mode(size)`: 設定一個視窗並回傳。`size`是一個 *tuple* 包含`(width, height)`。 * `display.set_caption(title)`:設定視窗標題。 * `pygame.time.Clock`:一個 *class* 用來做時間的管理。 * `clock.tick(FPS)`:讓迴圈每秒最多只能跑 PFS 次。 * `pygame.event.get()`: 用來取得目前所有 **事件** 的 *list*,事件的`type`如果為`pygame.QUIT`表示關閉視窗。 * `pygame.quit()`:退出遊戲。 ## 畫面顯示 * ### 介紹 畫面填滿白色,並更新畫面 * ### 程式碼: ```python= WHITE = (255, 255, 255) while running: ... # 畫面顯示 screen.fill(WHITE) pygame.display.update() ``` * ### 語法說明 * `surface.fill(color)`:將某個平面填滿指定顏色,`color`是一個 *tuple* 包含`(R, G, B)`。 * `pygame.display.update()`:更新畫面。 --- :::spoiler 完整程式碼 ```python= import pygame FPS = 60 WIDTH, HEIGHT = 800, 700 WHITE = (255, 255, 255) pygame.init() screen = pygame.display.set_mode((WIDTH, HEIGHT)) pygame.display.set_caption("打磚塊遊戲") clock = pygame.time.Clock() running = True while running: clock.tick(FPS) # 輸入處理 for event in pygame.event.get(): if event.type == pygame.QUIT: running = False # 畫面顯示 screen.fill(WHITE) pygame.display.update() pygame.quit() ``` :::