Categories
Scratch

ผีเสื้อกับนางฟ้า

ผีเสื้อเป็นผู้นำดอกไม้มาที่สวนแห่งนี้โดยปกติมันจะซ่อนตัว และรอคำสั่งจากผู้ใช้ว่าจะให้ปลูกดอกไม้ตรงไหน เมื่อใดที่ผีเสื้อรู้แล้วว่าจะปลูกดอกไม้ตรงไหน มันก็จะบินไปที่นั้นและเลือกว่าจะปลูกดอกไม้ชนิดใด ดอกไม้ที่ได้รับเลือกก็จะบานออกและถ้าดอกไหนโชคดีก็จะมีนางฟ้าลงมาเชยชม

สคริปต์ของผีเสื้อเริ่มต้นด้วยการซ่อนตัว (hide) และทำตัวเล็กๆ (set size to 25%) และก่อนที่มันจะวาดดอกไม้ในสวนมันจะลบ (clear) ค่าต่างๆของปากกา (pen) และสแตมป์ (stamp) ซึ่งเป็นอุปกรณ์ใช้วาด ผีเสื้อจะรอ (wait until) การชี้ตำแหน่งจากผู้ใช้ (mouse down?) ซึ่งไม่มีทางรู้ล่วงหน้าว่าผู้ใช้จะกดเมาส์เมื่อใด ดังนั้นผีเสื้อต้องรอปลูกดอกไม้ไปเรื่อยๆในบล็อกตลอดเวลา (forever)

เมื่อใดที่เมาส์ถูกคลิก ตำแหน่งของเมาส์จะถูกเก็บไว้ในตัวแปรภายใน (built-in variables) ของ Scratch นั่นก็คือ mouse x, mouse y ผีเสื้อจะไปยังตำแหน่ง x ของเมาส์ และ y ที่ -200 ซึ่งอยู่ด้านล่างนอกกรอบเวที ก่อนจะปรากฏตัว (show) และส่งเสียง “Chimes1” โดยบล็อกเล่นเสียง (play sound) ก่อนจะเริ่มต้นวาดดอกไม้ เพื่อความหลากหลายสีสันต้องตั้งค่าสีของปากกาโดยสุ่มค่าสีระหว่าง 20 ถึง 80 และเปลี่ยนเชดสีโดยสุ่มค่าระหว่าง -20 ถึง 20 กำหนดขนาดของปากกาโดยสุ่มค่าระหว่าง 2 ถึง 6 จากนั้นจรดปากกา (pen down) หลังจากนี้ถ้าผีเสื้อเคลื่อนที่ไปที่ใดก็จะวาดลายเส้นไปด้วย ดังนั้นเมื่อมันเคลื่อนที่ไปยังตำแหน่งของเมาส์ภายใน 1 วินาที (glide 1 secs to x: mouse x y: mouse y) ก็จะเป็นการวาดก้านของดอกไม้ เมื่อมันยกปากกา (pen up) มันก็จะหยุดวาด

ผีเสื้อจะสุ่มเลือกดอกไม้ที่มีอยู่ 5 ชนิดแล้วเก็บไว้ที่ตัวแปร “flower” แล้วส่งรหัสสัญญาณ “draw-flower” เพื่อให้ดอกที่ได้การสุ่มเลือกวาดดอกนั้นๆ ก่อนที่มันจะจากไป (hide) มันยังเชิญชวนให้นางฟ้ามาชมดอกไม้นี้ โดยสุ่มค่ามาค่าหนึ่ง (lucky) ถ้าโชคดีนางฟ้าก็จะมาเยือน

จะรู้ได้อย่างไรว่านางฟ้าจะมาเยือนหรือไม่ ในสคริปต์ของนางฟ้า ปกตินางฟ้าจะไม่ปรากฎกาย (hide) แต่ว่านางฟ้าจะคอยเช็คว่าค่าความโชคดี (lucky) มากกว่า 95 เมื่อใด (ค่าสุ่มสูงขนาดนี้ ต้องโชคดีจริงๆ) นางฟ้าก็จะปรากฎกาย ณ ตำแหน่งของดอกไม้ (ตำแหน่งเมาส์คลิก) โดยที่นางฟ้าจะหันไปยังทิศตะวันตก (-90) ถ้าค่าตำแหน่งเมาส์ x > 0 (x=0 คือตรงกึ่งกลางเวที) มิฉะนั้นจะหันไปยังทิศตะวันออก (90) โดยใช้บล็อกชี้ไปยังทิศ (point to direction) เป็นตัวกำหนดการหัน นางฟ้าจะปรากฎกายเพียง 1 วินาทีก่อนจะหายตัวไปและตั้งค่าโชคดีกลับเป็น 0 ใหม่

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s