You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Web-Dev-For-Beginners/translations/tw/4-typing-game
localizeflow[bot] e11291bd14
chore(i18n): sync translations with latest source changes (chunk 10/20, 100 files)
1 month ago
..
solution 🌐 Update translations via Co-op Translator 6 months ago
typing-game chore(i18n): sync translations with latest source changes (chunk 10/20, 100 files) 1 month ago
README.md chore(i18n): sync translations with latest source changes (chunk 10/20, 100 files) 1 month ago

README.md

事件驅動程式設計 - 建立一款打字遊戲

journey
    title 你的打字遊戲開發歷程
    section 基礎
      規劃遊戲結構: 3: Student
      設計使用者介面: 4: Student
      設定 HTML 元素: 4: Student
    section 功能
      處理使用者輸入: 4: Student
      記錄時間: 5: Student
      計算準確度: 5: Student
    section 功能特色
      添加視覺反饋: 5: Student
      實作遊戲邏輯: 5: Student
      打磨體驗: 5: Student

簡介

這是每位開發者都知道但很少談論的事:打字快是一種超能力!🚀 想想看 — 你把腦中的想法更快輸入到程式編輯器中,創意就能流暢發揮。這就像在你的思緒與螢幕之間有條直接的管線。

pie title 遊戲特色
    "即時反饋" : 25
    "績效追蹤" : 20
    "互動式介面" : 20
    "計時系統" : 15
    "引言管理" : 10
    "結果顯示" : 10

想知道提升這項技能的最好方法之一嗎?你猜對了 — 我們要一起做個遊戲!

flowchart LR
    A[玩家開始遊戲] --> B[顯示隨機引用]
    B --> C[玩家輸入字元]
    C --> D{字元正確嗎?}
    D -->|是| E[綠色高亮]
    D -->|否| F[紅色高亮]
    E --> G[更新準確率]
    F --> G
    G --> H{引用完成?}
    H -->|否| C
    H -->|是| I[計算每分鐘字數]
    I --> J[顯示結果]
    J --> K[再玩一次?]
    K -->|是| B
    K -->|否| L[遊戲結束]
    
    style A fill:#e1f5fe
    style D fill:#fff3e0
    style E fill:#e8f5e8
    style F fill:#ffebee
    style I fill:#f3e5f5

讓我們一起打造一款超棒的打字遊戲吧!

準備好將你學過的 JavaScript、HTML 和 CSS 技能派上用場了嗎?我們將建立一款打字遊戲,挑戰來自傳奇偵探 福爾摩斯 的隨機語錄。遊戲會記錄你打字的速度與正確性 — 相信我,比你想像中還要上癮!

mindmap
  root((打字遊戲開發))
    User Interface
      Input Elements
      Visual Feedback
      Responsive Design
      Accessibility
    Game Logic
      Quote Selection
      Timer Management
      Accuracy Tracking
      Score Calculation
    Event Handling
      Keyboard Input
      Button Clicks
      Real-time Updates
      Game State Changes
    Performance Metrics
      Words Per Minute
      Character Accuracy
      Error Tracking
      Progress Display
    User Experience
      Immediate Feedback
      Clear Instructions
      Engaging Content
      Achievement System

demo

你需要具備的知識

flowchart TD
    A[使用者操作] --> B{事件類型?}
    B -->|按鍵| C[鍵盤事件]
    B -->|按鈕點擊| D[滑鼠事件]
    B -->|計時器| E[時間事件]
    
    C --> F[檢查字元]
    D --> G[開始/重設遊戲]
    E --> H[更新計時器]
    
    F --> I{正確嗎?}
    I -->|是| J[標示綠色]
    I -->|否| K[標示紅色]
    
    J --> L[更新分數]
    K --> L
    L --> M[檢查遊戲狀態]
    
    G --> N[產生新引用]
    H --> O[顯示時間]
    
    M --> P{遊戲完成?}
    P -->|是| Q[顯示結果]
    P -->|否| R[繼續遊戲]
    
    style A fill:#e1f5fe
    style F fill:#e8f5e8
    style I fill:#fff3e0
    style Q fill:#f3e5f5

在開始之前,請確保你熟悉以下概念(如果需要快速複習也沒關係—我們都經歷過!):

  • 建立文字輸入和按鈕控制項
  • CSS 及使用類別設定樣式
  • JavaScript 基礎
    • 建立陣列
    • 產生隨機數字
    • 取得目前時間

如果感覺某些稍微生疏,完全沒問題!有時最好的鞏固方法就是直接動手做專案,邊做邊學。

🔄 教學小檢視

基礎評估:開始開發前,請確定你了解:

  • HTML 表單和輸入元素的運作
  • CSS 類別與動態樣式
  • JavaScript 事件監聽與處理程序
  • 陣列操作與隨機選取
  • 時間測量與計算

快速自我測試:你能解釋這些概念如何在互動遊戲中結合嗎?

  • 事件 在使用者互動時觸發元素
  • 處理程序 處理事件並更新遊戲狀態
  • CSS 提供使用者操作的視覺回饋
  • 時間控制 支援效能測量和遊戲進度
quadrantChart
    title 輸入遊戲技能發展
    x-axis 初學者 --> 專家
    y-axis 靜態 --> 互動式
    quadrant-1 進階遊戲
    quadrant-2 即時應用程式
    quadrant-3 基本網頁
    quadrant-4 互動網站
    
    HTML Forms: [0.3, 0.2]
    CSS Styling: [0.4, 0.3]
    Event Handling: [0.7, 0.8]
    Game Logic: [0.8, 0.9]
    Performance Tracking: [0.9, 0.7]

開始動手做吧!

使用事件驅動程式設計建立打字遊戲

你接下來的 5 分鐘可以做什麼

  • 開啟瀏覽器主控台,嘗試使用 addEventListener 監聽鍵盤事件
  • 建立簡單的 HTML 頁面,含輸入欄位,測試打字偵測
  • 練習字串比對,將打字文字與目標文本做比較
  • 嘗試 setTimeout,熟悉計時函數

🎯 下一個小時你可以完成什麼

  • 完成課後測驗,理解事件驅動程式設計
  • 建立簡易版打字遊戲,包括文字驗證
  • 新增正確與錯誤打字的視覺回饋
  • 根據速度與正確率實作簡單計分系統
  • 用 CSS 美化遊戲界面

📅 你的週遊戲開發計劃

  • 完成具備所有功能與精緻度的完整打字遊戲
  • 增加難度等級,詞彙複雜度分級
  • 實作使用者統計追蹤(每分鐘字數、準確率趨勢)
  • 製作音效與動畫,提升使用體驗
  • 讓遊戲響應式並支援觸控裝置
  • 在線上分享遊戲,收集使用者反饋

🌟 你的月度互動式開發計劃

  • 建造多款探索不同互動模式的遊戲
  • 學習遊戲迴圈、狀態管理及效能優化
  • 參與開源遊戲開發專案
  • 精通高級時間控制與流暢動畫製作
  • 建立展示多種互動應用的作品集
  • 指導其他對遊戲開發與互動設計有興趣的人

🎯 你的打字遊戲專精時程

timeline
    title 遊戲開發學習進度
    
    section 設置 (10分鐘)
        專案結構: HTML基礎
                 : CSS樣式設置
                 : JavaScript檔案建立
        
    section 使用者介面 (20分鐘)
        互動元素: 輸入欄位
                 : 按鈕控制
                 : 顯示區域
                 : 響應式佈局
        
    section 事件處理 (25分鐘)
        使用者互動: 鍵盤事件
                  : 滑鼠事件
                  : 即時回饋
                  : 狀態管理
        
    section 遊戲邏輯 (30分鐘)
        核心功能: 引言生成
                 : 角色比較
                 : 準確度計算
                 : 計時器實作
        
    section 效能追蹤 (35分鐘)
        指標與分析: 速度WPM計算
                   : 錯誤追蹤
                   : 進度視覺化
                   : 結果顯示
        
    section 打磨與強化 (45分鐘)
        使用者體驗: 視覺回饋
                   : 聲效
                   : 動畫
                   : 無障礙功能
        
    section 進階功能 (1週)
        擴充功能: 難度等級
                 : 排行榜
                 : 自訂引言
                 : 多人選項
        
    section 專業技能 (1個月)
        遊戲開發: 效能優化
                  : 程式架構
                  : 測試策略
                  : 部署模式

🛠️ 你的遊戲開發工具總結

完成本專案後,你將掌握:

  • 事件驅動程式設計:打造對輸入反應靈敏的使用者介面
  • 即時回饋:瞬時視覺與效能更新
  • 效能測量:精準的計時與計分系統
  • 遊戲狀態管理:掌控應用流程與使用者體驗
  • 互動設計:創造引人入勝、令人上癮的使用體驗
  • 現代網頁 API:運用瀏覽器功能提升互動豐富度
  • 無障礙設計模式:確保所有使用者皆能無障礙使用

實務應用:這些技能可廣泛應用於:

  • 網頁應用程式:任何互動介面或儀表板
  • 教育軟體:學習平台與技能評量工具
  • 生產力工具文字編輯器、IDE、協作軟體
  • 遊戲產業:瀏覽器遊戲與互動娛樂
  • 行動開發:觸控介面與手勢操作

下一階段:你已準備好探究進階遊戲框架、即時多人系統或複雜互動式應用!

製作人員名單

Christopher Harrison ❤ 撰寫


免責聲明
本文件係使用 AI 翻譯服務 Co-op Translator 進行翻譯。雖然我們力求準確,請注意自動翻譯可能包含錯誤或不準確之處。原始文件的母語版本應視為權威來源。對於重要資訊,建議採用專業人工翻譯。我們對因使用本翻譯所導致之任何誤解或誤譯概不負責。