Екран#
Вступ#
Методи Screen контролюють, як IQ (2-го покоління) Brain відображає текст, числа та графіку на вбудованому екрані.
Для малювання роздільна здатність Brain становить 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— Оновлює екран Brain текстом та малюнками лише під час виклику.
Курсор друку#
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 наступного рядка на екрані 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)
Параметри |
Опис |
|---|---|
ряд |
Необов’язково. Рядок, який потрібно очистити. За замовчуванням використовується поточний рядок курсора. |
колір |
Необов’язково. Колір, який слід застосувати до очищеного рядка. Варіанти включають:
|
# 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)
Параметр |
Опис |
|---|---|
|
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)
Параметр |
Опис |
|---|---|
|
Необов’язково. Колір пера та шрифту, який потрібно використовувати. Варіанти включають:
|
# 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 draws a circle with its center at the selected (x, y) coordinate and a size determined by the given radius, all measured in pixels. The circle’s outline is drawn using the current pen width and pen color. The interior is filled with the current fill color, unless the optional color parameter is used.
Координати 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 визначає прямокутну область на екрані, де будуть обмежені всі малюнки та текст. Будь-який контент за межами цієї області не відображатиметься.
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()









