Màn hình#
Giới thiệu#
Các phương pháp điều khiển màn hình kiểm soát cách bộ não IQ (thế hệ thứ 2) hiển thị văn bản, số và đồ họa trên màn hình tích hợp của nó.
Đối với việc vẽ, độ phân giải của Brain là 160 x 108 pixel.
Trang này sử dụng brain làm ví dụ tên Brain. Hãy thay thế nó bằng tên do bạn cấu hình nếu cần.
Dưới đây là danh sách tất cả các phương pháp:
In bằng con trỏ — Đặt và in văn bản.
print— In văn bản, số hoặc giá trị biến tại vị trí con trỏ hiện tại.set_cursor— Di chuyển con trỏ đến một hàng và cột cụ thể.next_row— Di chuyển con trỏ đến cột 1 của hàng tiếp theo.clear_row— Xóa một hàng văn bản.row— Trả về hàng mà văn bản sẽ được in.column— Trả về cột mà văn bản sẽ được in.print_at— In văn bản, số hoặc giá trị biến tại tọa độ x và y cụ thể.get_string_width— Trả về chiều rộng của một chuỗi tính bằng pixel sử dụng phông chữ hiện tại.get_string_height— Trả về chiều cao của một chuỗi tính bằng pixel sử dụng phông chữ hiện tại.
Bộ điều chỉnh — Thay đổi cài đặt màn hình, màu sắc và hành vi vẽ.
clear_screen— Xóa tất cả hình vẽ và văn bản trên màn hình.set_font— Đặt phông chữ cho văn bản in.set_pen_width— Đặt độ dày của các đường vẽ và đường viền hình dạng.set_pen_color— Đặt màu cho văn bản, pixel, đường kẻ và đường viền hình dạng.set_fill_color— Đặt màu tô cho các hình vẽ và nền văn bản in.set_origin— Đặt gốc tọa độ được sử dụng để in và vẽ dựa trên tọa độ.
Vẽ — Thêm hình ảnh vào màn hình.
draw_pixel— Vẽ một pixel tại tọa độ.draw_line— Vẽ một đường thẳng giữa hai điểm.draw_rectangle— Vẽ một hình chữ nhật.draw_circle— Vẽ một hình tròn.set_clip_region— Hạn chế vị trí hiển thị của hình vẽ và văn bản.render— Cập nhật màn hình của Brain với văn bản và hình vẽ chỉ khi được gọi.
In bằng con trỏ#
print#
print in văn bản, số hoặc giá trị biến trên màn hình Brain tại vị trí con trỏ và phông chữ.
Usage:
brain.screen.print(text, precision, opaque)
Thông số |
Sự miêu tả |
|---|---|
|
Văn bản, số hoặc giá trị biến cần in trên màn hình. |
|
Tùy chọn. Số lượng chữ số thập phân hiển thị khi hiển thị số. Tham số này phải được viết dưới dạng đối số từ khóa, ví dụ: |
|
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 di chuyển con trỏ đến một hàng và cột cụ thể trên màn hình Brain. Lệnh print tiếp theo sẽ bắt đầu in tại vị trí đó. Số hàng và cột có thể chứa vừa vặn tùy thuộc vào phông chữ đã chọn.
Phông chữ đơn cách có các ký tự đều có cùng chiều rộng, giúp việc sắp xếp văn bản nhất quán. Ngược lại, phông chữ tỷ lệ có chiều rộng ký tự khác nhau, do đó một số chữ cái chiếm nhiều không gian hơn những chữ cái khác. Tuy nhiên, bất kể loại nào được sử dụng, set_cursor định vị con trỏ dựa trên kích thước hàng và cột, chứ không phải kiểu phông chữ. Kích thước phông chữ có thể được điều chỉnh bằng cách sử dụng set_font.
Usage:
brain.screen.set_cursor(row, column)
Thông số |
Sự miêu tả |
|---|---|
|
Hàng cần di chuyển con trỏ đến. |
|
Cột cần di chuyển con trỏ đến. |
# 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 di chuyển con trỏ đến cột 1 trên hàng tiếp theo trên màn hình Brain.
Usage:
brain.screen.next_row()
Thông số |
Sự miêu tả |
|---|---|
Phương pháp này không có tham số. |
# Display two lines of text
brain.screen.print("Line 1")
brain.screen.next_row()
brain.screen.print("Line 2")

clear_row#
clear_row xóa một hàng văn bản trên màn hình Brain.
Usage:
brain.screen.clear_row(row, color)
Thông số |
Sự miêu tả |
|---|---|
hàng ngang |
Tùy chọn. Hàng cần xóa. Mặc định là hàng hiện tại của con trỏ. |
màu sắc |
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 trả về số hàng mà văn bản sẽ được in dưới dạng số nguyên.
Usage:
brain.screen.row()
Thông số |
Sự miêu tả |
|---|---|
Phương pháp này không có tham số. |
# Set cursor to (3,2) and print
# row number
brain.screen.set_cursor(3, 2)
brain.screen.print(brain.screen.row())

column#
column trả về số nguyên chỉ định cột sẽ in văn bản.
Usage:
brain.screen.column()
Thông số |
Sự miêu tả |
|---|---|
Phương pháp này không có tham số. |
# 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 in văn bản, số hoặc giá trị biến trên màn hình Brain tại tọa độ x và y được chỉ định bằng pixel với font và origin hiện được đặt. Phương thức này bỏ qua vị trí con trỏ hiện tại.
Usage:
brain.screen.print_at(text, x, y, precision, opaque)
Thông số |
Sự miêu tả |
|---|---|
|
Văn bản, số hoặc giá trị biến cần in. |
|
Tọa độ x cần in được truyền dưới dạng đối số từ khóa, ví dụ: |
|
Tọa độ y cần in được truyền dưới dạng tham số từ khóa, ví dụ: |
|
Tùy chọn. Số lượng chữ số thập phân hiển thị khi hiển thị số. Tham số này phải được viết dưới dạng đối số từ khóa, ví dụ: |
|
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 trả về chiều rộng của một chuỗi tính bằng pixel dưới dạng số nguyên, như nó sẽ xuất hiện trên màn hình của Brain. Chiều rộng thay đổi tùy thuộc vào độ dài của chuỗi và phông chữ hiện tại.
Usage:
brain.screen.get_string_width(string)
Thông số |
Sự miêu tả |
|---|---|
|
Sợi dây dùng để đo. |
get_string_height#
get_string_height trả về chiều cao của một chuỗi tính bằng pixel dưới dạng số nguyên, như nó sẽ xuất hiện trên màn hình Brain. Chiều cao thay đổi tùy thuộc vào độ dài của chuỗi và phông chữ hiện tại.
Usage:
brain.screen.get_string_height(string)
Thông số |
Sự miêu tả |
|---|---|
|
Sợi dây dùng để đo. |
Biến đổi#
clear_screen#
clear_screen xóa tất cả hình vẽ và văn bản khỏi màn hình của Brain.
Usage:
brain.screen.clear_screen(color)
Thông số |
Sự miêu tả |
|---|---|
|
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 đặt phông chữ được sử dụng để hiển thị văn bản trên màn hình Brain. Phông chữ này sẽ được áp dụng cho tất cả văn bản được in bằng print hoặc print_at. Phông chữ mặc định khi bắt đầu một dự án là MONO20.
Usage:
brain.screen.set_font(fontname)
Tham số |
Sự miêu tả |
|---|---|
|
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 thiết lập độ dày của các đường vẽ và đường viền hình dạng.
Usage:
brain.screen.set_pen_width(width)
Tham số |
Sự miêu tả |
|---|---|
|
Độ rộng của bút, tính bằng pixel, từ 0 đến 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 thiết lập màu sắc cho văn bản, pixel, đường kẻ và đường viền hình dạng.
Usage:
brain.screen.set_pen_color(color)
Tham số |
Sự miêu tả |
|---|---|
|
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 thiết lập màu tô được sử dụng khi vẽ các hình dạng.
Usage:
brain.screen.set_fill_color(color)
Tham số |
Sự miêu tả |
|---|---|
|
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 thiết lập gốc tọa độ được sử dụng để vẽ và in dựa trên tọa độ trên màn hình Brain. Theo mặc định, gốc tọa độ là góc trên bên trái của màn hình.
Usage:
brain.screen.set_origin(x, y)
Tham số |
Sự miêu tả |
|---|---|
|
Tọa độ x mới cần thiết lập làm gốc tọa độ được biểu diễn dưới dạng số nguyên từ 0 đến 159. |
|
Tọa độ y mới cần thiết lập làm gốc tọa độ được biểu diễn dưới dạng số nguyên từ 0 đến 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)

Vẽ tranh#
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)
Tham số |
Sự miêu tả |
|---|---|
|
Tọa độ x nơi điểm ảnh sẽ được vẽ, được biểu thị bằng một số nguyên từ 0 đến 159. |
|
Tọa độ y nơi điểm ảnh sẽ được vẽ, được biểu thị bằng một số nguyên từ 0 đến 107. |
# Draw one pixel at the center
# of the screen
brain.screen.draw_pixel(80, 50)
![]()
draw_line#
draw_line vẽ một đường thẳng từ tọa độ màn hình đầu tiên (x1, y1) đến tọa độ màn hình thứ hai (x2, y2) bằng cách sử dụng độ rộng bút và màu bút hiện tại.
Tọa độ x và y sử dụng gốc tọa độ mặc định là (0, 0) trừ khi một gốc tọa độ khác đã được thiết lập bằng cách sử dụng set_origin.
Usage:
brain.screen.draw_line(x1, y1, x2, y2)
Tham số |
Sự miêu tả |
|---|---|
|
Tọa độ x ban đầu của đường thẳng, được biểu thị bằng một số nguyên từ 0 đến 159. |
|
Tọa độ y ban đầu của đường thẳng, được biểu thị bằng một số nguyên từ 0 đến 107. |
|
Tọa độ x cuối cùng của đường thẳng, được biểu thị bằng một số nguyên từ 0 đến 159. |
|
Tọa độ y cuối cùng của đường thẳng, được biểu thị bằng một số nguyên từ 0 đến 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 vẽ một hình chữ nhật với góc trên bên trái tại tọa độ (x, y) đã chọn và kích thước được xác định bởi chiều rộng và chiều cao đã cho, tất cả đều được đo bằng pixel. Đường viền của hình chữ nhật được vẽ bằng cách sử dụng chiều rộng bút và màu bút hiện tại. Phần bên trong được tô bằng màu tô hiện tại, trừ khi tham số color tùy chọn được sử dụng.
Tọa độ x và y sử dụng gốc tọa độ mặc định là (0,0) trừ khi một gốc tọa độ khác đã được thiết lập bằng cách sử dụng set_origin.
Usage:
brain.screen.draw_rectangle(x, y, width, height, color)
Tham số |
Sự miêu tả |
|---|---|
|
Tọa độ x của góc trên bên trái của hình chữ nhật, được biểu thị bằng một số nguyên từ 0 đến 159. |
|
Tọa độ y của góc trên bên trái của hình chữ nhật, được biểu thị bằng một số nguyên từ 0 đến 107. |
|
Chiều rộng của hình chữ nhật, tính bằng pixel. |
|
Chiều cao của hình chữ nhật, tính bằng pixel. |
|
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 vẽ một hình tròn có tâm tại (x, y) đã chọn và kích thước được xác định bởi bán kính đã cho, tất cả được đo bằng pixel. Đường viền của hình tròn được vẽ bằng cách sử dụng độ rộng bút và màu bút hiện tại. Phần bên trong được tô bằng màu tô hiện tại, trừ khi tham số color tùy chọn được sử dụng.
Tọa độ x và y sử dụng gốc tọa độ mặc định là (0,0) trừ khi một gốc tọa độ khác đã được thiết lập bằng cách sử dụng set_origin.
Usage:
brain.screen.draw_circle(x, y, radius, color)
Tham số |
Sự miêu tả |
|---|---|
|
Tọa độ x của tâm đường tròn, được biểu thị bằng một số nguyên từ 0 đến 159. |
|
Tọa độ y của tâm đường tròn, được biểu thị bằng một số nguyên từ 0 đến 107. |
|
Bán kính của hình tròn, tính bằng pixel. |
|
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 xác định một vùng hình chữ nhật trên màn hình, nơi tất cả các hình vẽ và văn bản sẽ được giới hạn. Bất kỳ nội dung nào nằm ngoài vùng này sẽ không được hiển thị.
Usage:
brain.screen.set_clip_region(x, y, width, height)
Tham số |
Sự miêu tả |
|---|---|
|
Tọa độ x của góc trên bên trái của vùng cắt, được biểu thị dưới dạng số nguyên hoặc số thực từ 0 đến 159. |
|
Tọa độ y của góc trên bên trái của vùng cắt, được biểu thị dưới dạng số nguyên hoặc số thực từ 0 đến 107. |
|
Chiều rộng của vùng cắt tính bằng pixel. |
|
Chiều cao của vùng cắt tính bằng pixel. |
# 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#
Lệnh render cho phép bộ đệm kép cho màn hình của Brain. Sau khi được gọi, bất kỳ lệnh vẽ nào (như văn bản, hình dạng hoặc hình ảnh) sẽ không còn hiển thị ngay lập tức trong suốt phần còn lại của dự án. Thay vào đó, các cập nhật sẽ chỉ được hiển thị khi lệnh render được sử dụng lại. Điều này cho phép cập nhật màn hình mượt mà và được kiểm soát tốt hơn, nhưng có nghĩa là sẽ không có gì hiển thị cho đến khi lệnh render được sử dụng.
Usage:
brain.screen.render()
Thông số |
Sự miêu tả |
|---|---|
Phương pháp này không có tham số. |
# 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()









