Ecrã#
Introdução#
Os métodos de ecrã controlam a forma como o cérebro IQ (2ª geração) exibe texto, números e gráficos no seu ecrã integrado.
Para desenho, a resolução do cérebro é de 160 x 108 pixéis.
Esta página utiliza brain como exemplo de nome Cérebro. Substitua-o pelo seu próprio nome configurado conforme necessário.
Segue-se uma lista de todos os métodos:
Impressão com cursor — Posicione e imprima texto.
print— Imprime texto, números ou valores de variáveis na posição atual do cursor.set_cursor— Move o cursor para uma linha e coluna específicas.next_row— Desloca o cursor para a coluna 1 da linha seguinte.clear_row— Limpa uma linha de texto.row— Devolve a linha onde o texto será impresso.column— Retorna a coluna onde o texto será impresso.print_at— Imprime texto, números ou valores de variáveis numa coordenada x e y específica.get_string_width— Retorna a largura de uma string em pixéis utilizando a fonte actual.get_string_height— Retorna a altura de uma string em pixéis utilizando a fonte atual.
Mutadores — Alterem as definições do ecrã, as cores e o comportamento de desenho.
clear_screen— Limpa o ecrã de todos os desenhos e textos.set_font— Define o tipo de letra para texto impresso.set_pen_width— Define a espessura das linhas desenhadas e dos contornos das formas.set_pen_color— Define a cor do texto, os pixéis, as linhas e os contornos das formas.set_fill_color— Define a cor de preenchimento para as formas desenhadas e para os fundos de texto impressos.set_origin— Define a origem utilizada para a impressão e desenho baseados em coordenadas.
Desenhar — Adicionar elementos gráficos ao ecrã.
draw_pixel— Desenha um pixel numa coordenada.draw_line— Desenha uma linha entre dois pontos.draw_rectangle— Desenha um rectângulo.draw_circle— Desenha um círculo.set_clip_region— Restringe o local onde podem aparecer desenhos e texto.render— Atualiza o ecrã do cérebro com texto e desenhos apenas quando é chamado.
Impressão do cursor#
print#
print imprime texto, números ou valores de variáveis no ecrã do Brain na posição do cursor e fonte atuais.
Usage:
brain.screen.print(text, precision, opaque)
Parâmetros |
Descrição |
|---|---|
|
O texto, número ou valor da variável a imprimir no ecrã. |
|
Opcional. O número de casas decimais a apresentar ao mostrar números. Deve ser escrito como um argumento nomeado, por exemplo: |
|
Opcional. |
# 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 move o cursor para uma linha e coluna específicas no ecrã Brain. A chamada seguinte print começará a imprimir nesse local. Quantas linhas e colunas cabem confortavelmente depende da fonte selecionada.
As fontes monoespaçadas têm caracteres com a mesma largura, tornando o posicionamento do texto consistente. Em contraste, as fontes proporcionais variam na largura dos caracteres, pelo que algumas letras ocupam mais espaço do que outras. No entanto, independentemente do tipo utilizado, set_cursor posiciona o cursor com base no tamanho da linha e da coluna, e não no estilo da fonte. O tamanho da letra pode ser ajustado utilizando set_font.
Usage:
brain.screen.set_cursor(row, column)
Parâmetros |
Descrição |
|---|---|
|
A linha para a qual mover o cursor. |
|
A coluna para a qual deve mover o cursor. |
# 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 move o cursor para a coluna 1 na linha seguinte do ecrã Brain.
Usage:
brain.screen.next_row()
Parâmetros |
Descrição |
|---|---|
Este método não tem parâmetros. |
# Display two lines of text
brain.screen.print("Line 1")
brain.screen.next_row()
brain.screen.print("Line 2")

clear_row#
clear_row limpa uma única linha de texto no ecrã do Brain.
Usage:
brain.screen.clear_row(row, color)
Parâmetros |
Descrição |
|---|---|
linha |
Opcional. A linha a limpar. O predefinido é a linha atual do cursor. |
cor |
Opcional. A cor a aplicar na linha limpa. As opções incluem:
Color.RED_VIOLET |
# 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 returns the row where text will be printed as an integer.
Usage:
brain.screen.row()
Parâmetros |
Descrição |
|---|---|
Este método não tem parâmetros. |
# Set cursor to (3,2) and print
# row number
brain.screen.set_cursor(3, 2)
brain.screen.print(brain.screen.row())

column#
column returns the column where text will be printed as an integer.
Usage:
brain.screen.column()
Parâmetros |
Descrição |
|---|---|
Este método não tem parâmetros. |
# 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 imprime texto, números ou valores de variáveis no ecrã do Brain numa coordenada x e y especificada em pixéis com a fonte e origem definidas atualmente. Este método ignora a posição atual do cursor.
Usage:
brain.screen.print_at(text, x, y, precision, opaque)
Parâmetros |
Descrição |
|---|---|
|
O texto, número ou valor da variável a imprimir. |
|
A coordenada x a imprimir como argumento de palavra-chave, ou seja: |
|
A coordenada y a imprimir como argumento de palavra-chave, ou seja: |
|
Opcional. O número de casas decimais a apresentar ao mostrar números. Deve ser escrito como um argumento nomeado, por exemplo: |
|
Opcional. |
# 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 devolve a largura de uma string em pixéis como um número inteiro, tal como apareceria no ecrã do Brain. A largura varia consoante o comprimento da string e a fonte atual.
Usage:
brain.screen.get_string_width(string)
Parâmetros |
Descrição |
|---|---|
|
A corda a medir. |
get_string_height#
get_string_height devolve a altura de uma string em pixéis como um número inteiro, tal como apareceria no ecrã do Brain. A altura varia consoante o comprimento da string e a fonte atual.
Usage:
brain.screen.get_string_height(string)
Parâmetros |
Descrição |
|---|---|
|
A corda a medir. |
Mutantes#
clear_screen#
clear_screen limpa todos os desenhos e textos do ecrã do cérebro.
Usage:
brain.screen.clear_screen(color)
Parâmetros |
Descrição |
|---|---|
|
Opcional. Define a cor do ecrã. As opções incluem:
Color.RED_VIOLET |
# 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 define a fonte utilizada para apresentar o texto no ecrã do Brain. Esta fonte será aplicada a todo o texto impresso com print ou print_at. A fonte predefinida no início de um projeto é MONO20.
Usage:
brain.screen.set_font(fontname)
Parâmetro |
Descrição |
|---|---|
|
Define a fonte para uma das seguintes opções:
|
|
|
|
|---|---|---|
|
|
|
|
|
|
|
# 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 define a espessura das linhas desenhadas e dos contornos das formas.
Usage:
brain.screen.set_pen_width(width)
Parâmetro |
Descrição |
|---|---|
|
A largura da caneta, em pixéis, varia de 0 a 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 define a cor do texto, os pixéis, as linhas e os contornos das formas.
Usage:
brain.screen.set_pen_color(color)
Parâmetro |
Descrição |
|---|---|
|
Opcional. A cor da caneta e da fonte a utilizar. As opções incluem:
|
# 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 define a cor de preenchimento utilizada quando as formas são desenhadas.
Usage:
brain.screen.set_fill_color(color)
Parâmetro |
Descrição |
|---|---|
|
Opcional. A cor de preenchimento a utilizar. As opções incluem:
Color.RED_VIOLET |
# Draw a yellow circle
brain.screen.set_fill_color(Color.YELLOW)
brain.screen.draw_circle(50, 50, 20)

set_origin#
set_origin define a origem utilizada para o desenho e impressão baseada em coordenadas no ecrã do Brain. Por predefinição, a origem é o canto superior esquerdo do ecrã.
Usage:
brain.screen.set_origin(x, y)
Parâmetro |
Descrição |
|---|---|
|
A nova coordenada x a definir como origem, fornecida como um número inteiro de 0 a 159. |
|
A nova coordenada y a definir como origem, fornecida como um número inteiro de 0 a 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)

Desenhar#
draw_pixel#
draw_pixel desenha um pixel na coordenada x e y seleccionada utilizando a cor da caneta.
Usage:
brain.screen.draw_pixel(x, y)
Parâmetro |
Descrição |
|---|---|
|
A coordenada x onde o pixel será desenhado, fornecida como um número inteiro de 0 a 159. |
|
A coordenada y onde o pixel será desenhado, fornecida como um número inteiro de 0 a 107. |
# Draw one pixel at the center
# of the screen
brain.screen.draw_pixel(80, 50)
![]()
draw_line#
draw_line desenha uma linha da primeira coordenada do ecrã (x1, y1) para a segunda coordenada do ecrã (x2, y2) utilizando a largura da caneta e a cor da caneta atuais.
As coordenadas x e y utilizam a origem padrão de (0, 0) a menos que tenha sido definida uma origem diferente utilizando set_origin.
Usage:
brain.screen.draw_line(x1, y1, x2, y2)
Parâmetro |
Descrição |
|---|---|
|
A coordenada x inicial da linha, dada como um número inteiro de 0 a 159. |
|
A coordenada y inicial da linha, dada como um número inteiro de 0 a 107. |
|
A coordenada x final da recta, dada como um número inteiro de 0 a 159. |
|
A coordenada y final da recta, dada como um número inteiro de 0 a 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 desenha um rectângulo com o seu canto superior esquerdo na coordenada (x, y) seleccionada e um tamanho determinado pela largura e altura fornecidas, tudo medido em pixéis. O contorno do retângulo é desenhado utilizando a largura da caneta e a cor da caneta atuais. O interior é preenchido com a cor de preenchimento actual, a menos que seja utilizado o parâmetro opcional color.
As coordenadas x e y utilizam a origem padrão de (0,0) a menos que tenha sido definida uma origem diferente utilizando set_origin.
Usage:
brain.screen.draw_rectangle(x, y, width, height, color)
Parâmetro |
Descrição |
|---|---|
|
A coordenada x do canto superior esquerdo do retângulo, dada como um número inteiro de 0 a 159. |
|
A coordenada y do canto superior esquerdo do retângulo, dada como um número inteiro de 0 a 107. |
|
A largura do retângulo, em pixéis. |
|
A altura do retângulo, em pixéis. |
|
Opcional. A cor de preenchimento do retângulo. As opções incluem:
Color.RED_VIOLET |
# Draw a red rectangle on the screen
brain.screen.draw_rectangle(25, 25, 100, 50, Color.RED)

draw_circle#
draw_circle desenha um círculo com o seu centro na coordenada (x, y) seleccionada e um tamanho determinado pelo raio fornecido, tudo medido em pixéis. O contorno do círculo é desenhado utilizando a largura da caneta e a cor da caneta atuais. O interior é preenchido com a cor de preenchimento actual, a menos que seja utilizado o parâmetro opcional color.
As coordenadas x e y utilizam a origem padrão de (0,0) a menos que tenha sido definida uma origem diferente utilizando set_origin.
Usage:
brain.screen.draw_circle(x, y, radius, color)
Parâmetro |
Descrição |
|---|---|
|
A coordenada x do centro do círculo, dada como um número inteiro de 0 a 159. |
|
A coordenada y do centro do círculo, dada como um número inteiro de 0 a 107. |
|
O raio do círculo, em pixéis. |
|
Opcional. A cor de preenchimento do círculo. As opções incluem:
Color.RED_VIOLET |
# Draw a green circle on the screen
brain.screen.draw_circle(80, 50, 20, Color.GREEN)

set_clip_region#
O parâmetro set_clip_region define uma área rectangular no ecrã onde serão apresentados todos os desenhos e textos. Qualquer conteúdo fora dessa região não será mostrado.
Usage:
brain.screen.set_clip_region(x, y, width, height)
Parâmetro |
Descrição |
|---|---|
|
A coordenada x do canto superior esquerdo da região de recorte, fornecida como um número inteiro ou decimal de 0 a 159. |
|
A coordenada y do canto superior esquerdo da região de recorte, fornecida como um número inteiro ou decimal de 0 a 107. |
|
A largura da região de recorte em pixéis. |
|
A altura da região de recorte em pixéis. |
# 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#
O comando render activa o duplo buffer para o ecrã do Brain. Uma vez acionado, quaisquer comandos de desenho (como texto, formas ou imagens) não aparecerão imediatamente durante o resto do projeto. Em vez disso, as actualizações só serão apresentadas quando o comando render for utilizado novamente. Isto permite atualizações de ecrã mais suaves e controladas, mas significa que nada será visível até que o comando render seja utilizado.
Usage:
brain.screen.render()
Parâmetros |
Descrição |
|---|---|
Este método não tem parâmetros. |
# 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()









