Екран#

Вступ#

Методи 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)

Параметри

Опис

text

Текст, число або значення змінної, яке потрібно вивести на екран.

precision

Необов’язково. Кількість знаків після коми, які відображаються під час відображення чисел. Це має бути записано як ключовий аргумент, наприклад:precision=3Значення за замовчуванням — 2.

opaque

Необов’язково. opaque=True — Фон тексту буде заповнено поточним кольором заливки або чорним за замовчуванням. opaque=False (за замовчуванням) — Фон тексту буде відповідати кольору фону екрана.

# Display a message at the starting
# cursor position
brain.screen.print("Hello, Robot!")

Знімок екрана VEX IQ Brain, на якому в першому рядку білим шрифтом написано «Привіт, роботе!».

# 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)

Параметри

Опис

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)

Знімок екрана IQ Brain показує, що у верхньому лівому куті білим шрифтом написано 23,19.

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")

Знімок екрана IQ Brain показує, що у верхньому лівому куті білим текстом написано рядок 1, а безпосередньо під ним — рядок 2.

clear_row#

clear_row очищає один рядок тексту на екрані Brain.

Usage:
brain.screen.clear_row(row, color)

Параметри

Опис

ряд

Необов’язково. Рядок, який потрібно очистити. За замовчуванням використовується поточний рядок курсора.

колір

Необов’язково. Колір, який слід застосувати до очищеного рядка. Варіанти включають:

  • Color.BLACK
  • Color.BLUE
  • Color.BLUE_GREEN
  • Color.BLUE_VIOLET
  • Color.GREEN
  • Color.ORANGE
  • Color.PURPLE
  • Color.RED
  • COLOR.RED_ORANGE
  • Color.RED_VIOLET
  • Color.VIOLET
  • Color.WHITE
  • Color.YELLOW
  • Color.YELLOW_GREEN
  • Color.YELLOW_ORANGE
Ви також можете вказати власний колір.

# 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())

Знімок екрана IQ Brain з білою цифрою 3, надрукованою в крайньому лівому куті екрана, по центру вертикально, у позиції рядка 3, стовпця 2.

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())

Знімок екрана IQ Brain з білою цифрою 2, надрукованою в крайньому лівому куті екрана, по центру вертикально, у позиції рядка 3 стовпця 2.

get_string_width#

get_string_width повертає ширину рядка в пікселях як ціле число, як воно відображатиметься на екрані Brain. Ширина змінюється залежно від довжини рядка та поточного шрифту.

Usage:
brain.screen.get_string_width(string)

Параметри

Опис

string

Нитка для вимірювання.

get_string_height#

get_string_height повертає висоту рядка в пікселях як ціле число, як воно відображатиметься на екрані Brain. Висота змінюється залежно від довжини рядка та поточного шрифту.

Usage:
brain.screen.get_string_height(string)

Параметри

Опис

string

Нитка для вимірювання.

Мутатори#

clear_screen#

clear_screen очищає всі малюнки та текст з екрана Мозку.

Usage:
brain.screen.clear_screen(color)

Параметри

Опис

color

Необов’язково. Встановлює колір екрана. Варіанти включають:

  • Color.BLACK
  • Color.BLUE
  • Color.BLUE_GREEN
  • Color.BLUE_VIOLET
  • Color.GREEN
  • Color.ORANGE
  • Color.PURPLE
  • Color.RED
  • COLOR.RED_ORANGE
  • Color.RED_VIOLET
  • Color.VIOLET
  • Color.WHITE
  • Color.YELLOW
  • Color.YELLOW_GREEN
  • Color.YELLOW_ORANGE
Ви також можете вказати власний колір.

# 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)

Знімок екрана IQ Brain, на якому вся область друку яскраво-червона.

set_font#

set_font встановлює шрифт, який використовується для відображення тексту на екрані Brain. Цей шрифт застосовуватиметься до всього тексту, надрукованого за допомогою print або print_at. Шрифт за замовчуванням на початку проєкту — MONO20.

Usage:
brain.screen.set_font(fontname)

Параметр

Опис

fontname

Sets the font to one of the following:

  • MONO12
  • MONO15
  • MONO20
  • MONO30
  • MONO40
  • MONO60
  • PROP20
  • PROP30
  • PROP40
  • PROP60
These options are shown below.

Знімок екрана VEX IQ Brain із серією цифр та літер шрифтом Mono 12. Літера AZ розташована в одному рядку, що охоплює всю ширину екрана. Лівий нижній кут позначає 26 символів по горизонталі та 9 рядків.
MONO12

Той самий скріншот, що й попередній, тепер зі шрифтом Mono 15. Літери AT розташовані в одному рядку, займаючи всю ширину екрана. Лівий нижній кут позначає 20 символів завширшки та 7 рядків.
MONO15

Той самий скріншот, що й попередній, тепер зі шрифтом Mono 20. Літери AP розташовані в одному рядку, займаючи всю ширину екрана. Лівий нижній кут позначає 16 символів завширшки та 5 рядків.
MONO20

Той самий скріншот, що й попередній, тепер зі шрифтом Mono 30. Числа від 1 до 9 та додатковий 0 розташовані в одному рядку, охоплюючи всю ширину екрана. Лівий нижній кут позначає 3 рядки.
MONO30

Той самий скріншот, що й попередній, тепер зі шрифтом Mono 40. Числа від 1 до 8 знаходяться на другому рядку, займаючи всю ширину екрана.
MONO40

Той самий скріншот, що й попередній, тепер зі шрифтом Mono 60. На екрані відображається MN 60 великим шрифтом, який займає майже всю верхню половину екрана.
MONO60

Той самий скріншот, що й попередній, тепер зі шрифтом Prop 20. Літери AW розташовані в одному рядку, займаючи всю ширину екрана. Лівий нижній кут позначає 26 символів по горизонталі та 5 рядків.
PROP20

Той самий скріншот, що й попередній, тепер зі шрифтом Prop 30. Числа 1-9 повторюються двічі в одному рядку, займаючи всю ширину екрана. Лівий нижній кут позначає 18 символів по горизонталі та 3 рядки.
PROP30

Той самий скріншот, що й попередній, тепер зі шрифтом Prop 40. У верхньому рядку екрана написано Prop 40, а в другому — 14 символів і 2 рядки.
PROP40

Той самий скріншот, що й попередній, тепер зі шрифтом Prop 60. На екрані великим шрифтом написано PROP 60, займаючи майже всю верхню половину екрана.
PROP60

# 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")

Знімок екрана IQ Brain з білим текстом у два рядки у верхньому лівому куті. У першому рядку написано Mono Medium, а в другому рядку безпосередньо під ним — Prop Medium меншим шрифтом.

set_pen_width#

set_pen_width встановлює товщину намальованих ліній та контурів фігур.

Usage:
brain.screen.set_pen_width(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)

Знімок екрана IQ Brain з двома білими колами, надрукованими в нижній половині екрана. Коло ліворуч намальоване з вужчою рамкою, ніж коло праворуч.

set_pen_color#

set_pen_color встановлює колір тексту, пікселів, ліній та контурів фігур.

Usage:
brain.screen.set_pen_color(color)

Параметр

Опис

color

Необов’язково. Колір пера та шрифту, який потрібно використовувати. Варіанти включають:

  • Color.BLACK
  • Color.BLUE
  • Color.BLUE_GREEN
  • Color.BLUE_VIOLET
  • Color.GREEN
  • Color.ORANGE
  • Color.PURPLE
  • Color.RED
  • COLOR.RED_ORANGE
  • Color.RED_VIOLET
  • Color.VIOLET
  • Color.WHITE
  • Color.YELLOW
  • Color.YELLOW_GREEN
  • Color.YELLOW_ORANGE
Ви також можете вказати власний колір.

# 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)

Знімок екрана IQ Brain з двома маленькими прямокутниками, намальованими в нижній половині екрана. Прямокутник ліворуч синій, а праворуч — білий.

set_fill_color#

set_fill_color встановлює колір заливки, який використовується під час малювання фігур.

Usage:
brain.screen.set_fill_color(color)

Параметр

Опис

color

Необов’язково. Колір заливки, який потрібно використовувати. Варіанти включають:

  • Color.BLACK
  • Color.BLUE
  • Color.BLUE_GREEN
  • Color.BLUE_VIOLET
  • Color.GREEN
  • Color.ORANGE
  • Color.PURPLE
  • Color.RED
  • COLOR.RED_ORANGE
  • Color.RED_VIOLET
  • Color.VIOLET
  • Color.WHITE
  • Color.YELLOW
  • Color.YELLOW_GREEN
  • Color.YELLOW_ORANGE
Ви також можете вказати власний колір.

# Draw a yellow circle
brain.screen.set_fill_color(Color.YELLOW)
brain.screen.draw_circle(50, 50, 20)

Знімок екрана IQ Brain з яскраво-жовтим колом і тонкою білою рамкою, намальованою в лівій половині екрана.

set_origin#

set_origin встановлює початок координат, який використовується для малювання та друку на основі координат на екрані Brain. За замовчуванням початком координат є верхній лівий кут екрана.

Usage:
brain.screen.set_origin(x, y)

Параметр

Опис

x

Нова координата x, яку потрібно встановити як початок координат, задана як ціле число від 0 до 159.

y

Нова координата 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)

Знімок екрана IQ Brain з лінією while, що починається трохи лівіше від центру та простягається по діагоналі вниз праворуч до правого нижнього кута екрана.

Нічия#

draw_pixel#

draw_pixel малює один піксель у вибраних координатах x та y, використовуючи поточний колір пера.

Usage:
brain.screen.draw_pixel(x, y)

Параметр

Опис

x

Координата x, де буде намальовано піксель, задана як ціле число від 0 до 159.

y

Координата Y, де буде намальовано піксель, задана як ціле число від 0 до 107.

# Draw one pixel at the center
# of the screen
brain.screen.draw_pixel(80, 50)

Знімок екрана IQ Brain з крихітною білою цяткою в центрі екрана.

draw_line#

draw_line малює лінію від першої екранної координати (x1, y1) до другої екранної координати (x2, y2) використовуючи поточні значення ширина пера та колір пера.

Координати x та y використовують початковий пункт за замовчуванням (0, 0), якщо не було встановлено інший початковий пункт за допомогою set_origin.

Usage:
brain.screen.draw_line(x1, y1, x2, y2)

Параметр

Опис

x1

Початкова x-координата лінії, задана як ціле число від 0 до 159.

y1

Початкова координата y лінії, задана як ціле число від 0 до 107.

x2

Кінцева x-координата лінії, задана як ціле число від 0 до 159.

y2

Кінцева координата y лінії, задана як ціле число від 0 до 107.

# Draw a line from the top left to
# bottom right of the screen
brain.screen.draw_line(0, 0, 159, 107)

Знімок екрана IQ Brain з білою діагональною лінією, проведеною від верхнього лівого кута до нижнього правого кута.

draw_rectangle#

draw_rectangle малює прямокутник з верхнім лівим кутом у вибраній координаті (x, y) та розміром, що визначається заданою шириною та висотою, усі виміряні в пікселях. Контур прямокутника малюється з використанням поточних параметрів ширина пера та колір пера. Внутрішня частина заповнюється поточним кольором заливка, якщо не використовується необов’язковий параметр color.

Координати x та y використовують початкову точку відліку за замовчуванням (0,0), якщо не було встановлено іншу початкову точку за допомогою set_origin.

Usage:
brain.screen.draw_rectangle(x, y, width, height, color)

Параметр

Опис

x

Координата x верхнього лівого кута прямокутника, задана як ціле число від 0 до 159.

y

Y-координата верхнього лівого кута прямокутника, задана як ціле число від 0 до 107.

width

Ширина прямокутника, у пікселях.

height

Висота прямокутника, у пікселях.

color

Необов’язково. Колір заливки прямокутника. Варіанти включають:

  • Color.BLACK
  • Color.BLUE
  • Color.BLUE_GREEN
  • Color.BLUE_VIOLET
  • Color.GREEN
  • Color.ORANGE
  • Color.PURPLE
  • Color.RED
  • COLOR.RED_ORANGE
  • Color.RED_VIOLET
  • Color.VIOLET
  • Color.WHITE
  • Color.YELLOW
  • Color.YELLOW_GREEN
  • Color.YELLOW_ORANGE
Ви також можете вказати власний колір.

# Draw a red rectangle on the screen
brain.screen.draw_rectangle(25, 25, 100, 50, Color.RED)

Знімок екрана IQ Brain з великим червоним прямокутником з тонкою білою рамкою, намальованою майже по центру екрана.

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

Координата x центру кола, задана як ціле число від 0 до 159.

y

Y-координата центру кола, задана як ціле число від 0 до 107.

radius

Радіус кола, у пікселях.

color

Необов’язково. Колір заливки кола. Варіанти включають:

  • Color.BLACK
  • Color.BLUE
  • Color.BLUE_GREEN
  • Color.BLUE_VIOLET
  • Color.GREEN
  • Color.ORANGE
  • Color.PURPLE
  • Color.RED
  • COLOR.RED_ORANGE
  • Color.RED_VIOLET
  • Color.VIOLET
  • Color.WHITE
  • Color.YELLOW
  • Color.YELLOW_GREEN
  • Color.YELLOW_ORANGE
Ви також можете вказати власний колір.

# Draw a green circle on the screen
brain.screen.draw_circle(80, 50, 20, Color.GREEN)

Знімок екрана IQ Brain із суцільним зеленим колом і тонкою білою рамкою в центрі екрана.

set_clip_region#

set_clip_region визначає прямокутну область на екрані, де будуть обмежені всі малюнки та текст. Будь-який контент за межами цієї області не відображатиметься.

Usage:
brain.screen.set_clip_region(x, y, width, height)

Параметр

Опис

x

Координата x верхнього лівого кута області кліпу, задана як ціле число або число з плаваючою комою від 0 до 159.

y

Y-координата верхнього лівого кута області кліпу, задана як ціле число або число з плаваючою комою від 0 до 107.

width

Ширина області кліпу в пікселях.

height

Висота області кліпу в пікселях.

# 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)

Знімок екрана IQ Brain з білим текстом біля центру екрана з написом «Вирізано», а під ним — суцільний червоний квадрат, що показує, що друкується в області вирізання.

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()