Construct 2 : การสร้างเกมอักษรไขว้ (Word Search Puzzle)

มีเพื่อนสมาชิกส่งลิงก์คลิปวิดีโอนี้ https://youtu.be/qYOO_qo37Uo มาให้ดู แล้วบอกว่าต้องการให้ด้านข้อความปริศนาแสดงเป็นภาษาไทย และด้านเลือกพยัญชนะให้แสดงเป็นอักษรภาษาอังกฤษ แต่ตัวอย่างในคลิปดังกล่าวเป็นภาษาอังกฤษทั้งสองด้าน พอจะแนะนำวิธีทำ(แก้ไข)ได้ไหม ก็ได้เข้าไปดูคลิปตามลิงก์ที่สมาชิกส่งให้ เพื่อศึกษแนวคิดและการทำงานของโปรแกรม ก็พบว่าถ้าจะเปลี่ยนให้ด้านปริศนาแสดงเป็นภาษาไทย ต้องใช้ Array ช่วยในการจัดการข้อมูล แทนข้อความใน textWord และใช้การเปรียบเทียบตัวแปรภายนอก (global variable) กับตัวแปรภายใน (Instance variable)ในการตรวจคำตอบแทนแบบเดิม โดยมีขั้นตอนการแก้ไขดังนี้

1. เข้าไปศึกษาขั้นตอนวิธีการทำจากคลิปนี้ https://youtu.be/qYOO_qo37Uo ให้เข้าใจ

2. เพิ่มออบเจ็กต์ Array เข้าไปในเลย์เอาต์

3. เพิ่ม Instance variable ประเภท text ชื่อ name ให้กับออบเจ็กต์ textWord ดังรูป

4. แก้ไขโค๊ด หรือ Event Sheet ตามรูป

  • คำสั่งใน Action > Array > Load
"{""c2array"":true,""size"":[10,1,1],""data"":[[[""GIRAFFE,ยีราฟ""]],[[""ELEPHANT,ช้าง""]],[[""LION,สิงโต""]],[[""ZEBRA,ม้าลาย""]],[[""TIGER,เสือ""]],[[""RABBIT,กระต่าย""]],[[""FOX,สุนัขจิ้งจอก""]],[[""BEAR,หมี""]],[[""PENGUIN,เพนกวิน""]],[[""BIRD,นก""]]]}"

  • เปลี่ยนการตรวจคำตอบด้วยการเปรียบเทียบตัวแปร pickWord กับข้อความของ textWord เป็น เปรียบเทียบตัวแปร pickWord กับตัวแปรภายในของ textWord ที่ชื่อ name แทน

ลองนำไปทำกันดูนะครับ

แล้วพบกันใหม่ในบทความหน้าครับ

สวัสดีครับ