Bildschirm#
Einführung#
Die Bildschirmmethoden steuern, wie das IQ (2. Generation) Brain Text, Zahlen und Grafiken auf seinem eingebauten Bildschirm anzeigt.
Für Zeichenaufgaben beträgt die Auflösung des Brain 160 x 108 Pixel.
Diese Seite verwendet brain als Beispielnamen für das Gehirn. Ersetzen Sie diesen bei Bedarf durch Ihren eigenen Namen.
Nachfolgend finden Sie eine Liste aller Methoden:
Cursor Print – Text platzieren und drucken.
print— Gibt Text, Zahlen oder Variablenwerte an der aktuellen Cursorposition aus.set_cursor— Verschiebt den Cursor in eine bestimmte Zeile und Spalte.next_row— Bewegt den Cursor in Spalte 1 der nächsten Zeile.clear_row— Löscht eine Textzeile.row— Gibt die Zeile zurück, in der der Text gedruckt werden soll.column— Gibt die Spalte zurück, in der der Text gedruckt werden soll.print_at— Gibt Text, Zahlen oder Variablenwerte an einer bestimmten x- und y-Koordinate aus.get_string_width— Gibt die Breite einer Zeichenkette in Pixeln unter Verwendung der aktuellen Schriftart zurück.get_string_height— Gibt die Höhe einer Zeichenkette in Pixeln unter Verwendung der aktuellen Schriftart zurück.
Mutatoren – Ändern Bildschirmeinstellungen, Farben und Zeichenverhalten.
clear_screen— Löscht alle Zeichnungen und Texte auf dem Bildschirm.set_font— Legt die Schriftart für gedruckten Text fest.set_pen_width— Legt die Dicke der gezeichneten Linien und Formumrisse fest.set_pen_color— Legt die Farbe von Text, Pixeln, Linien und Formumrissen fest.set_fill_color— Legt die Füllfarbe für gezeichnete Formen und gedruckte Texthintergründe fest.set_origin— Legt den Ursprung fest, der für koordinatenbasiertes Drucken und Zeichnen verwendet wird.
Zeichnen – Grafiken auf dem Bildschirm hinzufügen.
draw_pixel— Zeichnet ein Pixel an einer Koordinate.draw_line— Zeichnet eine Linie zwischen zwei Punkten.draw_rectangle— Zeichnet ein Rechteck.draw_circle— Zeichnet einen Kreis.set_clip_region— Beschränkt, wo Zeichnungen und Text erscheinen können.render— Aktualisiert den Bildschirm des Gehirns nur dann mit Text und Zeichnungen, wenn er aufgerufen wird.
Cursor Drucken#
print#
print gibt Text, Zahlen oder Variablenwerte auf dem Brain-Bildschirm an der aktuellen Cursorposition und Schriftart aus.
Usage:
brain.screen.print(text, precision, opaque)
Parameter |
Beschreibung |
|---|---|
|
Der Text, die Zahl oder der Variablenwert, der auf dem Bildschirm ausgegeben werden soll. |
|
Optional. Die Anzahl der Dezimalstellen, die bei der Anzeige von Zahlen angezeigt werden sollen. Dies muss als Schlüsselwortargument angegeben werden, z. B.: |
|
Optional. |
# 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 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)
Parameter |
Beschreibung |
|---|---|
|
Die Zeile, in die der Cursor bewegt werden soll. |
|
Die Spalte, in die der Cursor bewegt werden soll. |
# 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 bewegt den Cursor in die Spalte 1 der nächsten Zeile auf dem Brain-Bildschirm.
Usage:
brain.screen.next_row()
Parameter |
Beschreibung |
|---|---|
Diese Methode hat keine Parameter. |
# Display two lines of text
brain.screen.print("Line 1")
brain.screen.next_row()
brain.screen.print("Line 2")

clear_row#
clear_row löscht eine einzelne Textzeile auf dem Brain-Bildschirm.
Usage:
brain.screen.clear_row(row, color)
Parameter |
Beschreibung |
|---|---|
Reihe |
Optional. Die zu löschende Zeile. Standardmäßig wird die Zeile der aktuellen Cursorposition verwendet. |
Farbe |
Optional. The color to apply to the cleared row. Options include:
|
# 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 gibt die Zeile zurück, in der der Text als ganze Zahl ausgegeben wird.
Usage:
brain.screen.row()
Parameter |
Beschreibung |
|---|---|
Diese Methode hat keine Parameter. |
# Set cursor to (3,2) and print
# row number
brain.screen.set_cursor(3, 2)
brain.screen.print(brain.screen.row())

column#
column gibt die Spalte zurück, in der der Text als ganze Zahl ausgegeben wird.
Usage:
brain.screen.column()
Parameter |
Beschreibung |
|---|---|
Diese Methode hat keine Parameter. |
# 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 prints text, numbers, or variable values on the Brain screen at a specified x and y coordinate in pixels with the currently set font and origin. This method disregards the current cursor position.
Usage:
brain.screen.print_at(text, x, y, precision, opaque)
Parameter |
Beschreibung |
|---|---|
|
Der auszugebende Text, die Zahl oder der Variablenwert. |
|
Die x-Koordinate, an der gedruckt werden soll, wird als Schlüsselwortargument angegeben, z. B.: |
|
Die y-Koordinate, an der gedruckt werden soll, wird als Schlüsselwortargument angegeben, z. B.: |
|
Optional. Die Anzahl der Dezimalstellen, die bei der Anzeige von Zahlen angezeigt werden sollen. Dies muss als Schlüsselwortargument angegeben werden, z. B.: |
|
Optional. |
# 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 gibt die Breite eines Strings in Pixeln als Ganzzahl zurück, so wie er auf dem Bildschirm des Systems dargestellt würde. Die Breite variiert je nach Stringlänge und der aktuellen Schriftart.
Usage:
brain.screen.get_string_width(string)
Parameter |
Beschreibung |
|---|---|
|
Die zu messende Schnur. |
get_string_height#
get_string_height gibt die Höhe eines Strings in Pixeln als Ganzzahl zurück, so wie er auf dem Brain-Bildschirm angezeigt würde. Die Höhe variiert je nach Stringlänge und der aktuellen Schriftart.
Usage:
brain.screen.get_string_height(string)
Parameter |
Beschreibung |
|---|---|
|
Die zu messende Schnur. |
Mutatoren#
clear_screen#
clear_screen löscht alle Zeichnungen und Texte vom Bildschirm des Gehirns.
Usage:
brain.screen.clear_screen(color)
Parameter |
Beschreibung |
|---|---|
|
Optional. Sets the screen color. Options include:
|
# 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 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)
Parameter |
Beschreibung |
|---|---|
|
Legt die Schriftart auf eine der folgenden Optionen fest:
|
|
|
|
|---|---|---|
|
|
|
|
|
|
|
# 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 legt die Dicke der gezeichneten Linien und Formkonturen fest.
Usage:
brain.screen.set_pen_width(width)
Parameter |
Beschreibung |
|---|---|
|
Die Stiftbreite in Pixeln, von 0 bis 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 legt die Farbe von Text, Pixeln, Linien und Formkonturen fest.
Usage:
brain.screen.set_pen_color(color)
Parameter |
Beschreibung |
|---|---|
|
Optional. Die zu verwendende Stift- und Schriftfarbe. Optionen:
|
# 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 legt die Füllfarbe fest, die beim Zeichnen von Formen verwendet wird.
Usage:
brain.screen.set_fill_color(color)
Parameter |
Beschreibung |
|---|---|
|
Optional. The fill color to use. Options include:
|
# Draw a yellow circle
brain.screen.set_fill_color(Color.YELLOW)
brain.screen.draw_circle(50, 50, 20)

set_origin#
Mit dem Befehl set_origin wird der Ursprung für das Zeichnen und koordinatenbasierte Drucken auf dem Brain-Bildschirm festgelegt. Standardmäßig befindet sich der Ursprung in der oberen linken Ecke des Bildschirms.
Usage:
brain.screen.set_origin(x, y)
Parameter |
Beschreibung |
|---|---|
|
Die neue x-Koordinate, die als Ursprung festgelegt werden soll, wird als ganze Zahl von 0 bis 159 angegeben. |
|
Die neue y-Koordinate, die als Ursprung festgelegt werden soll, wird als ganze Zahl von 0 bis 107 angegeben. |
# Draw a line with the origin set to (50, 50)
brain.screen.set_origin(50, 50)
brain.screen.draw_line(1, 1, 159, 107)

Ziehen#
draw_pixel#
draw_pixel zeichnet ein Pixel an der ausgewählten x- und y-Koordinate unter Verwendung der aktuellen Stiftfarbe.
Usage:
brain.screen.draw_pixel(x, y)
Parameter |
Beschreibung |
|---|---|
|
Die x-Koordinate, an der das Pixel gezeichnet werden soll, angegeben als ganze Zahl von 0 bis 159. |
|
Die y-Koordinate, an der das Pixel gezeichnet werden soll, angegeben als ganze Zahl von 0 bis 107. |
# Draw one pixel at the center
# of the screen
brain.screen.draw_pixel(80, 50)
![]()
draw_line#
draw_line zeichnet eine Linie von der ersten Bildschirmkoordinate (x1, y1) zur zweiten Bildschirmkoordinate (x2, y2) unter Verwendung der aktuellen Stiftbreite und Stiftfarbe.
Die x- und y-Koordinaten verwenden den Standardursprung (0, 0), es sei denn, ein anderer Ursprung wurde mit set_origin festgelegt.
Usage:
brain.screen.draw_line(x1, y1, x2, y2)
Parameter |
Beschreibung |
|---|---|
|
Die Start-x-Koordinate der Geraden, angegeben als ganze Zahl von 0 bis 159. |
|
Die Start-y-Koordinate der Geraden, angegeben als ganze Zahl von 0 bis 107. |
|
Die End-x-Koordinate der Geraden, angegeben als ganze Zahl von 0 bis 159. |
|
Die y-Endkoordinate der Geraden, angegeben als ganze Zahl von 0 bis 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 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.
Die x- und y-Koordinaten verwenden den Standardursprung (0,0), es sei denn, ein anderer Ursprung wurde mit set_origin festgelegt.
Usage:
brain.screen.draw_rectangle(x, y, width, height, color)
Parameter |
Beschreibung |
|---|---|
|
Die x-Koordinate der oberen linken Ecke des Rechtecks, angegeben als ganze Zahl von 0 bis 159. |
|
Die y-Koordinate der oberen linken Ecke des Rechtecks, angegeben als ganze Zahl von 0 bis 107. |
|
Die Breite des Rechtecks in Pixeln. |
|
Die Höhe des Rechtecks in Pixeln. |
|
Optional. The fill color of the rectangle. Options include:
|
# Draw a red rectangle on the screen
brain.screen.draw_rectangle(25, 25, 100, 50, Color.RED)

draw_circle#
draw_circle zeichnet einen Kreis mit dem Mittelpunkt an den ausgewählten (x, y) Koordinaten und einem durch den angegebenen Radius bestimmten Durchmesser, alles in Pixeln. Die Kontur des Kreises wird mit der aktuellen Stiftbreite und Stiftfarbe gezeichnet. Die Füllung erfolgt mit der aktuellen Füllfarbe, sofern der optionale Parameter color nicht verwendet wird.
Die x- und y-Koordinaten verwenden den Standardursprung (0,0), es sei denn, ein anderer Ursprung wurde mit set_origin festgelegt.
Usage:
brain.screen.draw_circle(x, y, radius, color)
Parameter |
Beschreibung |
|---|---|
|
Die x-Koordinate des Mittelpunkts des Kreises, angegeben als ganze Zahl von 0 bis 159. |
|
Die y-Koordinate des Mittelpunkts des Kreises, angegeben als ganze Zahl von 0 bis 107. |
|
Der Radius des Kreises in Pixeln. |
|
Optional. The fill color of the circle. Options include:
|
# Draw a green circle on the screen
brain.screen.draw_circle(80, 50, 20, Color.GREEN)

set_clip_region#
set_clip_region wird ein rechteckiger Bereich auf dem Bildschirm definiert, in dem alle Zeichnungen und Texte angezeigt werden. Inhalte außerhalb dieses Bereichs werden nicht dargestellt.
Usage:
brain.screen.set_clip_region(x, y, width, height)
Parameter |
Beschreibung |
|---|---|
|
Die x-Koordinate der oberen linken Ecke des Clip-Bereichs, angegeben als ganze Zahl oder Gleitkommazahl von 0 bis 159. |
|
Die y-Koordinate der oberen linken Ecke des Clip-Bereichs, angegeben als ganze Zahl oder Gleitkommazahl von 0 bis 107. |
|
Die Breite des Clipping-Bereichs in Pixeln. |
|
Die Höhe des Clip-Bereichs in Pixeln. |
# 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#
Die Option render aktiviert die doppelte Pufferung für den Bildschirm des Brains. Nach dem Aufruf werden Zeichenbefehle (wie Text, Formen oder Bilder) für den Rest des Projekts nicht mehr sofort angezeigt. Aktualisierungen werden erst sichtbar, wenn render erneut verwendet wird. Dies ermöglicht flüssigere und kontrolliertere Bildschirmaktualisierungen, bedeutet aber, dass bis zur Verwendung von render nichts sichtbar ist.
Usage:
brain.screen.render()
Parameter |
Beschreibung |
|---|---|
Diese Methode hat keine Parameter. |
# 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()









