使用 Python 和 Pygame 開發的經典俄羅斯方塊遊戲,包含多種遊戲模式和現代化介面。
- 經典俄羅斯方塊機制:7 種不同的俄羅斯方塊形狀 (I, O, T, S, Z, J, L)
- 流暢操控:使用方向鍵進行移動和旋轉
- 消行機制:完整的水平線會自動消除
- 漸進難度:遊戲速度隨進度遞增
- 分數追蹤:當前和最高消行數記錄
- 🎯 暫停功能:按 P 鍵暫停/繼續遊戲
- 🔧 除錯模式:按 D 鍵開關除錯訊息顯示
- 👁️ 下一個方塊預覽:顯示即將出現的俄羅斯方塊
- 🎨 多種遊戲模式:不同視覺風格和遊戲玩法
- Python 3.8 或更高版本
- pip 套件管理器
-
複製或下載專案:
git clone <repository-url> cd Python_Tetris-master
-
建立虛擬環境(建議):
python3 -m venv tetris_env source tetris_env/bin/activate # macOS/Linux # tetris_env\Scripts\activate # Windows
-
安裝相依套件:
pip install -r requirements.txt
主要遊戲(推薦):
python play.py其他版本:
python playColor.py- 彩色俄羅斯方塊版本python play2.py- 替代遊戲版本python play-update.py- 更新版本
網頁 API 伺服器(獨立工具):
python main.py
# 訪問 http://127.0.0.1:8000| 按鍵 | 功能 |
|---|---|
| ↑ | 旋轉俄羅斯方塊 |
| ↓ | 快速下降(持續按住) |
| ← | 向左移動 |
| → | 向右移動 |
| P | 暫停/繼續遊戲 |
| D | 開關除錯模式 |
| ESC | 退出遊戲 |
Python_Tetris-master/
├── play.py # 🎮 主要遊戲(增強版,含暫停功能)
├── playColor.py # 🎨 彩色俄羅斯方塊版本
├── play2.py # 🔄 替代遊戲版本
├── play-update.py # 📝 更新版本
├── drew.py # 🎭 圖形工具(Box 類別)
├── main.py # 🌐 FastAPI 網頁伺服器
├── requirements.txt # 📦 專案相依套件
├── tetris_env/ # 🐍 虛擬環境
├── README.md # 📖 本檔案
├── CLAUDE.md # 🤖 AI 助手指南
└── .gitignore # 🚫 Git 忽略規則
- 特色:暫停功能、英文介面
- 狀態:✅ 功能完整,包含最新增強功能
- 適合:大多數使用者,包含所有現代化功能
- 特色:每種形狀使用不同顏色的俄羅斯方塊
- 顏色:橘色 (N1)、紫色 (N2) 等
- 適合:喜歡視覺變化的使用者
- 特色:相似的核心玩法,細微差異
- 適合:比較不同實作方式
- pygame:遊戲引擎,處理圖形和輸入
- fastapi:網頁框架,用於 API 伺服器
- uvicorn:FastAPI 的 ASGI 伺服器
- 標準函式庫:os、sys、random、time
- 物件導向設計:模組化的 Box 類別處理圖形
- 事件驅動:Pygame 事件系統處理輸入
- 遊戲迴圈:60 FPS 渲染,流暢動畫效果
- 碰撞偵測:精確的俄羅斯方塊放置驗證
- 最佳化渲染:高效的精靈圖形系統
- 記憶體管理:適當的清理和資源處理
- 流暢遊戲體驗:一致的影格率和時序
遊戲支援透過常數進行簡易自訂:
- 速度設定:
BRICK_DOWN_SPEED_MAX、BRICK_DROP_RAPIDLY - 視窗大小:
canvas_width、canvas_height - 顏色主題:各種顏色常數設定
- 俄羅斯方塊形狀:定義在
brick_dict中
- 匯入錯誤:確保已安裝 pygame(
pip install pygame) - 顯示問題:檢查系統是否支援所需的顯示模式
- 效能問題:如果遊戲執行緩慢,請關閉其他應用程式
遊戲中按 D 鍵啟用除錯模式,顯示:
- 網格狀態視覺化
- 當前 FPS 計數器
- 俄羅斯方塊位置資訊
本專案基於經典俄羅斯方塊遊戲機制。詳細說明請參考:
歡迎貢獻:
- 新增遊戲功能
- 改善圖形和動畫
- 效能最佳化
- 修復錯誤
- 新增遊戲模式
本專案為開源專案。請查看原作者的授權條款。
享受俄羅斯方塊遊戲!🎮