# 第一章:遊戲初始設定
## 遊戲程式流程圖:

## 初始程式
* ### 介紹
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()
```
:::