หน้าจอ#
การแนะนำ#
วิธีการตั้งค่าหน้าจอจะควบคุมวิธีการแสดงข้อความ ตัวเลข และกราฟิกบนหน้าจอในตัวของ IQ Brain (รุ่นที่ 2)
สำหรับการวาดภาพ ความละเอียดของสมองจำลองนี้คือ 160 x 108 พิกเซล
หน้านี้ใช้ brain เป็นตัวอย่างชื่อ Brain แทนที่ด้วยชื่อที่คุณกำหนดเองตามต้องการ
ด้านล่างนี้คือรายการวิธีการทั้งหมด:
การพิมพ์ด้วยเคอร์เซอร์ — วางและพิมพ์ข้อความ
print— พิมพ์ข้อความ ตัวเลข หรือค่าตัวแปรที่ตำแหน่งเคอร์เซอร์ปัจจุบันset_cursor— ย้ายเคอร์เซอร์ไปยังแถวและคอลัมน์ที่ระบุnext_row— ย้ายเคอร์เซอร์ไปที่คอลัมน์ที่ 1 ของแถวถัดไปclear_row— ล้างแถวข้อความrow— ส่งคืนแถวที่จะพิมพ์ข้อความcolumn— ส่งคืนคอลัมน์ที่จะพิมพ์ข้อความprint_at— พิมพ์ข้อความ ตัวเลข หรือค่าตัวแปรที่พิกัด x และ y ที่ระบุget_string_width— ส่งคืนความกว้างของสตริงเป็นพิกเซลโดยใช้ฟอนต์ปัจจุบันget_string_height— ส่งคืนความสูงของสตริงเป็นพิกเซลโดยใช้ฟอนต์ปัจจุบัน
ตัวปรับแต่ง — เปลี่ยนการตั้งค่าหน้าจอ สี และลักษณะการวาดภาพ
clear_screen— ล้างภาพวาดและข้อความทั้งหมดบนหน้าจอset_font— ตั้งค่าแบบอักษรสำหรับข้อความที่พิมพ์set_pen_width— กำหนดความหนาของเส้นที่วาดและเส้นขอบของรูปร่างset_pen_color— กำหนดสีของข้อความ พิกเซล เส้น และเส้นขอบของรูปร่างset_fill_color— กำหนดสีเติมสำหรับรูปทรงที่วาดและพื้นหลังข้อความที่พิมพ์set_origin— กำหนดจุดกำเนิดที่ใช้สำหรับการพิมพ์และการวาดตามพิกัด
วาด — เพิ่มภาพกราฟิกบนหน้าจอ
draw_pixel— วาดพิกเซลหนึ่งพิกเซลที่พิกัดdraw_line— ลากเส้นระหว่างสองจุดdraw_rectangle— วาดสี่เหลี่ยมผืนผ้าdraw_circle— วาดวงกลมset_clip_region— จำกัดตำแหน่งที่ภาพวาดและข้อความสามารถปรากฏได้render— อัปเดตหน้าจอของสมองด้วยข้อความและภาพวาดเฉพาะเมื่อมีการเรียกใช้เท่านั้น
พิมพ์เคอร์เซอร์#
print#
print prints text, numbers, or variable values on the Brain screen at the current cursor position and font.
Usage:
brain.screen.print(text, precision, opaque)
พารามิเตอร์ |
คำอธิบาย |
|---|---|
|
ข้อความ ตัวเลข หรือค่าตัวแปรที่จะแสดงบนหน้าจอ |
|
ตัวเลือกเสริม จำนวนทศนิยมที่จะแสดงเมื่อแสดงตัวเลข ต้องเขียนเป็นอาร์กิวเมนต์แบบคีย์เวิร์ด เช่น |
|
Optional. |
# Display a message at the starting
# cursor position
brain.screen.print("Hello, Robot!")

# Display a percentage with 4 decimal
# places and a blue background
brain.screen.set_fill_color(Color.BLUE)
brain.screen.print((42/100), precision = 4, opaque = True)
set_cursor#
set_cursor ย้ายเคอร์เซอร์ไปยังแถวและคอลัมน์ที่ระบุบนหน้าจอ Brain การเรียก print ครั้งถัดไปจะเริ่มพิมพ์ที่ตำแหน่งนั้น จำนวนแถวและคอลัมน์ที่สามารถแสดงได้อย่างพอดีขึ้นอยู่กับแบบอักษรที่เลือก
ฟอนต์แบบ Monospaced มีตัวอักษรที่มีความกว้างเท่ากันทั้งหมด ทำให้การจัดวางข้อความสม่ำเสมอ ในทางตรงกันข้าม ฟอนต์แบบ Proportional มีความกว้างของตัวอักษรแตกต่างกัน ดังนั้นตัวอักษรบางตัวจึงใช้พื้นที่มากกว่าตัวอื่น อย่างไรก็ตาม ไม่ว่าจะใช้ฟอนต์แบบใดก็ตาม คำสั่ง set_cursor จะกำหนดตำแหน่งเคอร์เซอร์ตามขนาดของแถวและคอลัมน์ ไม่ใช่รูปแบบฟอนต์ ขนาดฟอนต์สามารถปรับได้โดยใช้ set_font
Usage:
brain.screen.set_cursor(row, column)
พารามิเตอร์ |
คำอธิบาย |
|---|---|
|
แถวที่จะย้ายเคอร์เซอร์ไป |
|
คอลัมน์ที่จะย้ายเคอร์เซอร์ไป |
# Repeatedly print the Brain's timer at
# the top left of the screen
while True:
brain.screen.print(brain.timer.time(SECONDS))
brain.screen.next_row()
wait(1, SECONDS)
brain.screen.clear_screen()
brain.screen.set_cursor(1, 1)

next_row#
next_row จะย้ายเคอร์เซอร์ไปยังคอลัมน์ที่ 1 ในแถวถัดไปบนหน้าจอ Brain
Usage:
brain.screen.next_row()
พารามิเตอร์ |
คำอธิบาย |
|---|---|
เมธอดนี้ไม่มีพารามิเตอร์ |
# Display two lines of text
brain.screen.print("Line 1")
brain.screen.next_row()
brain.screen.print("Line 2")

clear_row#
clear_row จะล้างข้อความหนึ่งแถวบนหน้าจอ Brain
Usage:
brain.screen.clear_row(row, color)
พารามิเตอร์ |
คำอธิบาย |
|---|---|
แถว |
ตัวเลือกเสริม: แถวที่จะล้างข้อมูล ค่าเริ่มต้นคือแถวที่เคอร์เซอร์อยู่ปัจจุบัน |
สี |
Optional. The color to apply to the cleared row. Options include:
|
# Display text on two rows
brain.screen.print("This text stays")
brain.screen.next_row()
brain.screen.print("This disappears")
# Wait 3 seconds before clearing
# only the second row
wait(3, SECONDS)
brain.screen.clear_row()
# Turn the 5th row green
brain.screen.clear_row(5, Color.GREEN)
row#
row ส่งคืนแถวที่ข้อความจะถูกพิมพ์เป็นจำนวนเต็ม
Usage:
brain.screen.row()
พารามิเตอร์ |
คำอธิบาย |
|---|---|
เมธอดนี้ไม่มีพารามิเตอร์ |
# Set cursor to (3,2) and print
# row number
brain.screen.set_cursor(3, 2)
brain.screen.print(brain.screen.row())

column#
column ส่งคืนคอลัมน์ที่จะใช้พิมพ์ข้อความในรูปแบบจำนวนเต็ม
Usage:
brain.screen.column()
พารามิเตอร์ |
คำอธิบาย |
|---|---|
เมธอดนี้ไม่มีพารามิเตอร์ |
# Set cursor to (3,2) and print
# column number
brain.screen.set_cursor(3, 2)
brain.screen.print(brain.screen.column())

print_at#
print_at พิมพ์ข้อความ ตัวเลข หรือค่าตัวแปรบนหน้าจอ Brain ที่พิกัด x และ y ที่ระบุเป็นพิกเซล โดยใช้ font และ origin ที่ตั้งค่าไว้ในปัจจุบัน เมธอดนี้ไม่สนใจตำแหน่งเคอร์เซอร์ปัจจุบัน
Usage:
brain.screen.print_at(text, x, y, precision, opaque)
พารามิเตอร์ |
คำอธิบาย |
|---|---|
|
ข้อความ ตัวเลข หรือค่าตัวแปรที่จะพิมพ์ |
|
พิกัด x ที่ต้องการพิมพ์ระบุเป็นอาร์กิวเมนต์แบบคีย์เวิร์ด เช่น |
|
ระบุพิกัด y ที่ต้องการพิมพ์เป็นอาร์กิวเมนต์แบบคีย์เวิร์ด เช่น |
|
ตัวเลือกเสริม จำนวนทศนิยมที่จะแสดงเมื่อแสดงตัวเลข ต้องเขียนเป็นอาร์กิวเมนต์แบบคีย์เวิร์ด เช่น |
|
Optional. |
# Print the number 1 on the Brain's screen at position (100, 40)
brain.screen.print_at(1, x=100, y=40)

# Display 1/3 with 3 decimal places and a blue background
brain.screen.set_fill_color(Color.BLUE)
brain.screen.print_at((1/3), x=100, y=40, precision=3, opaque=True)
get_string_width#
get_string_width ส่งคืนความกว้างของสตริงเป็นพิกเซลในรูปแบบจำนวนเต็ม ดังที่จะปรากฏบนหน้าจอของ Brain ความกว้างจะแตกต่างกันไปตามความยาวของสตริงและ แบบอักษรปัจจุบัน
Usage:
brain.screen.get_string_width(string)
พารามิเตอร์ |
คำอธิบาย |
|---|---|
|
เชือกสำหรับวัด |
get_string_height#
get_string_height ส่งคืนความสูงของสตริงเป็นพิกเซลในรูปแบบจำนวนเต็ม ดังที่จะปรากฏบนหน้าจอ Brain ความสูงจะแตกต่างกันไปตามความยาวของสตริงและ แบบอักษรปัจจุบัน
Usage:
brain.screen.get_string_height(string)
พารามิเตอร์ |
คำอธิบาย |
|---|---|
|
เชือกสำหรับวัด |
ตัวกลายพันธุ์#
clear_screen#
clear_screen จะล้างภาพวาดและข้อความทั้งหมดออกจากหน้าจอของสมอง
Usage:
brain.screen.clear_screen(color)
พารามิเตอร์ |
คำอธิบาย |
|---|---|
|
Optional. Sets the screen color. Options include:
|
# Draw a circle and clear it after
# 2 seconds
brain.screen.draw_circle(80, 50, 20)
wait(2, SECONDS)
brain.screen.clear_screen()
# Turn the screen red
brain.screen.clear_screen(Color.RED)

set_font#
set_font กำหนดแบบอักษรที่ใช้สำหรับแสดงข้อความบนหน้าจอ Brain แบบอักษรนี้จะใช้กับข้อความทั้งหมดที่พิมพ์ด้วย print หรือ print_at แบบอักษรเริ่มต้นเมื่อเริ่มโครงการคือ MONO20
Usage:
brain.screen.set_font(fontname)
พารามิเตอร์ |
คำอธิบาย |
|---|---|
|
Sets the font to one of the following:
|
|
|
|
|---|---|---|
|
|
|
|
|
|
|
# Display two different fonts on
# two separate lines
brain.screen.set_font(FontType.MONO20)
brain.screen.print("Mono Medium")
brain.screen.next_row()
brain.screen.set_font(FontType.PROP20)
brain.screen.print("Prop Medium")

set_pen_width#
set_pen_width กำหนดความหนาของเส้นที่วาดและเส้นขอบของรูปทรง
Usage:
brain.screen.set_pen_width(width)
พารามิเตอร์ |
คำอธิบาย |
|---|---|
|
ความกว้างของปากกา (หน่วยเป็นพิกเซล) มีค่าตั้งแต่ 0 ถึง 32 |
# Draw two circles with
# different pen widths
brain.screen.draw_circle(40, 70, 20)
brain.screen.set_pen_width(5)
brain.screen.draw_circle(100, 70, 20)

set_pen_color#
set_pen_color กำหนดสีของข้อความ พิกเซล เส้น และเส้นขอบของรูปทรง
Usage:
brain.screen.set_pen_color(color)
พารามิเตอร์ |
คำอธิบาย |
|---|---|
|
Optional. The pen and font color to use. Options include:
|
# Draw two rectangles with
# different colors
brain.screen.draw_rectangle(100, 50, 10, 20)
brain.screen.set_pen_color(Color.BLUE)
brain.screen.draw_rectangle(50, 50, 10, 20)

set_fill_color#
set_fill_color กำหนดสีเติมที่ใช้เมื่อวาดรูปทรง
Usage:
brain.screen.set_fill_color(color)
พารามิเตอร์ |
คำอธิบาย |
|---|---|
|
Optional. The fill color to use. Options include:
|
# Draw a yellow circle
brain.screen.set_fill_color(Color.YELLOW)
brain.screen.draw_circle(50, 50, 20)

set_origin#
set_origin กำหนดจุดกำเนิดที่ใช้สำหรับการวาดและการพิมพ์แบบอิงพิกัดบนหน้าจอ Brain โดยค่าเริ่มต้น จุดกำเนิดคือมุมบนซ้ายของหน้าจอ
Usage:
brain.screen.set_origin(x, y)
พารามิเตอร์ |
คำอธิบาย |
|---|---|
|
พิกัด x ใหม่ที่จะกำหนดให้เป็นจุดกำเนิด ต้องเป็นจำนวนเต็มตั้งแต่ 0 ถึง 159 |
|
พิกัด y ใหม่ที่จะกำหนดให้เป็นจุดกำเนิด จะต้องเป็นจำนวนเต็มตั้งแต่ 0 ถึง 107 |
# Draw a line with the origin set to (50, 50)
brain.screen.set_origin(50, 50)
brain.screen.draw_line(1, 1, 159, 107)

วาด#
draw_pixel#
draw_pixel draws one pixel at the selected x and y coordinate using the current pen color.
Usage:
brain.screen.draw_pixel(x, y)
พารามิเตอร์ |
คำอธิบาย |
|---|---|
|
พิกัด x ที่จะใช้ในการวาดพิกเซล โดยระบุเป็นจำนวนเต็มตั้งแต่ 0 ถึง 159 |
|
พิกัด y ที่จะใช้ในการวาดพิกเซล โดยระบุเป็นจำนวนเต็มตั้งแต่ 0 ถึง 107 |
# Draw one pixel at the center
# of the screen
brain.screen.draw_pixel(80, 50)
![]()
draw_line#
draw_line วาดเส้นจากพิกัดหน้าจอแรก (x1, y1) ไปยังพิกัดหน้าจอที่สอง (x2, y2) โดยใช้ ความกว้างของปากกา และ สีของปากกา ปัจจุบัน
พิกัด x และ y ใช้จุดกำเนิดเริ่มต้นที่ (0, 0) เว้นแต่จะมีการตั้งค่าจุดกำเนิดอื่นโดยใช้ set_origin
Usage:
brain.screen.draw_line(x1, y1, x2, y2)
พารามิเตอร์ |
คำอธิบาย |
|---|---|
|
พิกัด x เริ่มต้นของเส้นตรง ระบุเป็นจำนวนเต็มตั้งแต่ 0 ถึง 159 |
|
พิกัด y เริ่มต้นของเส้นตรง ระบุเป็นจำนวนเต็มตั้งแต่ 0 ถึง 107 |
|
พิกัด x สุดท้ายของเส้นตรง ระบุเป็นจำนวนเต็มตั้งแต่ 0 ถึง 159 |
|
พิกัด y สุดท้ายของเส้นตรง ระบุเป็นจำนวนเต็มตั้งแต่ 0 ถึง 107 |
# Draw a line from the top left to
# bottom right of the screen
brain.screen.draw_line(0, 0, 159, 107)

draw_rectangle#
draw_rectangle วาดสี่เหลี่ยมผืนผ้าโดยให้มุมบนซ้ายอยู่ที่พิกัด (x, y) ที่เลือกไว้ และมีขนาดที่กำหนดโดยความกว้างและความสูงที่กำหนด โดยวัดเป็นพิกเซลทั้งหมด เส้นขอบของสี่เหลี่ยมผืนผ้าจะถูกวาดโดยใช้ ความกว้างของปากกา และ สีของปากกา ปัจจุบัน ส่วนภายในจะถูกเติมด้วย สีเติม ปัจจุบัน เว้นแต่จะใช้พารามิเตอร์ color ที่เป็นตัวเลือก
พิกัด x และ y ใช้จุดกำเนิดเริ่มต้นที่ (0,0) เว้นแต่จะมีการตั้งค่าจุดกำเนิดอื่นโดยใช้ set_origin
Usage:
brain.screen.draw_rectangle(x, y, width, height, color)
พารามิเตอร์ |
คำอธิบาย |
|---|---|
|
พิกัด x ของมุมบนซ้ายของสี่เหลี่ยมผืนผ้า ระบุเป็นจำนวนเต็มตั้งแต่ 0 ถึง 159 |
|
พิกัด y ของมุมบนซ้ายของสี่เหลี่ยมผืนผ้า ระบุเป็นจำนวนเต็มตั้งแต่ 0 ถึง 107 |
|
ความกว้างของสี่เหลี่ยมผืนผ้า หน่วยเป็นพิกเซล |
|
ความสูงของสี่เหลี่ยมผืนผ้า หน่วยเป็นพิกเซล |
|
Optional. The fill color of the rectangle. Options include:
|
# Draw a red rectangle on the screen
brain.screen.draw_rectangle(25, 25, 100, 50, Color.RED)

draw_circle#
draw_circle วาดวงกลมที่มีจุดศูนย์กลางอยู่ที่พิกัด (x, y) ที่เลือก และขนาดที่กำหนดโดยรัศมีที่กำหนด โดยวัดเป็นพิกเซลทั้งหมด เส้นขอบของวงกลมจะถูกวาดโดยใช้ ความกว้างของปากกา และ สีของปากกา ปัจจุบัน ส่วนภายในจะถูกเติมด้วย สีเติม ปัจจุบัน เว้นแต่จะใช้พารามิเตอร์ color ที่เป็นตัวเลือก
พิกัด x และ y ใช้จุดกำเนิดเริ่มต้นที่ (0,0) เว้นแต่จะมีการตั้งค่าจุดกำเนิดอื่นโดยใช้ set_origin
Usage:
brain.screen.draw_circle(x, y, radius, color)
พารามิเตอร์ |
คำอธิบาย |
|---|---|
|
พิกัด x ของจุดศูนย์กลางของวงกลม ระบุเป็นจำนวนเต็มตั้งแต่ 0 ถึง 159 |
|
พิกัด y ของจุดศูนย์กลางของวงกลม ระบุเป็นจำนวนเต็มตั้งแต่ 0 ถึง 107 |
|
รัศมีของวงกลม หน่วยเป็นพิกเซล |
|
Optional. The fill color of the circle. Options include:
|
# Draw a green circle on the screen
brain.screen.draw_circle(80, 50, 20, Color.GREEN)

set_clip_region#
set_clip_region กำหนดพื้นที่สี่เหลี่ยมบนหน้าจอซึ่งจะจำกัดภาพวาดและข้อความทั้งหมดไว้ภายในพื้นที่นี้ เนื้อหาใดๆ ที่อยู่นอกพื้นที่นี้จะไม่แสดงผล
Usage:
brain.screen.set_clip_region(x, y, width, height)
พารามิเตอร์ |
คำอธิบาย |
|---|---|
|
พิกัด x ของมุมบนซ้ายของบริเวณที่ตัดออก ระบุเป็นจำนวนเต็มหรือทศนิยมตั้งแต่ 0 ถึง 159 |
|
พิกัด y ของมุมบนซ้ายของบริเวณที่ตัดออก ระบุเป็นจำนวนเต็มหรือทศนิยมตั้งแต่ 0 ถึง 107 |
|
ความกว้างของพื้นที่ตัดในหน่วยพิกเซล |
|
ความสูงของบริเวณที่ตัดในหน่วยพิกเซล |
# Restrict text and drawings to a specific region
brain.screen.set_clip_region(0, 0, 120, 120)
brain.screen.draw_rectangle(60, 60, 100, 100, Color.RED)
brain.screen.print_at("Cut off!", x=60, y=60)

render#
render เปิดใช้งานการบัฟเฟอร์คู่สำหรับหน้าจอของ Brain เมื่อเรียกใช้คำสั่งนี้แล้ว คำสั่งการวาดใดๆ (เช่น ข้อความ รูปร่าง หรือรูปภาพ) จะไม่ปรากฏขึ้นทันทีในส่วนที่เหลือของโปรเจ็กต์อีกต่อไป แต่การอัปเดตจะแสดงขึ้นก็ต่อเมื่อใช้ render อีกครั้งเท่านั้น ซึ่งช่วยให้การอัปเดตหน้าจอราบรื่นและควบคุมได้ดียิ่งขึ้น แต่หมายความว่าจะไม่มีอะไรปรากฏให้เห็นจนกว่าจะใช้ render
Usage:
brain.screen.render()
พารามิเตอร์ |
คำอธิบาย |
|---|---|
เมธอดนี้ไม่มีพารามิเตอร์ |
# Render text after moving
brain.screen.render()
brain.screen.print("Render later...")
drivetrain.drive_for(FORWARD, 100, MM)
drivetrain.turn_for(RIGHT, 90, DEGREES)
brain.screen.render()









