Écran#

Introduction#

Les méthodes d’affichage contrôlent la façon dont le cerveau IQ (2e génération) affiche le texte, les chiffres et les graphiques sur son écran intégré.

Pour le dessin, la résolution du Cerveau est de 160 x 108 pixels.

Cette page utilise brain comme exemple de nom Cerveau. Remplacez-le par le nom que vous avez configuré, selon vos besoins.

Vous trouverez ci-dessous la liste de toutes les méthodes :

Impression du curseur — Placez et imprimez du texte.

  • print — Affiche du texte, des nombres ou des valeurs de variables à la position actuelle du curseur.

  • set_cursor — Déplace le curseur vers une ligne et une colonne spécifiques.

  • next_row — Déplace le curseur à la colonne 1 de la ligne suivante.

  • clear_row — Efface une ligne de texte.

  • row — Renvoie la ligne où le texte sera imprimé.

  • column — Renvoie la colonne dans laquelle le texte sera imprimé.

  • print_at — Affiche du texte, des nombres ou des valeurs de variables à une coordonnée x et y spécifique.

  • get_string_width — Renvoie la largeur d’une chaîne en pixels en utilisant la police actuelle.

  • get_string_height — Renvoie la hauteur d’une chaîne en pixels en utilisant la police actuelle.

Modificateurs — Modifient les paramètres d’écran, les couleurs et le comportement de dessin.

  • clear_screen — Efface l’écran de tous les dessins et textes.

  • set_font — Définit la police du texte imprimé.

  • set_pen_width — Définit l’épaisseur des lignes dessinées et des contours des formes.

  • set_pen_color — Définit la couleur du texte, des pixels, des lignes et des contours des formes.

  • set_fill_color — Définit la couleur de remplissage des formes dessinées et des arrière-plans de texte imprimés.

  • set_origin — Définit l’origine utilisée pour l’impression et le dessin basés sur les coordonnées.

Dessiner — Ajouter des éléments graphiques à l’écran.

  • draw_pixel — Dessine un pixel à une coordonnée.

  • draw_line — Trace une ligne entre deux points.

  • draw_rectangle — Dessine un rectangle.

  • draw_circle — Dessine un cercle.

  • set_clip_region — Limite l’endroit où les dessins et le texte peuvent apparaître.

  • render — Met à jour l’écran du Cerveau avec du texte et des dessins uniquement lorsqu’il est appelé.

Impression du curseur#

print#

print imprime du texte, des nombres ou des valeurs de variables sur l’écran Brain à la position du curseur et police actuelles.

Usage:
brain.screen.print(text, precision, opaque)

Paramètres

Description

text

Le texte, le nombre ou la valeur de la variable à afficher à l’écran.

precision

Facultatif. Nombre de décimales à afficher. Doit être spécifié comme argument nommé, par exemple :precision=3. La valeur par défaut est 2.

opaque

Optional. opaque=True — The background of the text will be filled with the current fill color or black by default. opaque=False (default) — The background of the text will match the screen’s background color.

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

Une capture d'écran de l'écran VEX IQ Brain affiche « Bonjour, robot ! » en blanc sur la première ligne.

# 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 moves the cursor to a specific row and column on the Brain screen. The next print call will start printing at that location. How many rows and columns can comfortably fit depends on the selected font.

Monospaced fonts have characters that are all the same width, making text placement consistent. In contrast, proportional fonts vary in character width, so some letters take up more space than others. However, regardless of which type is used, set_cursor positions the cursor based on row and column size, not font style. The font size can be adjusted using set_font.

Usage:
brain.screen.set_cursor(row, column)

Paramètres

Description

row

La ligne sur laquelle déplacer le curseur.

column

La colonne vers laquelle déplacer le curseur.

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

Une capture d'écran de l'écran IQ Brain affiche 23,19 en blanc dans le coin supérieur gauche.

next_row#

next_row déplace le curseur à la colonne 1 de la ligne suivante sur l’écran Brain.

Usage:
brain.screen.next_row()

Paramètres

Description

Cette méthode ne comporte aucun paramètre.

# Display two lines of text
brain.screen.print("Line 1")
brain.screen.next_row()
brain.screen.print("Line 2")

Une capture d'écran de l'écran IQ Brain affiche la ligne 1 en blanc dans le coin supérieur gauche et la ligne 2 juste en dessous.

clear_row#

clear_row efface une seule ligne de texte sur l’écran Brain.

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

Paramètres

Description

rangée

Facultatif. La ligne à effacer. Par défaut, il s’agit de la ligne actuellement sélectionnée par le curseur.

couleur

Optional. The color to apply to the cleared row. Options include:

  • 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
You can also specify a custom 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#

La ligne row renvoie la ligne où le texte sera imprimé sous forme d’entier.

Usage:
brain.screen.row()

Paramètres

Description

Cette méthode ne comporte aucun paramètre.

# Set cursor to (3,2) and print 
# row number
brain.screen.set_cursor(3, 2)
brain.screen.print(brain.screen.row())

Capture d'écran de l'application IQ Brain avec un chiffre 3 blanc imprimé à l'extrême gauche de l'écran, centré verticalement, à la position ligne 3 colonne 2.

column#

La colonne column renvoie la colonne dans laquelle le texte sera imprimé sous forme d’entier.

Usage:
brain.screen.column()

Paramètres

Description

Cette méthode ne comporte aucun paramètre.

# Set cursor to (3,2) and print 
# column number
brain.screen.set_cursor(3, 2)
brain.screen.print(brain.screen.column())

Capture d'écran de l'application IQ Brain avec un chiffre 2 blanc imprimé à l'extrême gauche de l'écran, centré verticalement, à la position de la ligne 3 et de la colonne 2.

get_string_width#

get_string_width renvoie la largeur d’une chaîne en pixels sous forme d’entier, telle qu’elle apparaîtrait sur l’écran du Cerveau. La largeur varie en fonction de la longueur de la chaîne et de la police actuelle.

Usage:
brain.screen.get_string_width(string)

Paramètres

Description

string

La corde à mesurer.

get_string_height#

get_string_height renvoie la hauteur d’une chaîne en pixels sous forme d’entier, telle qu’elle apparaîtrait sur l’écran Brain. La hauteur varie en fonction de la longueur de la chaîne et de la police actuelle.

Usage:
brain.screen.get_string_height(string)

Paramètres

Description

string

La corde à mesurer.

Mutateurs#

clear_screen#

clear_screen efface tous les dessins et textes de l’écran du Cerveau.

Usage:
brain.screen.clear_screen(color)

Paramètres

Description

color

Optional. Sets the screen color. Options include:

  • 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
You can also specify a custom 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)

Capture d'écran de l'interface IQ Brain avec toute la zone imprimable en rouge vif.

set_font#

set_font sets the font used for displaying text on the Brain screen. This font will apply to all text printed with print or print_at. The default font at the start of a project is MONO20.

Usage:
brain.screen.set_font(fontname)

Paramètre

Description

fontname

Sets the font to one of the following:

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

Capture d'écran de l'interface VEX IQ Brain affichant une série de chiffres et de lettres en police Mono 12. Les lettres AZ sont sur une seule ligne, occupant toute la largeur de l'écran. Le coin inférieur gauche indique 26 caractères sur 9 lignes.
MONO12

La même capture d'écran que la précédente, mais avec la police Mono 15. Les lettres AT sont sur une seule ligne, occupant toute la largeur de l'écran. Le coin inférieur gauche indique 20 caractères de large et 7 lignes.
MONO15

La même capture d'écran que la précédente, mais avec la police Mono 20. Les lettres AP sont sur une seule ligne, occupant toute la largeur de l'écran. Le coin inférieur gauche indique 16 caractères de large et 5 lignes.
MONO20

La même capture d'écran que la précédente, mais avec la police Mono 30. Les chiffres de 1 à 9 et un 0 supplémentaire sont sur une seule ligne, occupant toute la largeur de l'écran. Le coin inférieur gauche indique 3 lignes.
MONO30

La même capture d'écran que la précédente, mais avec la police Mono 40. Les chiffres de 1 à 8 sont sur la deuxième ligne, occupant toute la largeur de l'écran.
MONO40

La même capture d'écran que la précédente, mais avec la police Mono 60. L'écran affiche MN 60 en gros caractères, occupant presque toute la moitié supérieure de l'écran.
MONO60

La même capture d'écran que la précédente, mais avec la police Prop 20. Les lettres AW sont sur une seule ligne, occupant toute la largeur de l'écran. Le coin inférieur gauche indique 26 caractères de large et 5 lignes.
PROP20

La même capture d'écran que la précédente, mais avec la police Prop 30. Les chiffres de 1 à 9 sont répétés deux fois sur une même ligne, occupant toute la largeur de l'écran. Le coin inférieur gauche indique 18 caractères de large et 3 lignes.
PROP30

La même capture d'écran que la précédente, mais avec la police Prop 40. L'écran affiche Prop 40 sur la première ligne et indique 14 caractères et 2 lignes sur la deuxième.
PROP40

La même capture d'écran que la précédente, mais avec la police Prop 60. L'écran affiche PROP 60 en gros caractères, occupant presque toute la moitié supérieure de l'écran.
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")

Capture d'écran de l'application IQ Brain avec du texte blanc sur deux lignes dans le coin supérieur gauche. La première ligne indique « Mono Medium » et la seconde, juste en dessous, indique « Prop Medium » en plus petit.

set_pen_width#

set_pen_width définit l’épaisseur des lignes dessinées et des contours des formes.

Usage:
brain.screen.set_pen_width(width)

Paramètre

Description

width

La largeur du stylo, en pixels, de 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)

Capture d'écran de l'application IQ Brain montrant deux cercles blancs imprimés dans la moitié inférieure de l'écran. Le cercle de gauche a un contour plus fin que celui de droite.

set_pen_color#

set_pen_color définit la couleur du texte, des pixels, des lignes et des contours des formes.

Usage:
brain.screen.set_pen_color(color)

Paramètre

Description

color

Optional. The pen and font color to use. Options include:

  • 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
You can also specify a custom 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)

Capture d'écran de l'application IQ Brain avec deux petits rectangles dessinés dans la moitié inférieure de l'écran. Le rectangle de gauche est bleu et celui de droite est blanc.

set_fill_color#

set_fill_color définit la couleur de remplissage utilisée lors du dessin des formes.

Usage:
brain.screen.set_fill_color(color)

Paramètre

Description

color

Optional. The fill color to use. Options include:

  • 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
You can also specify a custom color.

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

Capture d'écran de l'application IQ Brain avec un cercle jaune vif bordé d'un fin liseré blanc sur la moitié gauche de l'écran.

set_origin#

La commande set_origin définit l’origine utilisée pour le dessin et l’impression basée sur les coordonnées sur l’écran Brain. Par défaut, l’origine est le coin supérieur gauche de l’écran.

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

Paramètre

Description

x

La nouvelle coordonnée x à définir comme origine, donnée sous forme d’entier compris entre 0 et 159.

y

La nouvelle coordonnée y à définir comme origine, donnée sous forme d’entier compris entre 0 et 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)

Capture d'écran d'IQ Brain avec une ligne blanche commençant légèrement à gauche du centre et s'étendant en diagonale vers le bas et la droite, en direction du coin inférieur droit de l'écran.

Dessiner#

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)

Paramètre

Description

x

La coordonnée x où le pixel sera dessiné, donnée sous forme d’entier compris entre 0 et 159.

y

La coordonnée y où le pixel sera dessiné, donnée sous forme d’entier compris entre 0 et 107.

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

Capture d'écran de l'application IQ Brain avec un petit point blanc au centre de l'écran.

draw_line#

draw_line dessine une ligne de la première coordonnée d’écran (x1, y1) à la deuxième coordonnée d’écran (x2, y2) en utilisant la largeur du stylo et la couleur du stylo actuelles.

Les coordonnées x et y utilisent l’origine par défaut de (0, 0) à moins qu’une origine différente n’ait été définie à l’aide de set_origin.

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

Paramètre

Description

x1

La coordonnée x de départ de la ligne, donnée sous forme d’entier compris entre 0 et 159.

y1

La coordonnée y de départ de la ligne, donnée sous forme d’entier compris entre 0 et 107.

x2

La coordonnée x finale de la ligne, donnée sous forme d’un entier compris entre 0 et 159.

y2

La coordonnée y finale de la ligne, donnée sous forme d’un entier compris entre 0 et 107.

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

Capture d'écran de l'application IQ Brain avec une ligne diagonale blanche tracée du coin supérieur gauche au coin inférieur droit.

draw_rectangle#

draw_rectangle draws a rectangle with its top-left corner at the selected (x, y) coordinate and a size determined by the given width and height, all measured in pixels. The rectangle’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.

Les coordonnées x et y utilisent l’origine par défaut de (0,0) à moins qu’une origine différente n’ait été définie à l’aide de set_origin.

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

Paramètre

Description

x

La coordonnée x du coin supérieur gauche du rectangle, donnée sous forme d’entier compris entre 0 et 159.

y

La coordonnée y du coin supérieur gauche du rectangle, donnée sous forme d’entier compris entre 0 et 107.

width

La largeur du rectangle, en pixels.

height

La hauteur du rectangle, en pixels.

color

Optional. The fill color of the rectangle. Options include:

  • 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
You can also specify a custom color.

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

Capture d'écran de l'application IQ Brain avec un grand rectangle rouge bordé d'une fine bordure blanche, presque centré sur l'écran.

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.

Les coordonnées x et y utilisent l’origine par défaut de (0,0) à moins qu’une origine différente n’ait été définie à l’aide de set_origin.

Usage:
brain.screen.draw_circle(x, y, radius, color)

Paramètre

Description

x

L’abscisse du centre du cercle, donnée sous forme d’un entier compris entre 0 et 159.

y

La coordonnée y du centre du cercle, donnée sous forme d’un entier compris entre 0 et 107.

radius

Le rayon du cercle, en pixels.

color

Optional. The fill color of the circle. Options include:

  • 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
You can also specify a custom color.

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

Capture d'écran de l'application IQ Brain avec un cercle vert plein bordé de blanc au centre de l'écran.

set_clip_region#

La commande set_clip_region définit une zone rectangulaire à l’écran où tous les dessins et textes seront confinés. Tout contenu situé en dehors de cette zone ne sera pas affiché.

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

Paramètre

Description

x

La coordonnée x du coin supérieur gauche de la zone de découpage, donnée sous forme d’entier ou de nombre flottant compris entre 0 et 159.

y

La coordonnée y du coin supérieur gauche de la zone de découpage, donnée sous forme d’entier ou de nombre flottant compris entre 0 et 107.

width

Largeur de la zone de découpage en pixels.

height

Hauteur de la zone de découpage en pixels.

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

Capture d'écran de l'application IQ Brain avec un texte blanc près du centre indiquant « Coupé de », et un carré rouge plein juste en dessous montrant ce qui s'affiche dans la zone de découpage.

render#

render active le double tampon pour l’écran du Cerveau. Une fois appelée, les commandes de dessin (texte, formes ou images) ne s’afficheront plus immédiatement pour le reste du projet. Les mises à jour ne seront visibles que lorsque render sera de nouveau utilisée. Cela permet des mises à jour d’écran plus fluides et mieux contrôlées, mais rien ne sera visible tant que render n’aura pas été utilisée.

Usage:
brain.screen.render()

Paramètres

Description

Cette méthode ne comporte aucun paramètre.

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