以俄羅斯方塊為題的網頁遊戲實作紀錄。儲存庫保留單檔 HTML 原始碼、實作計畫與既有展示素材,適合對照遊戲迴圈、碰撞判定和鍵盤控制的寫法。
檔案入口 · 遊戲內容 · 如何試玩 · 專案地圖 · 限制與署名
檔名與內容不一致:真正的 HTML 遊戲在
task.md;index.html其實是 Markdown 實作計畫。直接開啟index.html不會啟動遊戲。
| 檔案 | 實際內容 |
|---|---|
| task.md | 完整 HTML、CSS 與 JavaScript 遊戲原始碼,以 <!DOCTYPE html> 開頭 |
| index.html | 俄羅斯方塊網頁遊戲實作計畫,不是可玩的首頁 |
| implementation_plan.md | 既有成果說明與展示素材連結;其中指向 index.html 的描述與目前檔案不符 |
| Walkthrough.md | 原始個人文件與開發偏好備註,不是遊戲啟動指南 |
| tetris.png · tetris_demo.webp · tetris_gameplay_finished.png | 隨附圖片與錄影素材;本次未重新驗證其拍攝內容或執行結果 |
以下依 task.md 的程式碼整理,並非新的遊玩測試結果:
- Canvas 繪製 10 × 20 棋盤、七種方塊與下一個方塊預覽。
- 碰撞與滿行消除判定、簡單踢牆旋轉,以及軟降、硬降計分。
- 每累計消除 10 行升一級,依等級加快落下速度。
- 顯示分數、等級與結束畫面;同一按鈕切換開始、暫停、繼續與重新開始。
- 使用 Web Audio API 合成移動、旋轉、落地及消行音效,不需另附音效檔。
| 按鍵 | 操作 |
|---|---|
←、→ |
左右移動 |
↓ |
軟降 |
↑ |
順時針旋轉 |
Z 或左右 Ctrl |
逆時針旋轉 |
| 空白鍵 | 硬降 |
不需要 npm、Python 套件或後端。請使用支援 Canvas 與 Web Audio API 的桌面瀏覽器和鍵盤。
- 先閱讀
task.md確認原始碼;不要把 GitHub 的 Markdown 預覽當成遊戲畫面。 - 將
task.md另存為儲存庫外的tetris.html,保留完整 HTML 內容。 - 用瀏覽器開啟另存的檔案,按「開始遊戲」後操作。音訊可能需要使用者點擊後才可播放。
例如,在儲存庫根目錄執行下列指令;如果目的檔已存在,-n 會避免覆寫:
cp -n task.md ../tetris-preview.html再以瀏覽器開啟上層目錄的 tetris-preview.html。此方式不需更名或覆寫儲存庫內的任何檔案。
.
├── task.md # 遊戲 HTML 原始碼
├── index.html # Markdown 計畫
├── implementation_plan.md # 既有成果紀錄
├── Walkthrough.md # 個人偏好備註
├── tetris.png # 隨附圖片
├── tetris_demo.webp # 隨附錄影素材
├── tetris_gameplay_finished.png # 隨附圖片
├── README.md
└── docs/readme-banner.svg
- 檔名錯置仍維持原樣;本次只整理文件,沒有修改遊戲或部署 GitHub Pages。
- 程式使用固定尺寸棋盤與鍵盤事件,未提供手機觸控控制;小螢幕可能無法完整顯示。
- 既有成果紀錄包含測試通過的敘述,但沒有附可重跑的自動測試套件。本次未啟動遊戲,也未重做那些測試。
- 本專案是學習實作,並非官方 Tetris 產品;遊戲名稱與相關商標屬各權利人。根目錄未附授權檔,重用程式或展示素材前請先確認權利。
- 頁首 SVG 僅是新繪製的標題裝飾,不是產品截圖或驗證證明。