Obrazovka#
Zavedení#
Metody obrazovky ovládají, jak IQ (2. generace) Brain zobrazuje text, čísla a grafiku na své vestavěné obrazovce.
Pro kreslení je rozlišení Brainu 160 x 108 pixelů.
Tato stránka používá jako příklad názvu Brain brain V případě potřeby jej nahraďte vlastním nakonfigurovaným názvem.
Níže je uveden seznam všech metod:
Tisk kurzorem – Umístění a tisk textu.
print— Vypíše text, čísla nebo hodnoty proměnných na aktuální pozici kurzoru.set_cursor— Přesune kurzor na konkrétní řádek a sloupec.next_row— Přesune kurzor do sloupce 1 dalšího řádku.clear_row— Vymaže řádek textu.row— Vrátí řádek, kam bude vytištěn text.column— Vrátí sloupec, kam bude vytištěn text.print_at— Vypíše text, čísla nebo hodnoty proměnných na zadané souřadnici x a y.get_string_width— Vrátí šířku řetězce v pixelech s použitím aktuálního písma.get_string_height— Vrátí výšku řetězce v pixelech s použitím aktuálního písma.
Mutátory – Změňte nastavení obrazovky, barvy a chování při kreslení.
clear_screen— Vymaže obrazovku od všech kreseb a textu.set_font— Nastaví písmo pro tištěný text.set_pen_width— Nastaví tloušťku nakreslených čar a obrysů tvarů.set_pen_color— Nastaví barvu textu, pixelů, čar a obrysů tvarů.set_fill_color— Nastaví barvu výplně pro nakreslené tvary a tištěné textové pozadí.set_origin— Nastaví počátek použitý pro tisk a kreslení na základě souřadnic.
Kreslení – Přidání grafiky na obrazovku.
draw_pixel— Nakreslí jeden pixel na zadané souřadnici.draw_line— Nakreslí čáru mezi dvěma body.draw_rectangle— Nakreslí obdélník.draw_circle— Nakreslí kruh.set_clip_region— Omezuje, kde se mohou zobrazovat kresby a text.render— Aktualizuje obrazovku Brainu textem a kresbami pouze při volání.
Tisk kurzoru#
print#
print vytiskne text, čísla nebo hodnoty proměnných na obrazovce Brain v aktuální poloze kurzoru a fontu.
Usage:
brain.screen.print(text, precision, opaque)
Parametry |
Popis |
|---|---|
|
Text, číslo nebo hodnota proměnné, která se má vytisknout na obrazovku. |
|
Volitelné. Počet desetinných míst, která se mají zobrazit při zobrazení čísel. Musí být zapsán jako klíčový argument, např.: |
|
Volitelné. |
# 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 přesune kurzor na konkrétní řádek a sloupec na obrazovce Brain. Další volání print začne tisknout na tomto místě. Kolik řádků a sloupců se pohodlně vejde, závisí na vybraném písmu.
Monospaced fonty mají všechny znaky stejně široké, což zajišťuje konzistentní umístění textu. Naproti tomu proporcionální fonty se liší šířkou znaků, takže některá písmena zabírají více místa než jiná. Bez ohledu na použitý typ však set_cursor umisťuje kurzor na základě velikosti řádku a sloupce, nikoli stylu písma. Velikost písma lze upravit pomocí set_font.
Usage:
brain.screen.set_cursor(row, column)
Parametry |
Popis |
|---|---|
|
Řádek, na který se má kurzor přesunout. |
|
Sloupec, do kterého se má kurzor přesunout. |
# 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 přesune kurzor do sloupce 1 na dalším řádku na obrazovce Brain.
Usage:
brain.screen.next_row()
Parametry |
Popis |
|---|---|
Tato metoda nemá žádné parametry. |
# Display two lines of text
brain.screen.print("Line 1")
brain.screen.next_row()
brain.screen.print("Line 2")

clear_row#
clear_row vymaže jeden řádek textu na obrazovce Brain.
Usage:
brain.screen.clear_row(row, color)
Parametry |
Popis |
|---|---|
řádek |
Volitelné. Řádek, který se má vymazat. Výchozí hodnota je aktuální řádek kurzoru. |
barva |
Volitelné. Barva, která se má použít na vymazaný řádek. Možnosti zahrnují:
|
# 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 vrací řádek, kde bude text vytištěn jako celé číslo.
Usage:
brain.screen.row()
Parametry |
Popis |
|---|---|
Tato metoda nemá žádné parametry. |
# Set cursor to (3,2) and print
# row number
brain.screen.set_cursor(3, 2)
brain.screen.print(brain.screen.row())

column#
column vrací sloupec, kam bude text vytištěn jako celé číslo.
Usage:
brain.screen.column()
Parametry |
Popis |
|---|---|
Tato metoda nemá žádné parametry. |
# 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 vytiskne text, čísla nebo hodnoty proměnných na obrazovku Brain na zadané souřadnici x a y v pixelech s aktuálně nastavenými hodnotami font a origin. Tato metoda ignoruje aktuální pozici kurzoru.
Usage:
brain.screen.print_at(text, x, y, precision, opaque)
Parametry |
Popis |
|---|---|
|
Text, číslo nebo hodnota proměnné, která se má vytisknout. |
|
Souřadnice x, na které se má vypsat jako klíčový argument, tj.: |
|
Souřadnice y, na které se má vypsat jako klíčový argument, tj.: |
|
Volitelné. Počet desetinných míst, která se mají zobrazit při zobrazení čísel. Musí být zapsán jako klíčový argument, např.: |
|
Volitelné. |
# 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 vrací šířku řetězce v pixelech jako celé číslo, jak by se zobrazoval na obrazovce Brainu. Šířka se liší v závislosti na délce řetězce a aktuálním písmu.
Usage:
brain.screen.get_string_width(string)
Parametry |
Popis |
|---|---|
|
Řetězec k měření. |
get_string_height#
get_string_height vrací výšku řetězce v pixelech jako celé číslo, jak by se zobrazoval na obrazovce Brain. Výška se liší v závislosti na délce řetězce a aktuálním písmu.
Usage:
brain.screen.get_string_height(string)
Parametry |
Popis |
|---|---|
|
Řetězec k měření. |
Mutátory#
clear_screen#
clear_screen vymaže všechny kresby a text z obrazovky mozku.
Usage:
brain.screen.clear_screen(color)
Parametry |
Popis |
|---|---|
|
Volitelné. Nastaví barvu obrazovky. Možnosti zahrnují:
|
# 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 nastavuje písmo použité pro zobrazení textu na obrazovce Brain. Toto písmo se použije na veškerý text vytištěný pomocí print nebo print_at. Výchozí písmo na začátku projektu je MONO20.
Usage:
brain.screen.set_font(fontname)
Parametr |
Popis |
|---|---|
|
Nastaví písmo na jednu z následujících možností:
|
|
|
|
|---|---|---|
|
|
|
|
|
|
|
# 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 nastavuje tloušťku kreslených čar a obrysů tvarů.
Usage:
brain.screen.set_pen_width(width)
Parametr |
Popis |
|---|---|
|
Šířka pera v pixelech od 0 do 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 nastavuje barvu textu, pixelů, čar a obrysů tvarů.
Usage:
brain.screen.set_pen_color(color)
Parametr |
Popis |
|---|---|
|
Volitelné. Barva pera a písma, která se má použít. Možnosti zahrnují:
|
# 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 nastavuje barvu výplně použitou při kreslení tvarů.
Usage:
brain.screen.set_fill_color(color)
Parametr |
Popis |
|---|---|
|
Volitelné. Barva výplně, která se má použít. Možnosti zahrnují:
|
# Draw a yellow circle
brain.screen.set_fill_color(Color.YELLOW)
brain.screen.draw_circle(50, 50, 20)

set_origin#
set_origin nastavuje počátek používaný pro kreslení a tisk na základě souřadnic na obrazovce Brain. Ve výchozím nastavení je počátkem levý horní roh obrazovky.
Usage:
brain.screen.set_origin(x, y)
Parametr |
Popis |
|---|---|
|
Nová souřadnice x, která se má nastavit jako počátek, zadaná jako celé číslo od 0 do 159. |
|
Nová souřadnice y, která se má nastavit jako počátek, zadaná jako celé číslo od 0 do 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)

Remíza#
draw_pixel#
draw_pixel nakreslí jeden pixel na vybrané souřadnici x a y s použitím aktuální barvy pera.
Usage:
brain.screen.draw_pixel(x, y)
Parametr |
Popis |
|---|---|
|
Souřadnice x, kde bude pixel vykreslen, zadaná jako celé číslo od 0 do 159. |
|
Souřadnice y, kde bude pixel vykreslen, zadaná jako celé číslo od 0 do 107. |
# Draw one pixel at the center
# of the screen
brain.screen.draw_pixel(80, 50)
![]()
draw_line#
draw_line nakreslí čáru z první souřadnice obrazovky (x1, y1) do druhé souřadnice obrazovky (x2, y2) s použitím aktuální šířky pera a barvy pera.
Souřadnice x a y používají výchozí počátek (0, 0), pokud nebyl nastaven jiný počátek pomocí set_origin.
Usage:
brain.screen.draw_line(x1, y1, x2, y2)
Parametr |
Popis |
|---|---|
|
Počáteční souřadnice x čáry, zadaná jako celé číslo od 0 do 159. |
|
Počáteční souřadnice y čáry, zadaná jako celé číslo od 0 do 107. |
|
Koncová souřadnice x řádku, zadaná jako celé číslo od 0 do 159. |
|
Koncová souřadnice y čáry, zadaná jako celé číslo od 0 do 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 nakreslí obdélník s levým horním rohem na vybrané souřadnici (x, y) a velikostí určenou danou šířkou a výškou, vše měřeno v pixelech. Obrys obdélníku se nakreslí s použitím aktuální šířky pera (pen width a barvy pera (pen color. Vnitřek se vyplní aktuální barvou výplně (fill color, pokud se nepoužije volitelný parametr color.
Souřadnice x a y používají výchozí počátek (0,0), pokud nebyl nastaven jiný počátek pomocí set_origin.
Usage:
brain.screen.draw_rectangle(x, y, width, height, color)
Parametr |
Popis |
|---|---|
|
Souřadnice x levého horního rohu obdélníku, zadaná jako celé číslo od 0 do 159. |
|
Souřadnice y levého horního rohu obdélníku, zadaná jako celé číslo od 0 do 107. |
|
Šířka obdélníku v pixelech. |
|
Výška obdélníku v pixelech. |
|
Volitelné. Barva výplně obdélníku. Možnosti zahrnují:
|
# Draw a red rectangle on the screen
brain.screen.draw_rectangle(25, 25, 100, 50, Color.RED)

draw_circle#
draw_circle nakreslí kružnici se středem na vybrané souřadnici (x, y) a velikostí určenou daným poloměrem, vše měřeno v pixelech. Obrys kružnice se nakreslí s použitím aktuální šířky pera (pen width a barvy pera (pen color. Vnitřek se vyplní aktuální barvou výplně (fill color, pokud není použit volitelný parametr color.
Souřadnice x a y používají výchozí počátek (0,0), pokud nebyl nastaven jiný počátek pomocí set_origin.
Usage:
brain.screen.draw_circle(x, y, radius, color)
Parametr |
Popis |
|---|---|
|
Souřadnice x středu kružnice, zadaná jako celé číslo od 0 do 159. |
|
Souřadnice y středu kružnice, zadaná jako celé číslo od 0 do 107. |
|
Poloměr kruhu v pixelech. |
|
Volitelné. Barva výplně kruhu. Možnosti zahrnují:
|
# Draw a green circle on the screen
brain.screen.draw_circle(80, 50, 20, Color.GREEN)

set_clip_region#
set_clip_region definuje obdélníkovou oblast na obrazovce, kde budou umístěny všechny kresby a text. Obsah mimo tuto oblast se nezobrazí.
Usage:
brain.screen.set_clip_region(x, y, width, height)
Parametr |
Popis |
|---|---|
|
Souřadnice x levého horního rohu oblasti klipu, zadaná jako celé číslo nebo číslo s desetinnou čárkou od 0 do 159. |
|
Souřadnice y levého horního rohu oblasti klipu, zadaná jako celé číslo nebo číslo s desetinnou čárkou od 0 do 107. |
|
Šířka oblasti klipu v pixelech. |
|
Výška oblasti klipu v pixelech. |
# 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 povoluje dvojité ukládání do vyrovnávací paměti pro obrazovku Brainu. Po zavolání se žádné příkazy pro kreslení (jako text, tvary nebo obrázky) již nebudou okamžitě zobrazovat po zbytek projektu. Místo toho se aktualizace zobrazí pouze při opětovném použití render To umožňuje plynulejší a kontrolovanější aktualizace obrazovky, ale znamená to, že nic nebude viditelné, dokud se nepoužije render.
Usage:
brain.screen.render()
Parametry |
Popis |
|---|---|
Tato metoda nemá žádné parametry. |
# 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()









