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/th/4-typing-game
localizeflow[bot] 3b6a4ec479
chore(i18n): sync translations with latest source changes (chunk 11/20, 100 files)
1 month ago
..
solution 🌐 Update translations via Co-op Translator 5 months ago
typing-game chore(i18n): sync translations with latest source changes (chunk 11/20, 100 files) 1 month ago
README.md chore(i18n): sync translations with latest source changes (chunk 11/20, 100 files) 1 month ago

README.md

การเขียนโปรแกรมแบบขับเคลื่อนด้วยเหตุการณ์ - สร้างเกมพิมพ์ข้อความ

journey
    title การพัฒนาเกมพิมพ์ของคุณ
    section Foundation
      วางแผนโครงสร้างเกม: 3: Student
      ออกแบบส่วนติดต่อผู้ใช้: 4: Student
      ตั้งค่าองค์ประกอบ HTML: 4: Student
    section Functionality
      จัดการข้อมูลป้อนเข้าของผู้ใช้: 4: Student
      ติดตามเวลา: 5: Student
      คำนวณความแม่นยำ: 5: Student
    section Features
      เพิ่มข้อเสนอแนะทางภาพ: 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 ให้สวยงามน่าดู

📅 การพัฒนาเกมของคุณในสัปดาห์นี้

  • สร้างเกมพิมพ์ข้อความเวอร์ชันเต็มพร้อมฟีเจอร์ครบถ้วนและความเรียบร้อย
  • เพิ่มระดับความยากด้วยความซับซ้อนของคำที่แตกต่างกัน
  • ติดตามสถิติผู้ใช้ (WPM, ความแม่นยำตามเวลา)
  • สร้างเสียงเอฟเฟกต์และแอนิเมชันเพื่อประสบการณ์ผู้ใช้ที่ดีขึ้น
  • ทำให้เกมรองรับการเล่นบนมือถือโดยการสัมผัส
  • แชร์เกมออนไลน์และเก็บคำติชมจากผู้ใช้

🌟 การพัฒนาแบบโต้ตอบของคุณตลอดเดือนนี้

  • สร้างเกมหลายเกมเพื่อลองรูปแบบการโต้ตอบต่าง ๆ
  • เรียนรู้เกี่ยวกับลูปเกม, การจัดการสถานะ และการปรับปรุงประสิทธิภาพ
  • มีส่วนร่วมในโครงการเกมโอเพ่นซอร์ส
  • เชี่ยวชาญแนวคิดการจับเวลาขั้นสูงและแอนิเมชันที่ลื่นไหล
  • สร้างพอร์ตโฟลิโอแสดงผลงานของแอปพลิเคชันโต้ตอบต่าง ๆ
  • เป็นพี่เลี้ยงให้คนที่สนใจพัฒนาเกมและโต้ตอบกับผู้ใช้

🎯 กำหนดเวลาเชี่ยวชาญเกมพิมพ์ข้อความของคุณ

timeline
    title ความก้าวหน้าการเรียนรู้การพัฒนาเกม
    
    section การตั้งค่า (10 นาที)
        โครงสร้างโปรเจกต์: พื้นฐาน HTML
                         : การตั้งค่าสไตล์ CSS
                         : การสร้างไฟล์ JavaScript
        
    section ส่วนติดต่อผู้ใช้ (20 นาที)
        องค์ประกอบแบบโต้ตอบ: ช่องป้อนข้อมูล
                            : ปุ่มควบคุม
                            : พื้นที่แสดงผล
                            : เลย์เอาต์ตอบสนอง
        
    section การจัดการเหตุการณ์ (25 นาที)
        การโต้ตอบของผู้ใช้: เหตุการณ์แป้นพิมพ์
                        : เหตุการณ์เมาส์
                        : การตอบกลับแบบเรียลไทม์
                        : การจัดการสถานะ
        
    section ตรรกะของเกม (30 นาที)
        ฟังก์ชันหลัก: การสร้างคำคม
                          : การเปรียบเทียบตัวละคร
                          : การคำนวณความแม่นยำ
                          : การใช้งานตัวจับเวลา
        
    section การติดตามประสิทธิภาพ (35 นาที)
        เมตริกและการวิเคราะห์: การคำนวณคำต่อนาที (WPM)
                           : การติดตามข้อผิดพลาด
                           : การแสดงภาพการก้าวหน้า
                           : การแสดงผลลัพธ์
        
    section การขัดเกลาและการเพิ่มประสิทธิภาพ (45 นาที)
        ประสบการณ์ผู้ใช้: การตอบกลับด้วยภาพ
                       : เอฟเฟกต์เสียง
                       : แอนิเมชัน
                       : ฟีเจอร์การเข้าถึง
        
    section ฟีเจอร์ขั้นสูง (1 สัปดาห์)
        ฟังก์ชันขยาย: ระดับความยาก
                              : กระดานผู้นำ
                              : คำคมที่ปรับแต่งได้
                              : ตัวเลือกผู้เล่นหลายคน
        
    section ทักษะมืออาชีพ (1 เดือน)
        การพัฒนาเกม: การเพิ่มประสิทธิภาพ
                        : สถาปัตยกรรมโค้ด
                        : กลยุทธ์การทดสอบ
                        : รูปแบบการปรับใช้

🛠️ สรุปชุดเครื่องมือพัฒนาเกมของคุณ

หลังจากทำโครงการนี้เสร็จ คุณจะชำนาญใน:

  • การเขียนโปรแกรมแบบขับเคลื่อนด้วยเหตุการณ์: อินเทอร์เฟซตอบสนองที่ไวต่อการป้อนข้อมูล
  • ฟีดแบ็คแบบเรียลไทม์: การอัปเดตทางสายตาและการวัดประสิทธิภาพทันที
  • การวัดประสิทธิภาพ: ระบบจับเวลาและคะแนนที่แม่นยำ
  • การจัดการสถานะเกม: ควบคุมการไหลของแอปและประสบการณ์ผู้ใช้
  • การออกแบบแบบโต้ตอบ: สร้างประสบการณ์ผู้ใช้ที่น่าดึงดูดและติดใจ
  • Modern Web APIs: ใช้ประโยชน์จากความสามารถของเบราว์เซอร์สำหรับการโต้ตอบที่หลากหลาย
  • รูปแบบการเข้าถึง: การออกแบบแบบครอบคลุมเพื่อผู้ใช้ทุกคน

การใช้งานในโลกจริง: ทักษะเหล่านี้นำไปใช้ได้โดยตรงกับ:

  • เว็บแอปพลิเคชัน: อินเทอร์เฟซโต้ตอบหรือแดชบอร์ดใด ๆ
  • ซอฟต์แวร์เพื่อการศึกษา: แพลตฟอร์มการเรียนรู้และเครื่องมือประเมินทักษะ
  • เครื่องมือเพิ่มประสิทธิภาพการทำงาน: ตัวแก้ไขข้อความ, IDE และซอฟต์แวร์ร่วมมือ
  • อุตสาหกรรมเกม: เกมบนเบราว์เซอร์และความบันเทิงแบบโต้ตอบ
  • การพัฒนาบนมือถือ: อินเทอร์เฟซสัมผัสและการจัดการท่าทาง

ขั้นต่อไป: คุณพร้อมที่จะสำรวจเฟรมเวิร์กเกมขั้นสูง, ระบบผู้เล่นหลายคนแบบเรียลไทม์ หรือแอปพลิเคชันโต้ตอบซับซ้อน!

เครดิต

เขียนด้วย ♥️ โดย Christopher Harrison


ข้อจำกัดความรับผิดชอบ:
เอกสารนี้ได้รับการแปลโดยใช้บริการแปลภาษาอัตโนมัติ Co-op Translator แม้เราจะพยายามรักษาความถูกต้อง แต่กรุณาทราบว่าการแปลโดยอัตโนมัติอาจมีข้อผิดพลาดหรือความไม่ถูกต้อง เอกสารต้นฉบับในภาษาดั้งเดิมถือเป็นแหล่งข้อมูลที่ถูกต้องสำหรับข้อมูลสำคัญ การแปลโดยผู้เชี่ยวชาญมนุษย์จึงเป็นที่แนะนำ เราไม่รับผิดชอบต่อความเข้าใจผิดหรือการตีความผิดที่เกิดจากการใช้การแปลนี้