មេរៀនទី 2៖ រង្វិលជុំ និងអថេរ — ម៉ាស៊ីននៃចលនាជាបន្តបន្ទាប់
Theory & practice
🔁 មេរៀនទី 2៖ រង្វិលជុំ និងអថេរ
🎯 គោលបំណងនៃការសិក្សា
បន្ទាប់ពីមេរៀននេះ អ្នកនឹងអាច៖
- បែងចែកភាពខុសគ្នារវាងរង្វិលជុំ repeat និង forever។
- ប្រើរង្វិលជុំដើម្បីធ្វើឱ្យកម្មវិធីខ្លីជាងមុន។
- បង្កើតអថេរដើម្បីរក្សាទុកចំនួន ពិន្ទុ ឬល្បឿន។
- ផ្សំរង្វិលជុំ និងអថេរដើម្បីគ្រប់គ្រងតួអង្គ។
1. តើរង្វិលជុំជាអ្វី?
អ្វីៗជាច្រើនក្នុងជីវិតប្រចាំថ្ងៃកើតឡើងម្ដងហើយម្ដងទៀត៖
- បេះដូងលោតជាប់ជានិច្ច។
- កង់វិលជាច្រើនជុំ។
- ភ្លើងព្រមានភ្លឺ-រលត់។
- រ៉ូបូតពិនិត្យឧបករណ៍ចាប់សញ្ញាម្ដងហើយម្ដងទៀត។
ក្នុងការសរសេរកម្មវិធី រង្វិលជុំ ដំណើរការក្រុមប្លុកមួយឡើងវិញ ដោយអ្នកមិនចាំបាច់សរសេរប្លុកដដែលច្រើនដង។
ឧទាហរណ៍ ជំនួសឱ្យការប្រើប្លុក move 10 steps ដប់ដង អ្នកអាចសរសេរ៖
when green flag clicked
repeat 10
move 10 stepsតួអង្គផ្លាស់ទីសរុប៖ 10 ដង × 10 ជំហាន = 100 ជំហាន
2. រង្វិលជុំសំខាន់ពីរប្រភេទ
🔢 ធ្វើឡើងវិញតាមចំនួនកំណត់
ប្លុក repeat [10] ដំណើរការប្លុកខាងក្នុងតាមចំនួនដងដែលបានជ្រើសរើសពិតប្រាកដ រួចឈប់។
when green flag clicked
repeat 4
move 80 steps
turn right 90 degreesកម្មវិធីនេះធ្វើឱ្យតួអង្គដើរជុំវិញរាងការ៉េ។
ប្រើនៅពេល៖
- អ្នកដឹងជាមុនថាត្រូវធ្វើឡើងវិញប៉ុន្មានដង។
- អ្នកចង់ឱ្យភ្លើងភ្លឹបភ្លែត 5 ដងពិតប្រាកដ។
- អ្នកចង់ឱ្យរ៉ូបូតរត់ 3 ជុំពិតប្រាកដ។
- អ្នកចង់គូររាងដែលមានចំនួនជ្រុងថេរ។
♾️ ធ្វើឡើងវិញរហូត
ប្លុក forever បន្តដំណើរការរហូតដល់អ្នកចុចប៊ូតុងឈប់ពណ៌ក្រហម 🛑។
when green flag clicked
forever
move 5 steps
if on edge, bounceif on edge, bounce ជាប្លុកក្នុងប្រភេទ Motion។ តួអង្គបែរត្រឡប់ដោយខ្លួនឯងនៅពេលប៉ះគែមឆាក។ប្រើនៅពេល៖
- រ៉ូបូតត្រូវពិនិត្យឧបករណ៍ចាប់សញ្ញាជាប់ជានិច្ច។
- ហ្គេមត្រូវពិនិត្យក្ដារចុចជាប់ជានិច្ច។
- ភ្លើងស្តុបដំណើរការជាវដ្ត។
- រ៉ូបូតត្រូវបន្តផ្លាស់ទីរហូតដល់ជួបឧបសគ្គ។
| ប្រភេទរង្វិលជុំ | ចំនួនដង | ឈប់ដោយខ្លួនឯង |
|---|---|---|
repeat [ ] | កំណត់ជាមុន | បាទ/ចាស |
forever | គ្មានដែនកំណត់ | ទេ |
3. អថេរ — ប្រអប់សម្រាប់រក្សាទុកព័ត៌មាន
អថេរ ប្រៀបដូចប្រអប់ដែលមានស្លាកឈ្មោះ សម្រាប់រក្សាទុកព័ត៌មានក្នុងកម្មវិធីរបស់អ្នក។
ឧទាហរណ៍ អថេរ Speed ចាប់ផ្ដើមពី 5៖
set [Speed] to [5]ដើម្បីបង្កើនល្បឿន 1៖
change [Speed] by [1]តម្លៃរបស់អថេរផ្លាស់ប្ដូរ៖
5 → 6 → 7 → 8អថេរដែលប្រើញឹកញាប់៖
Speed: តួអង្គផ្លាស់ទីលឿនប៉ុណ្ណា។Score: ពិន្ទុរបស់អ្នកលេង។Laps: ចំនួនជុំដែលរត់រួច។Distance: តម្លៃដែលអានបានពីឧបករណ៍ចាប់សញ្ញា។Time: ពេលវេលាដែលនៅសល់។
4. ផ្សំរង្វិលជុំ និងអថេរ
សរសេរកម្មវិធីឱ្យតួអង្គលឿនជាងមុនក្រោយការផ្លាស់ទីនីមួយៗ៖
when green flag clicked
set [Speed] to [2]
repeat 8
move [Speed] steps
change [Speed] by [1]
wait 0.2 secondsជុំនីមួយៗនៃរង្វិលជុំ តួអង្គផ្លាស់ទីបានឆ្ងាយជាងមុន៖
2 → 3 → 4 → 5 → 6 → 7 → 8 → 9ដើម្បីកុំឱ្យល្បឿនកើនខ្ពស់ពេក យើងត្រូវការប្លុកលក្ខខណ្ឌ if ... then ដែលអ្នកនឹងរៀននៅ មេរៀនទី 3។ សម្រាប់ពេលនេះ ចូរកំណត់ល្បឿនដោយជ្រើសរើសចំនួនដងនៃរង្វិលជុំឱ្យសមស្រប។
5. អនុវត្ត៖ រ៉ូបូតគូររូបពហុកោណ
ភារកិច្ច
ប្រើអថេរដើម្បីឱ្យរ៉ូបូតអាចគូររាងផ្សេងៗ៖
- 1បង្កើតអថេរ
SidesនិងShapes។ - 2រ៉ូបូតគូរជ្រុងទាំងអស់នៃរាងដោយប្រើរង្វិលជុំ។
- 3ក្រោយជ្រុងនីមួយៗ រ៉ូបូតបត់
360 ÷ Sidesដឺក្រេ។ - 4ក្រោយរាងនីមួយៗ បង្កើន
Shapes1 និងSides1។
កម្មវិធីដែលណែនាំ
when green flag clicked
erase all
pen down
set [Sides] to [5]
set [Shapes] to [0]
repeat 3
repeat [Sides]
move 60 steps
turn right (360 ÷ Sides) degrees
change [Shapes] by [1]
change [Sides] by [1]
wait 0.5 secondsរ៉ូបូតគូររូបប្រាំជ្រុង ប្រាំមួយជ្រុង និងប្រាំពីរជ្រុងតាមលំដាប់។ អថេរ Shapes បង្ហាញថាបានគូររួចប៉ុន្មានរាង។
erase all និង pen down ស្ថិតក្នុងផ្នែកបន្ថែម Pen។ ចុច Extension ដើម្បីបន្ថែមវា។if ... then ដើម្បីឱ្យរ៉ូបូតដឹងថាត្រូវឈប់នៅពេលជួបឧបសគ្គ។6. កំហុសដែលជួបញឹកញាប់
ភ្លេចកំណត់តម្លៃចាប់ផ្ដើម
កំណត់អថេរឡើងវិញរាល់ពេលកម្មវិធីចាប់ផ្ដើម៖
when green flag clicked
set [Laps] to [0]ដាក់ប្លុកផ្លាស់ប្ដូរនៅក្រៅរង្វិលជុំ
ប្រសិនបើប្លុក change variable នៅក្រៅរង្វិលជុំ អថេរនឹងផ្លាស់ប្ដូរតែម្ដងប៉ុណ្ណោះ។
ប្រើ forever ដោយគ្មានការរង់ចាំ
កម្មវិធីអាចដំណើរការលឿនពេក។ ត្រូវបន្ថែម៖
wait 0.1 seconds🧩 បញ្ហាប្រឈម
បង្កើតការរាប់ថយក្រោយពី 5 ដល់ 1៖
when green flag clicked
set [Countdown] to [5]
repeat 5
say [Countdown] for 1 seconds
change [Countdown] by [-1]
say "ទៅ!" for 2 secondsតើអ្នកអាចកែកម្មវិធីឱ្យរាប់ថយក្រោយពី 10 បានទេ?
✅ ចងចាំ
repeat [ ]ប្រើនៅពេលអ្នកដឹងថាត្រូវធ្វើឡើងវិញប៉ុន្មានដង។foreverប្រើសម្រាប់កម្មវិធីដែលត្រូវដំណើរការមិនឈប់។- អថេររក្សាទុកព័ត៌មានដែលអាចផ្លាស់ប្ដូរបាន។
set variableផ្ដល់តម្លៃថ្មីឱ្យវា។change variableបង្កើន ឬបន្ថយតម្លៃបច្ចុប្បន្ន។- រង្វិលជុំរួមជាមួយអថេរ ធ្វើឱ្យកម្មវិធីខ្លី និងឆ្លាតជាងមុន។
សំណួររហ័ស
- 1តើរង្វិលជុំជួយកម្មវិធីយ៉ាងដូចម្ដេច?
- 2តើគួរប្រើរង្វិលជុំ
foreverនៅពេលណា? - 3ប្រសិនបើ
Speed = 5ហើយអ្នកបង្កើនវា2តើតម្លៃថ្មីស្មើប៉ុន្មាន? - 4ហេតុអ្វីត្រូវកំណត់ល្បឿននៅពេលបញ្ជារ៉ូបូត?