Ekran#
Wstęp#
Metody ekranu kontrolują sposób, w jaki mózg IQ (2. generacji) wyświetla tekst, liczby i grafikę na wbudowanym ekranie.
Do rysowania rozdzielczość mózgu wynosi 160 x 108 pikseli.
Ta strona używa brain jako przykładowej nazwy Brain. W razie potrzeby zastąp ją własną, skonfigurowaną nazwą.
Poniżej znajduje się lista wszystkich metod:
Drukuj kursorem — umieść i wydrukuj tekst.
print— Drukuje tekst, liczby lub wartości zmiennych w bieżącej pozycji kursora.set_cursor— Przenosi kursor do określonego wiersza i kolumny.next_row— Przenosi kursor do kolumny 1 następnego wiersza.clear_row— Czyści wiersz tekstu.row— Zwraca wiersz, w którym zostanie wydrukowany tekst.column— Zwraca kolumnę, w której zostanie wydrukowany tekst.print_at— Drukuje tekst, liczby lub wartości zmiennych w określonych współrzędnych x i y.get_string_width— Zwraca szerokość ciągu w pikselach, używając bieżącej czcionki.get_string_height— Zwraca wysokość ciągu w pikselach, używając bieżącej czcionki.
Mutatory — zmieniają ustawienia ekranu, kolory i sposób rysowania.
clear_screen— Czyści ekran ze wszystkich rysunków i tekstu.set_font— Ustawia czcionkę dla drukowanego tekstu.set_pen_width— Ustawia grubość rysowanych linii i konturów kształtów.set_pen_color— Ustawia kolor tekstu, pikseli, linii i konturów kształtów.set_fill_color— Ustawia kolor wypełnienia dla narysowanych kształtów i tła drukowanego tekstu.set_origin— Ustawia początek używany do drukowania i rysowania na podstawie współrzędnych.
Rysuj — dodaj grafikę do ekranu.
draw_pixel— Rysuje jeden piksel w danym punkcie współrzędnych.draw_line— Rysuje linię między dwoma punktami.draw_rectangle— Rysuje prostokąt.draw_circle— Rysuje okrąg.set_clip_region— Ogranicza miejsca, w których mogą pojawiać się rysunki i tekst.render— Aktualizuje ekran mózgu tekstem i rysunkami tylko po wywołaniu.
Drukowanie kursora#
print#
print drukuje tekst, liczby lub wartości zmiennych na ekranie Brain w bieżącej pozycji kursora i czcionce.
Usage:
brain.screen.print(text, precision, opaque)
Parametry |
Opis |
|---|---|
|
Tekst, liczba lub wartość zmiennej do wydrukowania na ekranie. |
|
Opcjonalnie. Liczba miejsc dziesiętnych do wyświetlenia podczas wyświetlania liczb. Musi być zapisana jako argument słowa kluczowego, np.: |
|
Opcjonalnie. |
# 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 przenosi kursor do określonego wiersza i kolumny na ekranie Brain. Następne wywołanie print rozpocznie drukowanie w tym miejscu. Liczba wierszy i kolumn, które wygodnie się zmieszczą, zależy od wybranej czcionki.
Czcionki o stałej szerokości mają znaki o tej samej szerokości, co zapewnia spójność rozmieszczenia tekstu. Natomiast czcionki proporcjonalne różnią się szerokością znaków, przez co niektóre litery zajmują więcej miejsca niż inne. Jednak niezależnie od użytego typu, set_cursor pozycjonuje kursor na podstawie rozmiaru wiersza i kolumny, a nie stylu czcionki. Rozmiar czcionki można dostosować za pomocą set_font.
Usage:
brain.screen.set_cursor(row, column)
Parametry |
Opis |
|---|---|
|
Wiersz, do którego należy przenieść kursor. |
|
Kolumna, do której należy przenieść kursor. |
# 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 przenosi kursor do kolumny 1 w następnym wierszu na ekranie Brain.
Usage:
brain.screen.next_row()
Parametry |
Opis |
|---|---|
Ta metoda nie ma żadnych parametrów. |
# Display two lines of text
brain.screen.print("Line 1")
brain.screen.next_row()
brain.screen.print("Line 2")

clear_row#
clear_row czyści pojedynczy wiersz tekstu na ekranie mózgu.
Usage:
brain.screen.clear_row(row, color)
Parametry |
Opis |
|---|---|
wiersz |
Opcjonalnie. Wiersz do wyczyszczenia. Domyślnie jest to bieżący wiersz kursora. |
kolor |
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 zwraca wiersz, w którym tekst zostanie wydrukowany jako liczba całkowita.
Usage:
brain.screen.row()
Parametry |
Opis |
|---|---|
Ta metoda nie ma żadnych parametrów. |
# Set cursor to (3,2) and print
# row number
brain.screen.set_cursor(3, 2)
brain.screen.print(brain.screen.row())

column#
column zwraca kolumnę, w której tekst będzie drukowany jako liczba całkowita.
Usage:
brain.screen.column()
Parametry |
Opis |
|---|---|
Ta metoda nie ma żadnych parametrów. |
# 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 drukuje tekst, liczby lub wartości zmiennych na ekranie Brain w określonych współrzędnych x i y w pikselach, z aktualnie ustawionymi font i origin. Ta metoda ignoruje bieżącą pozycję kursora.
Usage:
brain.screen.print_at(text, x, y, precision, opaque)
Parametry |
Opis |
|---|---|
|
Tekst, liczba lub wartość zmiennej do wydrukowania. |
|
Współrzędna x, która ma zostać wydrukowana, podana jako argument słowa kluczowego, tj.: |
|
Współrzędna y, która ma zostać wydrukowana, podawana jako argument słowa kluczowego, tj.: |
|
Opcjonalnie. Liczba miejsc dziesiętnych do wyświetlenia podczas wyświetlania liczb. Musi być zapisana jako argument słowa kluczowego, np.: |
|
Opcjonalnie. |
# 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 zwraca szerokość ciągu znaków w pikselach jako liczbę całkowitą, tak jak będzie on wyświetlany na ekranie Braina. Szerokość zmienia się w zależności od długości ciągu znaków i bieżącej czcionki.
Usage:
brain.screen.get_string_width(string)
Parametry |
Opis |
|---|---|
|
Sznurek do pomiaru. |
get_string_height#
get_string_height zwraca wysokość ciągu znaków w pikselach jako liczbę całkowitą, tak jak będzie on wyświetlany na ekranie Brain. Wysokość zmienia się w zależności od długości ciągu znaków i bieżącej czcionki.
Usage:
brain.screen.get_string_height(string)
Parametry |
Opis |
|---|---|
|
Sznurek do pomiaru. |
Mutatory#
clear_screen#
clear_screen usuwa wszystkie rysunki i tekst z ekranu Mózgu.
Usage:
brain.screen.clear_screen(color)
Parametry |
Opis |
|---|---|
|
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 ustawia czcionkę używaną do wyświetlania tekstu na ekranie Brain. Ta czcionka będzie stosowana do całego tekstu drukowanego za pomocą print lub print_at. Domyślna czcionka na początku projektu to MONO20.
Usage:
brain.screen.set_font(fontname)
Parametr |
Opis |
|---|---|
|
Sets the font to one of the following:
|
|
|
|
|---|---|---|
|
|
|
|
|
|
|
# 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 ustawia grubość rysowanych linii i konturów kształtów.
Usage:
brain.screen.set_pen_width(width)
Parametr |
Opis |
|---|---|
|
Szerokość pióra w pikselach 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 ustawia kolor tekstu, pikseli, linii i konturów kształtów.
Usage:
brain.screen.set_pen_color(color)
Parametr |
Opis |
|---|---|
|
Optional. The pen and font color to use. Options include:
|
# 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 ustawia kolor wypełnienia używany podczas rysowania kształtów.
Usage:
brain.screen.set_fill_color(color)
Parametr |
Opis |
|---|---|
|
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#
set_origin ustawia punkt początkowy używany do rysowania i drukowania na podstawie współrzędnych na ekranie Brain. Domyślnie punktem początkowym jest lewy górny róg ekranu.
Usage:
brain.screen.set_origin(x, y)
Parametr |
Opis |
|---|---|
|
Nowa współrzędna x, którą należy ustawić jako początek, podana jako liczba całkowita od 0 do 159. |
|
Nowa współrzędna y, którą należy ustawić jako początek, podana jako liczba całkowita 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)

Rysować#
draw_pixel#
draw_pixel rysuje jeden piksel na wybranej współrzędnej x i y, używając bieżącego koloru pióra.
Usage:
brain.screen.draw_pixel(x, y)
Parametr |
Opis |
|---|---|
|
Współrzędna x, w której zostanie narysowany piksel, podana jako liczba całkowita od 0 do 159. |
|
Współrzędna y, na której zostanie narysowany piksel, podana jako liczba całkowita od 0 do 107. |
# Draw one pixel at the center
# of the screen
brain.screen.draw_pixel(80, 50)
![]()
draw_line#
draw_line rysuje linię od pierwszej współrzędnej ekranu (x1, y1) do drugiej współrzędnej ekranu (x2, y2) używając bieżącej szerokości pióra i koloru pióra.
Współrzędne x i y używają domyślnego początku (0, 0), chyba że ustawiono inny początek za pomocą set_origin.
Usage:
brain.screen.draw_line(x1, y1, x2, y2)
Parametr |
Opis |
|---|---|
|
Początkowa współrzędna x linii, podana jako liczba całkowita od 0 do 159. |
|
Początkowa współrzędna y linii, podana jako liczba całkowita od 0 do 107. |
|
Końcowa współrzędna x linii, podana jako liczba całkowita od 0 do 159. |
|
Końcowa współrzędna y linii, podana jako liczba całkowita 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 rysuje prostokąt z lewym górnym rogiem w wybranej współrzędnej (x, y) i rozmiarem określonym przez podaną szerokość i wysokość, mierzone w pikselach. Kontur prostokąta jest rysowany z użyciem bieżącej szerokości pisaka i koloru pisaka. Wnętrze jest wypełniane bieżącym kolorem wypełnienia, chyba że zostanie użyty opcjonalny parametr color.
Współrzędne x i y używają domyślnego początku (0,0), chyba że ustawiono inny początek za pomocą set_origin.
Usage:
brain.screen.draw_rectangle(x, y, width, height, color)
Parametr |
Opis |
|---|---|
|
Współrzędna x lewego górnego rogu prostokąta, podana jako liczba całkowita od 0 do 159. |
|
Współrzędna y lewego górnego rogu prostokąta, podana jako liczba całkowita od 0 do 107. |
|
Szerokość prostokąta w pikselach. |
|
Wysokość prostokąta w pikselach. |
|
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 rysuje okrąg o środku w wybranej współrzędnej (x, y) i rozmiarze określonym przez podany promień, mierzony w pikselach. Kontur okręgu jest rysowany z użyciem bieżącej szerokości pisaka i koloru pisaka. Wnętrze jest wypełniane bieżącym kolorem wypełnienia, chyba że zostanie użyty opcjonalny parametr color.
Współrzędne x i y używają domyślnego początku (0,0), chyba że ustawiono inny początek za pomocą set_origin.
Usage:
brain.screen.draw_circle(x, y, radius, color)
Parametr |
Opis |
|---|---|
|
Współrzędna x środka okręgu, podana jako liczba całkowita od 0 do 159. |
|
Współrzędna y środka okręgu, podana jako liczba całkowita od 0 do 107. |
|
Promień okręgu w pikselach. |
|
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 definiuje prostokątny obszar na ekranie, w którym będą wyświetlane wszystkie rysunki i tekst. Zawartość spoza tego obszaru nie będzie wyświetlana.
Usage:
brain.screen.set_clip_region(x, y, width, height)
Parametr |
Opis |
|---|---|
|
Współrzędna x lewego górnego rogu obszaru klipu, podana jako liczba całkowita lub zmiennoprzecinkowa od 0 do 159. |
|
Współrzędna y lewego górnego rogu obszaru klipu, podana jako liczba całkowita lub zmiennoprzecinkowa od 0 do 107. |
|
Szerokość obszaru przycinania w pikselach. |
|
Wysokość obszaru przycinania w pikselach. |
# 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#
Polecenie render włącza podwójne buforowanie ekranu Brain. Po wywołaniu polecenia rysowania (takie jak tekst, kształty czy obrazy) nie będą już wyświetlane od razu w całym projekcie. Zamiast tego aktualizacje będą widoczne dopiero po ponownym użyciu polecenia render Umożliwia to płynniejsze i bardziej kontrolowane odświeżanie ekranu, ale oznacza, że nic nie będzie widoczne, dopóki polecenie render nie zostanie użyte.
Usage:
brain.screen.render()
Parametry |
Opis |
|---|---|
Ta metoda nie ma żadnych parametrów. |
# 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()









