Skärm#
Introduktion#
Skärmmetoderna styr hur IQ-hjärnan (2:a generationens) visar text, siffror och grafik på den inbyggda skärmen.
För att rita är hjärnans upplösning 160 x 108 pixlar.
Den här sidan använder brain som exempelnamn för Hjärna. Ersätt det med ditt eget konfigurerade namn efter behov.
Nedan följer en lista över alla metoder:
Markörutskrift — Placera och skriv ut text.
print— Skriver ut text, siffror eller variabelvärden vid markörens aktuella position.set_cursor— Flyttar markören till en specifik rad och kolumn.next_row— Flyttar markören till kolumn 1 på nästa rad.clear_row— Rensar en textrad.row— Returnerar raden där texten ska skrivas ut.column— Returnerar kolumnen där texten ska skrivas ut.print_at— Skriver ut text, siffror eller variabelvärden vid en specifik x- och y-koordinat.get_string_width— Returnerar bredden på en sträng i pixlar med det aktuella teckensnittet.get_string_height— Returnerar höjden på en sträng i pixlar med det aktuella teckensnittet.
Mutatorer — Ändra skärminställningar, färger och ritbeteende.
clear_screen— Rensar skärmen på alla ritningar och text.set_font— Anger teckensnittet för utskriven text.set_pen_width— Anger tjockleken på ritade linjer och formens konturer.set_pen_color— Ställer in färgen på text, pixlar, linjer och konturer.set_fill_color— Anger fyllningsfärgen för ritade former och utskrivna textbakgrunder.set_origin— Anger origo som används för koordinatbaserad utskrift och ritning.
Rita — Lägg till grafik på skärmen.
draw_pixel— Ritar en pixel vid en koordinat.draw_line— Ritar en linje mellan två punkter.draw_rectangle— Ritar en rektangel.draw_circle— Ritar en cirkel.set_clip_region— Begränsar var teckningar och text kan visas.render— Uppdaterar hjärnans skärm med text och teckningar endast när den anropas.
Markörutskrift#
print#
print skriver ut text, siffror eller variabelvärden på hjärnskärmen vid aktuell markörposition och teckensnitt.
Usage:
brain.screen.print(text, precision, opaque)
Parametrar |
Beskrivning |
|---|---|
|
Texten, talet eller variabelvärdet som ska skrivas ut på skärmen. |
|
Valfritt. Antalet decimaler som ska visas när tal visas. Detta måste skrivas som ett nyckelordsargument, t.ex.: |
|
Valfritt. |
# 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 flyttar markören till en specifik rad och kolumn på hjärnskärmen. Nästa print anrop börjar skriva ut på den platsen. Hur många rader och kolumner som bekvämt får plats beror på det valda teckensnittet.
Monospaced-teckensnitt har tecken som alla har samma bredd, vilket gör textplaceringen konsekvent. Däremot varierar proportionella teckensnitt i teckenbredd, så vissa bokstäver tar upp mer utrymme än andra. Oavsett vilken typ som används placerar set_cursor markören baserat på rad- och kolumnstorlek, inte teckensnittsstil. Teckenstorleken kan justeras med set_font.
Usage:
brain.screen.set_cursor(row, column)
Parametrar |
Beskrivning |
|---|---|
|
Raden att flytta markören till. |
|
Kolumnen att flytta markören till. |
# 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 flyttar markören till kolumn 1 på nästa rad på hjärnskärmen.
Usage:
brain.screen.next_row()
Parametrar |
Beskrivning |
|---|---|
Den här metoden har inga parametrar. |
# Display two lines of text
brain.screen.print("Line 1")
brain.screen.next_row()
brain.screen.print("Line 2")

clear_row#
clear_row rensar en enda rad text på hjärnskärmen.
Usage:
brain.screen.clear_row(row, color)
Parametrar |
Beskrivning |
|---|---|
rad |
Valfritt. Raden som ska rensas. Standardinställningen är den aktuella markörraden. |
färg |
Valfritt. Färgen som ska tillämpas på den rensade raden. Alternativen inkluderar:
|
# 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 returnerar raden där texten ska skrivas ut som ett heltal.
Usage:
brain.screen.row()
Parametrar |
Beskrivning |
|---|---|
Den här metoden har inga parametrar. |
# Set cursor to (3,2) and print
# row number
brain.screen.set_cursor(3, 2)
brain.screen.print(brain.screen.row())

column#
column returnerar kolumnen där texten ska skrivas ut som ett heltal.
Usage:
brain.screen.column()
Parametrar |
Beskrivning |
|---|---|
Den här metoden har inga parametrar. |
# 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 skriver ut text, siffror eller variabelvärden på hjärnskärmen vid en specificerad x- och y-koordinat i pixlar med de aktuella font och origin som är inställda. Denna metod ignorerar den aktuella markörpositionen.
Usage:
brain.screen.print_at(text, x, y, precision, opaque)
Parametrar |
Beskrivning |
|---|---|
|
Texten, talet eller variabelvärdet som ska skrivas ut. |
|
X-koordinaten att skriva ut vid som ett nyckelordsargument, dvs.: |
|
Y-koordinaten att skriva ut vid som ett nyckelordsargument, dvs.: |
|
Valfritt. Antalet decimaler som ska visas när tal visas. Detta måste skrivas som ett nyckelordsargument, t.ex.: |
|
Valfritt. |
# 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 returnerar bredden på en sträng i pixlar som ett heltal, så som den skulle visas på Brains skärm. Bredden varierar beroende på strängens längd och nuvarande teckensnitt.
Usage:
brain.screen.get_string_width(string)
Parametrar |
Beskrivning |
|---|---|
|
Strängen att mäta. |
get_string_height#
get_string_height returnerar strängens höjd i pixlar som ett heltal, så som den skulle visas på Brain-skärmen. Höjden varierar beroende på strängens längd och nuvarande teckensnitt.
Usage:
brain.screen.get_string_height(string)
Parametrar |
Beskrivning |
|---|---|
|
Strängen att mäta. |
Mutatorer#
clear_screen#
clear_screen rensar alla teckningar och text från hjärnans skärm.
Usage:
brain.screen.clear_screen(color)
Parametrar |
Beskrivning |
|---|---|
|
Valfritt. Ställer in skärmfärgen. Alternativen inkluderar:
|
# 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 ställer in teckensnittet som används för att visa text på hjärnskärmen. Detta teckensnitt gäller för all text som skrivs ut med print eller print_at. Standardteckensnittet i början av ett projekt är MONO20.
Usage:
brain.screen.set_font(fontname)
Parameter |
Beskrivning |
|---|---|
|
Ställer in teckensnittet till ett av följande:
|
|
|
|
|---|---|---|
|
|
|
|
|
|
|
# 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 anger tjockleken på ritade linjer och formens konturer.
Usage:
brain.screen.set_pen_width(width)
Parameter |
Beskrivning |
|---|---|
|
Pennans bredd, i pixlar, från 0 till 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 anger färgen på text, pixlar, linjer och konturer.
Usage:
brain.screen.set_pen_color(color)
Parameter |
Beskrivning |
|---|---|
|
Valfritt. Pennan och teckensnittsfärgen som ska användas. Alternativen inkluderar:
|
# 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 anger fyllningsfärgen som används när former ritas.
Usage:
brain.screen.set_fill_color(color)
Parameter |
Beskrivning |
|---|---|
|
Valfritt. Fyllningsfärgen som ska användas. Alternativen inkluderar:
|
# Draw a yellow circle
brain.screen.set_fill_color(Color.YELLOW)
brain.screen.draw_circle(50, 50, 20)

set_origin#
set_origin anger origo som används för ritning och koordinatbaserad utskrift på Brain-skärmen. Som standard är origo skärmens övre vänstra hörn.
Usage:
brain.screen.set_origin(x, y)
Parameter |
Beskrivning |
|---|---|
|
Den nya x-koordinaten som ska sättas som origo, angiven som ett heltal från 0 till 159. |
|
Den nya y-koordinaten som ska sättas som origo, angiven som ett heltal från 0 till 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)

Dra#
draw_pixel#
draw_pixel ritar en pixel vid de valda x- och y-koordinaterna med den aktuella pennfärgen.
Usage:
brain.screen.draw_pixel(x, y)
Parameter |
Beskrivning |
|---|---|
|
X-koordinaten där pixeln kommer att ritas, angiven som ett heltal från 0 till 159. |
|
Y-koordinaten där pixeln kommer att ritas, angiven som ett heltal från 0 till 107. |
# Draw one pixel at the center
# of the screen
brain.screen.draw_pixel(80, 50)
![]()
draw_line#
draw_line ritar en linje från den första skärmkoordinaten (x1, y1) till den andra skärmkoordinaten (x2, y2) med hjälp av aktuell pennbredd och pennfärg.
X- och y-koordinaterna använder standardoriginet (0, 0) om inte ett annat origin har angetts med set_origin.
Usage:
brain.screen.draw_line(x1, y1, x2, y2)
Parameter |
Beskrivning |
|---|---|
|
Linjens start-x-koordinat, angiven som ett heltal från 0 till 159. |
|
Linjens start-y-koordinat, angiven som ett heltal från 0 till 107. |
|
Linjens avslutande x-koordinat, angiven som ett heltal från 0 till 159. |
|
Linjens slutliga y-koordinat, angiven som ett heltal från 0 till 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 ritar en rektangel med sitt övre vänstra hörn vid den valda (x, y) koordinaten och en storlek som bestäms av den givna bredden och höjden, alla mätta i pixlar. Rektangelns kontur ritas med hjälp av aktuell pennbredd och pennfärg. Interiören fylls med aktuell fyllningsfärg, såvida inte den valfria parametern color används.
X- och y-koordinaterna använder standardoriginet (0,0) om inte ett annat origin har angetts med set_origin.
Usage:
brain.screen.draw_rectangle(x, y, width, height, color)
Parameter |
Beskrivning |
|---|---|
|
X-koordinaten för rektangelns övre vänstra hörn, angiven som ett heltal från 0 till 159. |
|
Y-koordinaten för rektangelns övre vänstra hörn, angiven som ett heltal från 0 till 107. |
|
Rektangelns bredd, i pixlar. |
|
Rektangelns höjd, i pixlar. |
|
Valfritt. Rektangelns fyllningsfärg. Alternativen inkluderar:
|
# Draw a red rectangle on the screen
brain.screen.draw_rectangle(25, 25, 100, 50, Color.RED)

draw_circle#
draw_circle ritar en cirkel med dess centrum vid den valda (x, y) koordinaten och en storlek som bestäms av den givna radien, allt mätt i pixlar. Cirkelns kontur ritas med hjälp av aktuell pennbredd och pennfärg. Interiören fylls med aktuell fyllningsfärg, såvida inte den valfria parametern color används.
X- och y-koordinaterna använder standardoriginet (0,0) om inte ett annat origin har angetts med set_origin.
Usage:
brain.screen.draw_circle(x, y, radius, color)
Parameter |
Beskrivning |
|---|---|
|
X-koordinaten för cirkelns centrum, angiven som ett heltal från 0 till 159. |
|
Y-koordinaten för cirkelns centrum, angiven som ett heltal från 0 till 107. |
|
Cirkelns radie, i pixlar. |
|
Valfritt. Fyllningsfärgen för cirkeln. Alternativen inkluderar:
|
# Draw a green circle on the screen
brain.screen.draw_circle(80, 50, 20, Color.GREEN)

set_clip_region#
set_clip_region definierar ett rektangulärt område på skärmen där alla teckningar och text begränsas. Innehåll utanför detta område visas inte.
Usage:
brain.screen.set_clip_region(x, y, width, height)
Parameter |
Beskrivning |
|---|---|
|
X-koordinaten för det övre vänstra hörnet av klippområdet, angiven som ett heltal eller flyttal från 0 till 159. |
|
Y-koordinaten för det övre vänstra hörnet av klippområdet, angiven som ett heltal eller flyttal från 0 till 107. |
|
Klippområdets bredd i pixlar. |
|
Klippområdets höjd i pixlar. |
# 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 aktiverar dubbel buffring för hjärnans skärm. När de väl anropats kommer inga ritkommandon (som text, former eller bilder) att visas omedelbart under resten av projektet. Istället visas uppdateringar bara när render används igen. Detta möjliggör smidigare och mer kontrollerade skärmuppdateringar, men innebär att ingenting kommer att synas förrän render används.
Usage:
brain.screen.render()
Parametrar |
Beskrivning |
|---|---|
Den här metoden har inga parametrar. |
# 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()









