Экран#
Введение#
Методы управления экраном определяют, как мозг IQ (2-го поколения) отображает текст, числа и графику на своем встроенном экране.
Для рисования разрешение мозга составляет 160 x 108 пикселей.
На этой странице в качестве примера имени Мозг используется 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 выводит текст, числа или значения переменных на экран Brain в текущей позиция курсора и шрифт.
Usage:
brain.screen.print(text, precision, opaque)
Параметры |
Описание |
|---|---|
|
Текст, число или значение переменной для вывода на экран. |
|
Необязательный параметр. Количество десятичных знаков, отображаемых при выводе чисел. Этот параметр необходимо указывать в качестве ключевого аргумента, например: |
|
Необязательно. |
# 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 начнет печать с этого места. Количество строк и столбцов, которые могут комфортно поместиться, зависит от выбранного шрифта.
Моноширинные шрифты имеют одинаковую ширину символов, что обеспечивает единообразие размещения текста. В отличие от них, пропорциональные шрифты различаются по ширине символов, поэтому некоторые буквы занимают больше места, чем другие. Однако, независимо от используемого типа, 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 следующей строки на экране «Мозг».
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 очищает одну строку текста на экране «Мозг».
Usage:
brain.screen.clear_row(row, color)
Параметры |
Описание |
|---|---|
ряд |
Необязательный параметр. Строка для очистки. По умолчанию используется текущая строка курсора. |
цвет |
Необязательный параметр. Цвет, который будет применен к очищенной строке. Доступные варианты:
|
# 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-координата, в которой нужно вывести изображение, передается в качестве ключевого аргумента, например: |
|
Необязательный параметр. Количество десятичных знаков, отображаемых при выводе чисел. Этот параметр необходимо указывать в качестве ключевого аргумента, например: |
|
Необязательно. |
# 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)
Параметры |
Описание |
|---|---|
|
Необязательный параметр. Задает цвет экрана. Доступные варианты:
|
# 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)
Параметр |
Описание |
|---|---|
|
Устанавливает шрифт на один из следующих вариантов:
|
|
|
|
|---|---|---|
|
|
|
|
|
|
|
# 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)
Параметр |
Описание |
|---|---|
|
Необязательно. Выберите цвет ручки и шрифта. Доступные варианты:
|
# 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)
Параметр |
Описание |
|---|---|
|
Необязательный параметр. Цвет заливки. Доступные варианты:
|
# 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 рисует один пиксель в выбранных координатах x и y, используя текущий цвет пера.
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. |
|
Ширина прямоугольника в пикселях. |
|
Высота прямоугольника в пикселях. |
|
Необязательно. Цвет заливки прямоугольника. Доступные варианты:
|
# 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. |
|
Радиус круга в пикселях. |
|
Необязательно. Цвет заливки круга. Доступные варианты:
|
# Draw a green circle on the screen
brain.screen.draw_circle(80, 50, 20, Color.GREEN)

set_clip_region#
Параметр 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()









