วาดรูปด้วยภาษาโลโก้ : ตอนที่ 20 – เคโระปี้
สวัสดีครับ วันนี้เราจะมาวาดรูปเคโระปี้ (Keroppi) ด้วยภาษาโลโก้กันครับ (เย้ๆๆ) โดยในตอนนี้เราจะดูแบบที่ต้องการวาดก่อน แล้วค่อยๆ วาดรูปไปพร้อมๆ กันครับ รูปนี้อาจจะยากสักหน่อย แต่ถ้าเราอดทนและพยายาม ก็ไม่มีอะไรยากเกินความสามารถของเราหรอกครับ >_<
คำสั่งที่น้องๆ จะเจอในบทนี้
คำสั่ง | ความสามารถ | ตัวอย่าง |
fd ระยะทาง bk ระยะทาง |
forward = เดินหน้า backward = ถอยหลัง |
fd 100 = เดินหน้า 100 pixel bk 50 = ถอยหลัง 50 pixel |
rt องศา lt องศา |
right turn = หมุนขวา left turn = หมุนซ้าย |
rt 90 = หมุนไปทางขวา 90 องศา lt 45 = หมุนไปทางซ้าย 45 องศา |
repeat จำนวนครั้ง [ คำสั่ง ] | repeat = ทำคำสั่งต่อไปนี้ ซ้ำ n ครั้ง | repeat 3 [ fd 100 rt 120 ] repeat 4 [ fd 100 rt 90 ] repeat 6 [ fd 100 rt 60 ] |
TO ชื่อฟังก์ชัน :ตัวแปร คำสั่ง END |
function = สร้างชุดคำสั่ง | TO square :size repeat 4 [ fd :size rt 90 ] END |
cs clean |
clear screen = ล้างหน้าจอ clean = ล้างหน้าจอ |
|
pu pd |
pen up = ยกปากกา pen down = วางปากกา |
|
ht st |
hide turtle = ซ่อนเต่าโลโก้ show turtle = แสดงเต่าโลโก้ |
|
setxy พิกัดx พิกัดy | set (x,y) = กำหนดตำแหน่งเต่าโลโก้ | setxy 200 100 |
setpensize ขนาด setpencolor รหัสสี fill setscreencolor รหัสสี |
set pen size = กำหนดขนาดปากกา set pen color = กำหนดสีปากกา fill = ระบายสี set screen color = กำหนดสีพื้นหลัง |
setpensize 5 setpencolor 10 fill setscreencolor 10 |
หลายตอนที่ผ่านมาเราวาดรูปทั่วไปกันมาเยอะแล้ว ตอนนี้ขอวาดตัวการ์ตูนตามใจผู้เขียนบ้างนะครับ
ข้างล่างนี้คือรูปต้นแบบที่เราต้องการวาดครับ (แต่จะวาดได้เหมือนแค่ไหนนั้น ต้องคอยติดตามครับ)
รูปภาพจาก – http://hellokitty.wikia.com/wiki/Keroppi
ก่อนอื่นเราจะเตรียมฟังก์ชันเพื่อให้เราวาดรูปได้ง่ายขึ้นกันก่อนครับ ได้แก่
- ฟังก์ชัน setpencolor_default ใช้สำหรับเปลี่ยนสีปากการเป็นสีดำ
- ฟังก์ชัน paint ใช้สำหรับระบายสี
- ฟังก์ชัน comment ใช้สำหรับอธิบายการทำงานของโค้ด
TO comment :message END TO setpencolor_default TO paint :color |
เริ่มต้นด้วยกำหนดขนาดของปากกาและสีที่จะใช้ครับ
cs setpensize 3 setpencolor_default |
จากนั้นวาดส่วนหัวเคโระปี้และตา
comment “head_1 repeat 30 [ fd 1 rt 1 ] repeat 30 [ fd 2 rt 1 ] comment “eye_1 |
วาดตาและหัวส่วนที่เหลือ
comment “eye_2 pu repeat 30 [ fd 3 rt 1 ] repeat 30 [ fd 3 rt 1 ] pd rt 90 repeat 360 [ fd 0.8 rt 1 ] pu rt 90 fd 40 lt 90 pd repeat 360 [ fd 0.4 rt 1 ] paint “#424242 pu rt 90 bk 40 lt 90 pd lt 90 comment “head_2 repeat 30 [ fd 1 rt 1 ] |
จากนั้นเรามาวาดใบหน้าของเคโระปี้กันก่อนครับ
comment “face pu rt 90 fd 20 pd lt 45 fd 50 bk 50 rt 90 fd 50 bk 50 lt 45 pu bk 20 lt 90 pd |
วาดส่วนหัวที่เหลือ แล้วระบายสีครับ
comment “head_3 repeat 30 [ fd 3 rt 1 ] repeat 30 [ fd 2 rt 1 ] repeat 30 [ fd 1 rt 1 ] paint “#CFD92B |
สุดท้าย อย่าลืมแก้มของเคโระปี้ครับ
comment “cheeks pu rt 90 fd 20 lt 90 pd repeat 360 [ fd 0.4 rt 1 ] paint “#E24E5E pu rt 90 fd 180 lt 90 pd repeat 360 [ fd 0.4 rt 1 ] paint “#E24E5E |
เสร็จแล้วครับ สำหรับรูปเคโระปี้ คิดว่าเหมือนรูปต้นฉบับไหมครับ?
Code ทั้งหมด สามารถเข้าไปดูได้ที่นี่ครับ https://github.com/doctorkarn/logo-lang/blob/master/EP20.txt
สามารถติดตาม “วาดรูปด้วยภาษาโลโก้” ตอนอื่นๆ ได้ที่นี่ครับ https://karnlab.com/tag/ภาษาโลโก้