ບົດທີ 7: ເກມຄວາມເປັນຈິງເສີມ — ຟັນໝາກໄມ້ດ້ວຍການຕິດຕາມຂໍ້ມື
Theory & practice
🍉 ບົດທີ 7: ສ້າງເກມ AR ນິນຈາຟັນໝາກໄມ້
⚔️ ປ່ຽນມືຂອງເຈົ້າໃຫ້ເປັນດາບສະໝືອນ
ໃນບົດນີ້, ພວກເຮົາລວມ AI Pose Detection ເຂົ້າກັບເວັບແຄມ ເພື່ອສ້າງເກມ AR ນິນຈາຟັນໝາກໄມ້.
ຜູ້ຫຼິ້ນບໍ່ຕ້ອງໃຊ້ແປ້ນພິມ ຫຼື ເມົ້າ. AI ຕິດຕາມຕຳແໜ່ງຂອງຂໍ້ມື ແລະ ປ່ຽນການເຄື່ອນໄຫວຂອງມືເຈົ້າໃຫ້ເປັນດາບສະໝືອນສຳລັບຟັນໝາກໄມ້.
🎯 ຈຸດປະສົງການຮຽນ
ຫຼັງຈາກບົດຮຽນນີ້, ເຈົ້າຈະສາມາດ:
- ໃຊ້ AI ຕິດຕາມຕຳແໜ່ງຂອງມື.
- ຄວບຄຸມຕົວລະຄອນດ້ວຍພິກັດຂອງຂໍ້ມື.
- ສ້າງໝາກໄມ້ຫຼາຍໜ່ວຍດ້ວຍໂຄລນ (clone).
- ກວດຈັບການຊົນລະຫວ່າງມືກັບວັດຖຸ.
- ສ້າງກົດລະບຽບການໃຫ້ຄະແນນ, ເວລາ ແລະ ຊີວິດ.
1. ຕັ້ງຄ່າເກມ
ຕົວລະຄອນ
ສ້າງ ຫຼື ເລືອກຕົວລະຄອນເຫຼົ່ານີ້:
| ຕົວລະຄອນ | ບົດບາດ |
|---|---|
Blade | ຕິດຕາມມື |
Fruit | ສິ່ງທີ່ຕ້ອງຟັນ |
Bomb | ສິ່ງອັນຕະລາຍທີ່ຕ້ອງຫຼີກລ່ຽງ |
ພື້ນຫຼັງ
ເລືອກພື້ນຫຼັງທີ່ງ່າຍໆ ເພື່ອໃຫ້ເຫັນພາບເວັບແຄມ ແລະ ຕົວລະຄອນໄດ້ງ່າຍ.
ສ້າງຕົວປ່ຽນ:
Score
Lives
Timeຄ່າເລີ່ມຕົ້ນ:
when green flag clicked
set [Score] to [0]
set [Lives] to [3]
set [Time] to [60]2. ເປີດ AI Pose Detection
ເພີ່ມສ່ວນຂະຫຍາຍ Pose Detection, ແລ້ວເປີດກ້ອງ:
when green flag clicked
turn video on stage with 20% transparency
forever
analyse pose from cameraເພື່ອຫຼິ້ນໃຫ້ດີ:
- ຢືນຫ່າງຈາກກ້ອງໃນໄລຍະພໍດີ.
- ໃຫ້ຮ່າງກາຍສ່ວນເທິງ ແລະ ແຂນທັງສອງຢູ່ໃນກອບພາບ.
- ເລືອກບ່ອນທີ່ມີແສງສະຫວ່າງດີ.
- ເຮັດໃຫ້ມີບ່ອນວ່າງພໍທີ່ຈະເຄື່ອນໄຫວໄດ້ຢ່າງປອດໄພ.
3. ຄວບຄຸມດາບດ້ວຍມື
ສ້າງຕົວປ່ຽນສອງຕົວ:
Wrist_X
Wrist_Yໃຊ້ຂໍ້ມືຂວາຄວບຄຸມດາບ:
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 ເປັນຄ່າລົບ:
go to x: [0 - Wrist_X] y: [Wrist_Y]4. ສ້າງຮອຍດາບ
ເພື່ອໃຫ້ມີຮອຍແສງສັ້ນໆຢູ່ທາງຫຼັງດາບ, ພວກເຮົາໃຊ້ ໂຄລນທີ່ຈາງຫາຍ. ແຕ່ລະໂຄລນຢູ່ບ່ອນທີ່ດາບເຄີຍຢູ່ ແລ້ວຄ່ອຍໆຈາງຫາຍ ເກີດເປັນຮອຍຢູ່ທາງຫຼັງ.
ເພີ່ມໃສ່ຕົວລະຄອນ Blade:
when green flag clicked
forever
create clone of myself
wait 0.03 secondswhen I start as a clone
repeat 10
change [ghost] effect by 10
delete this cloneຫຼັງຈາກວົນຊ້ຳ 10 ເທື່ອ, ໂຄລນຈະໂປ່ງໃສທັງໝົດ ແລະ ຖືກລຶບ, ດັ່ງນັ້ນຮອຍດາບຈະບໍ່ເຮັດໃຫ້ເກມຊ້າລົງ.
repeat 20 ກັບການປ່ຽນ 5.5. ເຮັດໃຫ້ໝາກໄມ້ປາກົດຢ່າງຕໍ່ເນື່ອງ
ໃຊ້ໂຄລນເພື່ອສ້າງໝາກໄມ້ຫຼາຍໜ່ວຍ:
when green flag clicked
hide
forever
wait (pick random 1 to 2) seconds
create clone of myself6. ຟັນໝາກໄມ້ ແລະ ໄດ້ຄະແນນ
ແຕ່ລະໂຄລນບິນຂຶ້ນເທິງ ແລະ ກວດການຊົນຢູ່ໃນການວົນຊ້ຳຂອງການບິນອັນດຽວກັນ. ດ້ວຍວິທີນີ້, ໝາກໄມ້ຈະຖືກຟັນໄດ້ທຸກບ່ອນຕາມເສັ້ນທາງຂອງມັນ:
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. ເພີ່ມລູກລະເບີດ
ລູກລະເບີດປາກົດຄືກັບໝາກໄມ້ ແຕ່ຈະເຮັດໃຫ້ເຈົ້າເສຍຊີວິດ:
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:
when green flag clicked
forever
if <Lives ≤ 0> then
broadcast [Game over]
stop [this script]ເງື່ອນໄຂຕ້ອງຢູ່ໃນການວົນຊ້ຳ forever. ຖ້າກວດພຽງເທື່ອດຽວຕອນເລີ່ມ, ເກມຈະບໍ່ຮູ້ເລີຍວ່າຜູ້ຫຼິ້ນໝົດຊີວິດແລ້ວ.
8. ສ້າງໂມງນັບຖອຍຫຼັງ
when green flag clicked
set [Time] to [60]
repeat 60
wait 1 seconds
change [Time] by -1
broadcast [Game over]ເມື່ອໄດ້ຮັບຂໍ້ຄວາມຈົບເກມ:
when I receive [Game over]
say (join "ຄະແນນຂອງເຈົ້າ: " [Score]) for 3 seconds
stop all9. ກົດລະບຽບທັງໝົດ
- 1ຜູ້ຫຼິ້ນມີເວລາ
60 ວິນາທີ. - 2ເຄື່ອນມືເພື່ອຄວບຄຸມດາບ.
- 3ຟັນໝາກໄມ້ເພື່ອໄດ້ຄະແນນ.
- 4ຫຼີກລ່ຽງການແຕະລູກລະເບີດ.
- 5ແຕະລູກລະເບີດເສຍໜຶ່ງຊີວິດ.
- 6ເກມຈົບເມື່ອໝົດເວລາ ຫຼື ເຈົ້າເສຍຊີວິດໝົດ.
🧪 ກວດໂປຣເຈັກ
ກ່ອນຈົບ, ໃຫ້ກວດວ່າ:
- ດາບຕິດຕາມຂໍ້ມືຖືກຕ້ອງ.
- ກ້ອງບໍ່ໄດ້ຖືກກັບດ້ານໂດຍບໍ່ຕັ້ງໃຈ.
- ໝາກໄມ້ປາກົດຫຼາຍບ່ອນທີ່ແຕກຕ່າງກັນ.
- ໝາກໄມ້ແຕ່ລະໜ່ວຍໄດ້ຄະແນນພຽງເທື່ອດຽວ.
- ການແຕະລູກລະເບີດເຮັດໃຫ້ຊີວິດຫຼຸດລົງ.
- ໂມງຫຼຸດລົງທຸກໆວິນາທີ.
- ເກມຢຸດເມື່ອໝົດເວລາ ຫຼື ຊີວິດເປັນສູນ.
- ການຄລິກທຸງສີຂຽວຈະເລີ່ມເກມໃໝ່.
🧩 ສິ່ງທ້າທາຍປັບປຸງ
ເລືອກແນວຄິດໜຶ່ງເພື່ອພັດທະນາຕໍ່:
- 1ໃຫ້ໝາກໄມ້ໄວຂຶ້ນເມື່ອຄະແນນເພີ່ມຂຶ້ນ.
- 2ເພີ່ມໝາກໄມ້ທອງຄຳທີ່ມີຄ່າ 5 ຄະແນນ.
- 3ໃຊ້ທັງສອງມືຄວບຄຸມດາບສອງເຫຼັ້ມ.
- 4ເພີ່ມເອັບເຟັກແຕກເປັນສອງສ່ວນເມື່ອຟັນ.
- 5ສ້າງຕາຕະລາງຄະແນນສູງສຸດ.
- 6ເພີ່ມໜ້າຈໍເລີ່ມຕົ້ນ ແລະ ປຸ່ມຫຼິ້ນໃໝ່.
ຕົວຢ່າງການເພີ່ມຄວາມຍາກ:
if <Score greater than 10> then
reduce the wait between new fruit
increase the flying speed✅ ຈື່ໄວ້
- Pose Detection ຊອກຫາຕຳແໜ່ງຂອງຂໍ້ມື.
- ພິກັດຂອງຂໍ້ມືຄວບຄຸມດາບ.
- ໂຄລນສ້າງໝາກໄມ້ໄດ້ຫຼາຍໜ່ວຍ ໂດຍບໍ່ຕ້ອງໃຊ້ຕົວລະຄອນຫຼາຍຕົວ.
- ການກວດການຊົນເພີ່ມຄະແນນ ຫຼື ຫັກຊີວິດ.
- ຕົວປ່ຽນເກັບຄະແນນ, ຊີວິດ ແລະ ເວລາ.
- ກ້ອງຕ້ອງການແສງສະຫວ່າງດີ ເພື່ອໃຫ້ AI ຕິດຕາມການເຄື່ອນໄຫວໄດ້ຢ່າງໝັ້ນຄົງ.
ຄຳຖາມດ່ວນ
- 1ຈຸດສຳຄັນໃດຄວບຄຸມດາບ?
- 2ເປັນຫຍັງໃຊ້ໂຄລນເພື່ອສ້າງໝາກໄມ້?
- 3ເຈົ້າຈະປ້ອງກັນບໍ່ໃຫ້ໝາກໄມ້ໜ່ວຍດຽວໄດ້ຄະແນນຫຼາຍເທື່ອແນວໃດ?
- 4ສິ່ງໃດເຮັດໃຫ້ເກມຈົບ?