ບົດທີ 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ຫຼັງຈາກແຕ່ລະຮູບ, ເພີ່ມ
Shapesຂຶ້ນ 1 ແລະSidesຂຶ້ນ 1.
ໂປຣແກຣມແນະນຳ
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ຫຸ່ນຍົນຈະແຕ້ມຮູບ 5 ຫຼ່ຽມ, 6 ຫຼ່ຽມ ແລະ 7 ຫຼ່ຽມ ຕາມລຳດັບ. ຕົວປ່ຽນ 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ເປັນຫຍັງຕ້ອງຈຳກັດຄວາມໄວເມື່ອຄວບຄຸມຫຸ່ນຍົນ?