មេរៀនទី 7៖ ហ្គេមការពិតបន្ថែម — កាត់ផ្លែឈើដោយតាមដានកដៃ
KM
Session 745 minutes

មេរៀនទី 7៖ ហ្គេមការពិតបន្ថែម — កាត់ផ្លែឈើដោយតាមដានកដៃ

Learning objective: ភ្ជាប់ដាវពន្លឺនិម្មិតទៅចំណុចតាមដានកដៃរបស់អ្នកលេង ដើម្បីកាត់តួអង្គផ្លែឈើដែលហោះឡើង។

Theory & practice

🍉 មេរៀនទី 7៖ បង្កើតហ្គេម AR នីនចាកាត់ផ្លែឈើ

⚔️ ប្រែក្លាយដៃរបស់អ្នកទៅជាដាវនិម្មិត

ក្នុងមេរៀននេះ យើងផ្សំ AI Pose Detection ជាមួយកាមេរ៉ាវេប ដើម្បីបង្កើតហ្គេម AR នីនចាកាត់ផ្លែឈើ។

អ្នកលេងមិនត្រូវការក្ដារចុច ឬកណ្ដុរទេ។ AI តាមដានទីតាំងកដៃ ហើយប្រែក្លាយចលនាដៃរបស់អ្នកទៅជាដាវនិម្មិតសម្រាប់កាត់ផ្លែឈើ។

បេសកកម្ម៖ កាត់ផ្លែឈើឱ្យបានច្រើនបំផុតមុនពេលអស់ពេល ប៉ុន្តែត្រូវគេចពីគ្រាប់បែក។

🎯 គោលបំណងនៃការសិក្សា

បន្ទាប់ពីមេរៀននេះ អ្នកនឹងអាច៖

  • ប្រើ AI តាមដានទីតាំងដៃ។
  • បញ្ជាតួអង្គដោយកូអរដោនេកដៃ។
  • បង្កើតផ្លែឈើច្រើនដោយប្រើក្លូន (clone)។
  • រកឃើញការប៉ះទង្គិចរវាងដៃ និងវត្ថុ។
  • បង្កើតច្បាប់សម្រាប់ពិន្ទុ ពេលវេលា និងជីវិត។

1. រៀបចំហ្គេម

Mục Trọng Tâm

តួអង្គ

បង្កើត ឬជ្រើសរើសតួអង្គទាំងនេះ៖

តួអង្គតួនាទី
Bladeដើរតាមដៃ
Fruitវត្ថុដែលត្រូវកាត់
Bombវត្ថុគ្រោះថ្នាក់ដែលត្រូវគេច
Mục Trọng Tâm

ផ្ទៃខាងក្រោយ

ជ្រើសរើសផ្ទៃខាងក្រោយសាមញ្ញ ដើម្បីឱ្យរូបភាពកាមេរ៉ាវេប និងតួអង្គមើលឃើញងាយ។

បង្កើតអថេរ៖

text
Score
Lives
Time

តម្លៃចាប់ផ្ដើម៖

text
when green flag clicked
set [Score] to [0]
set [Lives] to [3]
set [Time] to [60]

2. បើក AI Pose Detection

បន្ថែមផ្នែកបន្ថែម Pose Detection រួចបើកកាមេរ៉ា៖

text
when green flag clicked
turn video on stage with 20% transparency

forever
    analyse pose from camera

ដើម្បីលេងបានល្អ៖

  • ឈរឆ្ងាយពីកាមេរ៉ាក្នុងចម្ងាយល្មម។
  • រក្សារាងកាយខាងលើ និងដៃទាំងពីរនៅក្នុងស៊ុម។
  • ជ្រើសរើសកន្លែងដែលមានពន្លឺល្អ។
  • ធ្វើឱ្យមានកន្លែងទំនេរគ្រប់គ្រាន់ដើម្បីផ្លាស់ទីដោយសុវត្ថិភាព។
⚠️ កុំគ្រវីដៃខ្លាំងពេក ហើយកុំឈរជិតវត្ថុដែលងាយបែក។

3. បញ្ជាដាវដោយដៃ

បង្កើតអថេរពីរ៖

text
Wrist_X
Wrist_Y

ប្រើកដៃស្តាំដើម្បីបញ្ជាដាវ៖

text
when green flag clicked
show

forever
    analyse pose from camera

    set [Wrist_X] to
        [x position of right wrist]

    set [Wrist_Y] to
        [y position of right wrist]

    go to x: [Wrist_X] y: [Wrist_Y]

ឥឡូវនេះ តួអង្គ Blade ដើរតាមដៃរបស់អ្នកលេងហើយ។

ប្រសិនបើឆ្វេង និងស្តាំបញ្ច្រាសគ្នា ត្រូវធ្វើឱ្យកូអរដោនេ x អវិជ្ជមាន៖

text
go to x: [0 - Wrist_X] y: [Wrist_Y]

4. បង្កើតស្នាមដាវ

ដើម្បីទុកស្នាមភ្លឺខ្លីៗនៅពីក្រោយដាវ យើងប្រើ ក្លូនដែលរសាត់បាត់។ ក្លូននីមួយៗនៅកន្លែងដែលដាវធ្លាប់នៅ រួចរសាត់បាត់បន្តិចម្ដងៗ បង្កើតជាស្នាមនៅពីក្រោយ។

បន្ថែមទៅតួអង្គ Blade៖

text
when green flag clicked
forever
    create clone of myself
    wait 0.03 seconds
text
when I start as a clone
repeat 10
    change [ghost] effect by 10
delete this clone

ក្រោយធ្វើឡើងវិញ 10 ដង ក្លូនថ្លាទាំងស្រុង ហើយត្រូវបានលុប ដូច្នេះស្នាមដាវមិនធ្វើឱ្យហ្គេមយឺតទេ។

💡 សម្រាប់ស្នាមវែងជាងនេះ ត្រូវបង្កើនចំនួនដងនៃការធ្វើឡើងវិញ ហើយបន្ថយការផ្លាស់ប្ដូរម្ដងៗ ឧទាហរណ៍ repeat 20 ជាមួយការផ្លាស់ប្ដូរ 5។

5. ធ្វើឱ្យផ្លែឈើលេចឡើងជាបន្តបន្ទាប់

ប្រើក្លូនដើម្បីបង្កើតផ្លែឈើច្រើន៖

text
when green flag clicked
hide

forever
    wait (pick random 1 to 2) seconds
    create clone of myself

6. កាត់ផ្លែឈើ និងទទួលពិន្ទុ

ក្លូននីមួយៗហោះឡើងលើ ហើយ ពិនិត្យការប៉ះទង្គិចក្នុងរង្វិលជុំហោះតែមួយ។ តាមវិធីនេះ ផ្លែឈើអាចត្រូវកាត់នៅកន្លែងណាក៏បានតាមផ្លូវរបស់វា៖

text
when I start as a clone
go to x: (pick random -200 to 200) y: -170
show

repeat until <y position greater than 180>
    change y by 8
    turn right 10 degrees

    if <touching [Blade]?> then
        start sound [Slice]
        change [Score] by 1
        switch costume to [Sliced fruit]
        wait 0.2 seconds
        delete this clone

    wait 0.03 seconds

delete this clone

ផ្លែឈើនីមួយៗទទួលពិន្ទុតែម្ដង ព្រោះក្លូនត្រូវបានលុបភ្លាមក្រោយពេលត្រូវកាត់។ ផ្លែឈើដែលហោះចេញពីខាងលើឆាកក៏ត្រូវបានលុបដែរ ដើម្បីកុំឱ្យហ្គេមយឺត។

ដើម្បីឱ្យផ្លែឈើហោះកាន់តែធម្មជាតិ អ្នកអាចប្ដូរទាំងកូអរដោនេ x និង y ក្នុងការធ្វើឡើងវិញនីមួយៗ។

អ្នកអាចផ្ដល់ពិន្ទុខុសៗគ្នាតាមប្រភេទ៖

ផ្លែឈើពិន្ទុ
ផ្លែប៉ោម1
ផ្លែក្រូច2
ផ្លែឪឡឹក3

7. បន្ថែមគ្រាប់បែក

គ្រាប់បែកលេចឡើងដូចផ្លែឈើ ប៉ុន្តែធ្វើឱ្យអ្នកបាត់បង់ជីវិត៖

text
when I start as a clone
go to a random position at the bottom
show

repeat until <y position greater than 180>
    change y by 7
    turn right 12 degrees

    if <touching [Blade]?> then
        start sound [Explosion]
        change [Lives] by -1
        delete this clone

ពិនិត្យចំនួនជីវិតជានិច្ចក្នុងតួអង្គ Blade៖

text
when green flag clicked
forever
    if <Lives ≤ 0> then
        broadcast [Game over]
        stop [this script]

លក្ខខណ្ឌត្រូវតែនៅក្នុងរង្វិលជុំ forever។ ប្រសិនបើពិនិត្យតែម្ដងនៅពេលចាប់ផ្ដើម ហ្គេមនឹងមិនដឹងថាអ្នកលេងអស់ជីវិតឡើយ។

8. បង្កើតនាឡិការាប់ថយក្រោយ

text
when green flag clicked
set [Time] to [60]

repeat 60
    wait 1 seconds
    change [Time] by -1

broadcast [Game over]

នៅពេលទទួលបានសារបញ្ចប់ហ្គេម៖

text
when I receive [Game over]
say (join "ពិន្ទុរបស់អ្នក៖ " [Score]) for 3 seconds
stop all

9. ច្បាប់ពេញលេញ

  1. 1អ្នកលេងមានពេល 60 វិនាទី។
  2. 2ផ្លាស់ទីដៃដើម្បីបញ្ជាដាវ។
  3. 3កាត់ផ្លែឈើដើម្បីទទួលពិន្ទុ។
  4. 4ជៀសវាងការប៉ះគ្រាប់បែក។
  5. 5ការប៉ះគ្រាប់បែកបាត់បង់ជីវិតមួយ។
  6. 6ហ្គេមបញ្ចប់នៅពេលអស់ពេល ឬអ្នកបាត់បង់ជីវិតទាំងអស់។

🧪 ពិនិត្យគម្រោង

មុនពេលបញ្ចប់ ត្រូវពិនិត្យថា៖

  • ដាវដើរតាមកដៃត្រឹមត្រូវ។
  • កាមេរ៉ាមិនត្រូវបានបញ្ច្រាសដោយចៃដន្យ។
  • ផ្លែឈើលេចឡើងនៅកន្លែងផ្សេងៗគ្នាច្រើន។
  • ផ្លែឈើនីមួយៗទទួលពិន្ទុតែម្ដង។
  • ការប៉ះគ្រាប់បែកធ្វើឱ្យជីវិតថយចុះ។
  • នាឡិកាថយចុះរៀងរាល់វិនាទី។
  • ហ្គេមឈប់នៅពេលអស់ពេល ឬជីវិតស្មើសូន្យ។
  • ការចុចទង់បៃតងចាប់ផ្ដើមហ្គេមឡើងវិញ។

🧩 បញ្ហាប្រឈមកែលម្អ

ជ្រើសរើសគំនិតមួយដើម្បីអភិវឌ្ឍបន្ត៖

  1. 1ធ្វើឱ្យផ្លែឈើលឿនជាងមុននៅពេលពិន្ទុកើនឡើង។
  2. 2បន្ថែមផ្លែឈើមាសដែលមានតម្លៃ 5 ពិន្ទុ។
  3. 3ប្រើដៃទាំងពីរដើម្បីបញ្ជាដាវពីរ។
  4. 4បន្ថែមបែបផែនបែកជាពីរនៅពេលកាត់។
  5. 5បង្កើតតារាងពិន្ទុខ្ពស់។
  6. 6បន្ថែមអេក្រង់ចាប់ផ្ដើម និងប៊ូតុងលេងម្ដងទៀត។

ឧទាហរណ៍នៃការបង្កើនកម្រិតលំបាក៖

text
if <Score greater than 10> then
    reduce the wait between new fruit
    increase the flying speed

✅ ចងចាំ

  • Pose Detection រកទីតាំងកដៃ។
  • កូអរដោនេកដៃបញ្ជាដាវ។
  • ក្លូនបង្កើតផ្លែឈើច្រើន ដោយមិនត្រូវការតួអង្គច្រើន។
  • ការពិនិត្យការប៉ះទង្គិចបន្ថែមពិន្ទុ ឬដកជីវិត។
  • អថេររក្សាទុកពិន្ទុ ជីវិត និងពេលវេលា។
  • កាមេរ៉ាត្រូវការពន្លឺល្អ ដើម្បីឱ្យ AI តាមដានចលនាបានល្អ។
Mục Trọng Tâm

សំណួររហ័ស

  1. 1តើចំណុចសំខាន់ណាបញ្ជាដាវ?
  2. 2ហេតុអ្វីប្រើក្លូនដើម្បីបង្កើតផ្លែឈើ?
  3. 3តើអ្នកការពារមិនឱ្យផ្លែឈើមួយទទួលពិន្ទុច្រើនដងយ៉ាងដូចម្ដេច?
  4. 4តើអ្វីធ្វើឱ្យហ្គេមបញ្ចប់?

Sẵn sàng kiểm tra kiến thức?

Chuyển sang phòng thi riêng để làm bài, xem kết quả và giải thích.

តេស្តវាយតម្លៃសមត្ថភាពផ្នែកទី 2៖ ចក្ខុវិស័យកុំព្យូទ័រ និងការតាមដានឥរិយាបថដោយ AI →14 questions · 15 minutes