ให้เรตสมาชิก: 5 / 5

ดาวใช้งานดาวใช้งานดาวใช้งานดาวใช้งานดาวใช้งาน
 

ตัวอย่างการใช้งานโมดูล Turtle 32 เรื่องสุ่มสีที่ใช้ในการวาด

ตัวอย่างการทำงานที่ 32 เรื่องสุ่มสีที่ใช้ในการวาด เริ่มต้นจากติดตั้งโมดูลก่อนจากนั้นให้เราเรียกใช้งานโมดูล Turtle กับ Random เพื่อสามารถที่จะลากเส้นหรือวาดรูปและสุ่มค่าที่จะแสดง ต่อมาสร้างหน้าจอพร้อมกับกำหนดคำสั่งในการใช้งานส่วนของหน้าจอเพื่อกำหนดสีพื้นหลังตามด้วย ตัวแปรที่กำหนดสีและเงื่อนไขในการวาดภาพ ส่วนคำสั่งการทำงานสามารถอ่านรายละเอียดการทำงานของโค้ดตัวอย่างภาษา python ได้ด้านล่างนี้เลยครับ

 

ติดตั้งโมดูล Turtle ด้วยระบบปฏิบัติการ Windows

pip install turtle 

 

Input

import turtle
import random

# สร้างหน้าพร้อมกับกำหนดคำสั่งที่ใช้ในการเข้าถึงพื้นหลังโดยมีการกำหนดสีพื้นหลัง
gui = turtle.Turtle()
turtle.Screen().bgcolor("black")
# สร้างตัวแปรที่ใช้ในการเก็บสี
colors = ["red","yellow","orange","pink"]
# กำหนดให้เส้นของส่วนแรกวาดเป็นสีขาว
gui.color("white")
# กำหนดเงื่อนไขในการวาดภาพ
for i in range(10):
    for i in range(2):
        # วาดเส้นไปด้านหน้า 100
        gui.forward(100)
        # เมื่อวาดเส้นไปด้านหน้าเสร็จทำมุม 60 องศาแล้วกำหนดให้หัวปากกาวาดไปขวา
        gui.right(60)
        gui.forward(100)
        gui.right(120)
    # ทำมุม 36 องศาพร้อมกับกำหนดหัวปากกาวาดไปทางขวา
    gui.right(36)
    # เริ่มต้นโดยการวาดเส้นที่เป็นสีขาวพร้อมกับสุ่มสีที่อยู่ในตัวแปร colors
    gui.color(random.choice(colors))
# แสดงผลลัพธ์ค้างไว้
turtle.done()

Output

เราสามารถเพิ่มสีลงไปได้ในตัวแปร colors ส่วนคำสั่ง random เป็นคำสั่งที่สามารถใช้ในการกำหนดค่าให้แสดงแบบสุ่ม
ผลลัพธ์ที่แสดนั้นเส้นที่วาดเป็นการสุ่มสีที่ใช้แสดง

 

คำสั่งในการทำงานเรื่องวาดเส้นวนจากด้านนอกมาด้านในเป็นภาพสี่เหลี่ยม เริ่มจากเรียกใช้งานโมดูล Turtle กับ Random เพื่อสามารถที่จะลากเส้นหรือวาดรูปและสุ่มค่าที่จะแสดง ต่อมาสร้างหน้าจอตามด้วยคำสั่งในการใช้งานหน้าจอโดยมีการกำหนดสีพื้นหลัง ถัดมาสร้างตัวแปรที่ใช้ในการเก็บสีโดยส่วนนี้จะนำไปใช้กับคำสั่ง random ส่วนคำสั่งภายใน loop for in จะมีการกำหนดจำนวนเส้นที่วาด ความยาวของเส้น ทิศทางและองศาแล้วในยังมีการลูปเพิ่มอีกชั้นเพื่อที่จะวาดสี่เหลี่ยมจัตุรัสให้ครบ 10 โดยที่แต่ละเส้นที่ใช่วาดสี่เหลี่ยมจัตุรัวจะมีการแบ่งส่วนที่จะวาดออกเป็น 2 ฝั่งรวมทั้งยังกำหนดตัวแปรที่ใช้สุ่มสีที่ใช้แสดงโดยไปดึงค่าจากตัวแปร colorsและสุดท้ายเปิดโชว์ภาพขึ้นมาแสดงสีของเส้นที่แสดงอยู่นั้นจะมีสีตามตัสแปร colors โดยบางทีที่เราสุ่มนั้นอาจจะไม่มีบางสีเพราะค่าที่ได้เกิดจากการสุ่ม

 

ช่องทางการศึกษาเพิ่มเติมข่าวที่น่าสนใจเกี่ยวกับ : ตัวอย่างการใช้งานโมดูล Turtle 32 เรื่องสุ่มสีที่ใช้ในการวาด

กระทู้ล่าสุดจากเว็บบอร์ด
หัวข้อกระทู้
ตอบ
เปิดดู
ล่าสุด
วิธีต่อ Nodemcu Esp8266 กับ Sensor ตรวจวัดอุณหภูมิและความชื้น DHT11
โดย chaiyasitpraphut อ 12 พ.ย. 2019 2:23 pm บอร์ด IOT - Internet of things
0
35
อ 12 พ.ย. 2019 2:23 pm โดย chaiyasitpraphut
โครงสร้างของภาษา php
โดย chaiyasitpraphut อ 12 พ.ย. 2019 1:38 pm บอร์ด MT35 - นายชัยยะสิทธิ์ พระพุทธ
0
6
อ 12 พ.ย. 2019 1:38 pm โดย chaiyasitpraphut
การเชื่อมต่อฐานข้อมูลด้วย php
โดย chaiyasitpraphut อ 12 พ.ย. 2019 12:08 pm บอร์ด MT35 - นายชัยยะสิทธิ์ พระพุทธ
2
15
อ 12 พ.ย. 2019 12:59 pm โดย chaiyasitpraphut
วิธีป้องกันยุงกัดส่งตรงจากธรรมชาติ ปราศจากสารเคมี
โดย somying อ 12 พ.ย. 2019 12:24 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
56
อ 12 พ.ย. 2019 12:24 pm โดย somying
วิธีการลงทุนที่ดีที่สุดสำหรับ "มนุษย์เงินเดือน"
โดย somying อ 12 พ.ย. 2019 12:13 pm บอร์ด ถาม - ตอบ คอมพิวเตอร์
1
106
พ 13 พ.ย. 2019 2:52 pm โดย ritcha
ทำยังไง เมื่อผู้ใช้ต้องการแชร์ รูปแบบแผนการเล่น แล้ว ให้รูปภาพแผนการเล่นนี้แสดงในส่วนของ og image
โดย bankjittapol อ 12 พ.ย. 2019 11:18 am บอร์ด JavaScript & Jquery Ajax
1
70
อ 12 พ.ย. 2019 11:38 am โดย jamepiyawat
จะทำยังไง เมื่อผู้ใช้ กดบันทึกรูปภาพ และให้รุปภาพนั้น เก็บไว้บน server เพื่อที่จะดึงรูปมาให้ ผุ้ใช้ download หรือแสดงภา
โดย bankjittapol อ 12 พ.ย. 2019 11:07 am บอร์ด JavaScript & Jquery Ajax
4
111
อ 12 พ.ย. 2019 8:17 pm โดย thatsawan
ต้องการแสดงรูปภาพ ของนักเตะที่เลือกลงแทนตัว block ตำแหน่งครับ
โดย bankjittapol อ 12 พ.ย. 2019 10:37 am บอร์ด JavaScript & Jquery Ajax
3
110
อ 12 พ.ย. 2019 8:45 pm โดย mindphp
งานประจำวันที่ 12 พฤศจิกายน 2562
โดย numtan5839 อ 12 พ.ย. 2019 10:31 am บอร์ด M097 - ตรีเนตร บูรณโพธิ์ทอง
14
74
พ 13 พ.ย. 2019 10:44 am โดย numtan5839
งานประจำวันที่ 12 พฤศจิกายน 2562
โดย chaiyasitpraphut อ 12 พ.ย. 2019 9:51 am บอร์ด MT35 - นายชัยยะสิทธิ์ พระพุทธ
6
64
อ 12 พ.ย. 2019 7:03 pm โดย chaiyasitpraphut
การใช้ click กับ onclick เพื่อ hide หรือ show ข้อความ
โดย bankjittapol จ 11 พ.ย. 2019 8:27 pm บอร์ด Jquery & Ajax Knowledge
0
66
จ 11 พ.ย. 2019 8:27 pm โดย bankjittapol
เทคนิคการ Contrast สำหรับงาน Graphic
โดย numtan5839 จ 11 พ.ย. 2019 6:57 pm บอร์ด Graphic design
0
47
จ 11 พ.ย. 2019 6:57 pm โดย numtan5839
การใช้ .attr() jquery เพื่อดึงค่าจาก attribute ของ element หรือกำหนดค่าให้กับ attribute
โดย bankjittapol จ 11 พ.ย. 2019 6:47 pm บอร์ด Jquery & Ajax Knowledge
0
44
จ 11 พ.ย. 2019 6:47 pm โดย bankjittapol
การเดินทางจากจังหวัดศรีสะเกษมากรุงเทพมหานคร
โดย chaiyasitpraphut จ 11 พ.ย. 2019 5:50 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
64
จ 11 พ.ย. 2019 5:50 pm โดย chaiyasitpraphut
จะทำอย่างไรไม่ให้ Xampp รัน PHP สองเวอร์ชั่น เวอร์ชั่น 7 start ขึ้นมาตอนกด start Xampp เวอร์ชั่น 5 ครับ
โดย jamepiyawat จ 11 พ.ย. 2019 5:16 pm บอร์ด Programming - PHP
2
150
จ 11 พ.ย. 2019 6:29 pm โดย jamepiyawat
Email Client คืออะไร
โดย chatee supasand จ 11 พ.ย. 2019 4:54 pm บอร์ด Share Knowledge
0
50
จ 11 พ.ย. 2019 4:54 pm โดย chatee supasand
เเชร์ความรู้ การใช้ Java script ในการลบ และเลือกใช้ข้อมูล
โดย chaiyasitpraphut จ 11 พ.ย. 2019 4:49 pm บอร์ด MT35 - นายชัยยะสิทธิ์ พระพุทธ
0
27
จ 11 พ.ย. 2019 4:49 pm โดย chaiyasitpraphut
ประโยชน์และการนำค่าเฉลี่ยเคลื่อนที่ไปใช้งาน
โดย numtan5839 จ 11 พ.ย. 2019 2:54 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
51
จ 11 พ.ย. 2019 2:54 pm โดย numtan5839
ค่าเฉลี่ยเคลื่อนที่ (Moving Average)
โดย numtan5839 จ 11 พ.ย. 2019 11:57 am บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
50
จ 11 พ.ย. 2019 11:57 am โดย numtan5839
Note
โดย chaiyasitpraphut จ 11 พ.ย. 2019 11:26 am บอร์ด MT35 - นายชัยยะสิทธิ์ พระพุทธ
0
2
จ 11 พ.ย. 2019 11:26 am โดย chaiyasitpraphut