Categories
Scratch

MadLibs: เมื่อวาฬคุยกัน

เมื่อเริ่มต้นเรื่อง (เมื่อธงเขียวถูกคลิก) วาฬทั้งสองตัวถูกซ่อนไว้ไม่ให้เห็น (hide) จากนั้นเมื่อวาฬทั้งสองตัวได้รับรหัส “start story” จากบล็อกที่คอยรับรหัสสัญญาณ (when I receive) วาฬทั้งสองตัวก็ถูกกำหนดวางไว้นอกเวทีด้วยบล็อก ไปยังตำแหน่ง (x, y) สังเกตุที่ตำแหน่งของวาฬทั้งสองตัวว่าเกินขอบเวทีแล้ว (เวที: -240<=x<=240, -180<=y<=180) จากนั้นก็ให้แสดงตัวออกมาพร้อมเคลื่อนที่ไปยังตำแหน่งที่กำหนดไว้ภาพใน 1 วินาทีพร้อมกัน จากนั้นวาฬตัวใหญ่ก็ส่งรหัส “story 1” ออกมา

หลังจากนั้นเป็นการสนทนาระหว่างวาฬทั้งสองตัว โดยเริ่มจากวาฬตัวใหญ่ก่อน เมื่อพูดจบก็จะส่งรหัสเพื่อให้คิวกับวาฬตัวเล็กได้พูดต่อ วาฬตัวเล็กพูดเสร็จก็ส่งรหัสให้วาฬตัวใหญ่พูดต่อ จะเห็นว่าวาฬทั้งสองตัวนำเอาข้อมูลที่อยู่ในตัวแปรมารวมไว้ในบทสนทนาด้วย โดยใช้บล็อกเชื่อม (join) ในการเชื่อมคำ ถ้าต้องการเชื่อมคำมากกว่าสองคำสามารถใช้บล็อกเชื่อมหลายบล็อกซ้อนกันได้ ระหว่างสนทนายังมีแอนิเมชั่นของวาฬทั้งสองด้วย โดยวาฬตัวใหญ่ใช้การเปลี่ยนเครื่องแต่งการ (costume) โดยใช้บล็อกสลับชุด (switch to costume) ส่วนวาฬตัวเล็กใช้วิธีหมุนตัวมันเอง 360 องศาโดยใช้บล็อกเลี้ยว (turn) 36 องศาแต่ใช้บล็อกควบคุมทำซ้ำ 10 รอบ จะเห็นว่าในแอนิเมชั่นจะมีบล็อกคอย (wait) หลายแห่งทั้งนี้เพราะแอนิเมชั่นเกิดขึ้นเร็วไป จึงต้องหน่วงเวลาด้วยบล็อกคอย

การทำแอนิเมชั่นโดยการเปลี่ยนชุดเครื่องแต่งตัว เช่นในวาฬตัวใหญ่ เราต้องเพิ่มชุดเข้าไปให้มันก่อน ซึ่งทำได้หลายวิธี อย่างแรกวาดเองโดยคลิกปุ่ม Paint จะมีโปรแกรมวาดรูปออกมาให้เราใช้ วิธีที่สองเป็นการเอารูปที่มีมากับโปรแกรม Scratch โดยคลิกปุ่ม Import เพื่อหารูปที่เราต้องการ วิธีสุดท้ายใช้การถ่ายรูปจากกล้องที่อยู่ในเครื่องคอมพิวเตอร์ โดยคลิกปุ่ม Camera ก็จะได้โปรแกรมถ่ายรูปเหมือนรูปด้านบน คลิกปุ่มที่มีรูปกล้องเพื่อถ่าย เมื่อถ่ายเสร็จคลิกปุ่ม Done ก็จะได้รูปออกมาอยู่ในลิสต์เครื่องแต่งกาย

Categories
Programming

ความท้าทายใน Project Euler

มาลองทดสอบการเขียนโปรแกรมในโปรเจกออยเลอร์กันดูครับ เริ่มแรกคุณต้องสมัครเป็นสมาชิกก่อน
คำถามเป็นภาษาอังกฤษเกี่ยวกับคณิตศาสตร์ อาจเป็นอุปสรรคอยู่บ้างโดยเฉพาะการทำความเข้าใจในคำถาม (ดูตัวอย่างข้อแรกด้านล่าง)  คุณจะใช้โปรแกรมภาษาไหนก็ได้ เมื่อได้คำตอบของคุณแล้วตรวจสอบดูว่าตรงกับคำตอบจากเว็บไซต์ไหม ถ้าสงสัยเกี่ยวกับคำถาม คณิตศาสตร์ หรือ หลักการเขียนโปรแกรม ลองเข้าไปอ่านฟอรั่มได้ เมื่อตอบถูกคุณสามารถเข้าไปอ่านความคิดเห็นเพิ่มเติมในข้อนั้นๆได้
problem 1
If we list all the natural numbers below 10 that are multiples of 3 or 5, we get 3, 5, 6 and 9. The sum of these multiples is 23. Find the sum of all the multiples of 3 or 5 below 1000.