Näyttö#
Johdanto#
Näyttö-metodit ohjaavat sitä, miten IQ (2. sukupolvi) aivot näyttävät tekstiä, numeroita ja grafiikkaa sisäänrakennetulla näytöllään.
Piirtämistä varten aivojen resoluutio on 160 x 108 pikseliä.
Tällä sivulla käytetään esimerkkinä Brain-nimeä brain Korvaa se tarvittaessa omalla määritetyllä nimelläsi.
Alla on luettelo kaikista menetelmistä:
Kohdistimen tulostus — Sijoita ja tulosta tekstiä.
print— Tulostaa tekstiä, numeroita tai muuttujan arvoja kohdistimen nykyisestä sijainnista.set_cursor— Siirtää kohdistimen tiettyyn riviin ja sarakkeeseen.next_row— Siirtää kohdistimen seuraavan rivin sarakkeeseen 1.clear_row— Tyhjentää tekstirivin.row— Palauttaa rivin, jolle teksti tulostetaan.column— Palauttaa sarakkeen, johon teksti tulostetaan.print_at— Tulostaa tekstiä, numeroita tai muuttujan arvoja tietyssä x- ja y-koordinaatissa.get_string_width— Palauttaa merkkijonon leveyden pikseleinä käyttäen nykyistä fonttia.get_string_height— Palauttaa merkkijonon korkeuden pikseleinä käyttäen nykyistä fonttia.
Mutaattorit — Muuta näytön asetuksia, värejä ja piirtokäyttäytymistä.
clear_screen— Tyhjentää näytön kaikista piirroksista ja tekstistä.set_font— Asettaa tulostettavan tekstin fontin.set_pen_width— Asettaa piirrettyjen viivojen ja ääriviivojen paksuuden.set_pen_color— Asettaa tekstin, pikseleiden, viivojen ja ääriviivojen värin.set_fill_color— Asettaa piirrettyjen muotojen ja tulostettujen tekstitaustojen täyttövärin.set_origin— Asettaa koordinaattipohjaisessa tulostuksessa ja piirtämisessä käytettävän lähtöpisteen.
Piirrä — Lisää grafiikkaa näytölle.
draw_pixel— Piirtää yhden pikselin koordinaatin kohdalle.draw_line— Piirtää viivan kahden pisteen välille.draw_rectangle— Piirtää suorakulmion.draw_circle— Piirtää ympyrän.set_clip_region— Rajoittaa piirrosten ja tekstin näkymistä.render— Päivittää Brainin näytön tekstillä ja piirroksilla vain kutsuttaessa.
Kohdistimen tulostus#
print#
print tulostaa tekstiä, numeroita tai muuttujan arvoja Brain-näytölle nykyiseen kohdistimen sijaintiin ja fontti.
Usage:
brain.screen.print(text, precision, opaque)
Parametrit |
Kuvaus |
|---|---|
|
Näytölle tulostettava teksti, numero tai muuttujan arvo. |
|
Valinnainen. Näytettävien desimaalien määrä numeroita näytettäessä. Tämä on kirjoitettava avainsana-argumenttina, eli: |
|
Valinnainen. |
# 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 siirtää kohdistimen tiettyyn riviin ja sarakkeeseen Brain-näytöllä. Seuraava print -kutsu aloittaa tulostamisen tästä kohdasta. Se, kuinka monta riviä ja saraketta mahtuu mukavasti, riippuu valitusta fontista.
Kiinteävälisissä fonteissa kaikki merkit ovat saman levyisiä, mikä tekee tekstin sijoittelusta yhdenmukaista. Sitä vastoin suhteutettujen fonttien merkkien leveys vaihtelee, joten jotkut kirjaimet vievät enemmän tilaa kuin toiset. Käytetystä tyypistä riippumatta set_cursor sijoittaa kohdistimen rivi- ja sarakekoon, ei fonttityylin, perusteella. Fonttikokoa voidaan säätää käyttämällä set_font.
Usage:
brain.screen.set_cursor(row, column)
Parametrit |
Kuvaus |
|---|---|
|
Rivi, johon kohdistin siirretään. |
|
Sarake, johon kohdistin siirretään. |
# 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 siirtää kohdistimen Brain-näytön seuraavan rivin sarakkeeseen 1.
Usage:
brain.screen.next_row()
Parametrit |
Kuvaus |
|---|---|
Tällä menetelmällä ei ole parametreja. |
# Display two lines of text
brain.screen.print("Line 1")
brain.screen.next_row()
brain.screen.print("Line 2")

clear_row#
clear_row tyhjentää yhden tekstirivin Brain-näytöltä.
Usage:
brain.screen.clear_row(row, color)
Parametrit |
Kuvaus |
|---|---|
rivi |
Valinnainen. Tyhjennettävä rivi. Oletusarvo on nykyinen kohdistinrivi. |
väri |
Valinnainen. Tyhjennettyyn riviin käytettävä väri. Vaihtoehtoja ovat:
|
# 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 palauttaa rivin, jolle teksti tulostetaan kokonaislukuna.
Usage:
brain.screen.row()
Parametrit |
Kuvaus |
|---|---|
Tällä menetelmällä ei ole parametreja. |
# Set cursor to (3,2) and print
# row number
brain.screen.set_cursor(3, 2)
brain.screen.print(brain.screen.row())

column#
column palauttaa sarakkeen, johon teksti tulostetaan kokonaislukuna.
Usage:
brain.screen.column()
Parametrit |
Kuvaus |
|---|---|
Tällä menetelmällä ei ole parametreja. |
# 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 tulostaa tekstiä, numeroita tai muuttujan arvoja Brain-näytölle määritetyssä x- ja y-koordinaatissa pikseleinä nykyisillä font ja origin -asetuksilla. Tämä metodi jättää huomiotta kohdistimen nykyisen sijainnin.
Usage:
brain.screen.print_at(text, x, y, precision, opaque)
Parametrit |
Kuvaus |
|---|---|
|
Tulostettava teksti, numero tai muuttujan arvo. |
|
Tulostettava x-koordinaatti avainsana-argumenttina, eli: |
|
Tulostettava y-koordinaatti avainsana-argumenttina, eli: |
|
Valinnainen. Näytettävien desimaalien määrä numeroita näytettäessä. Tämä on kirjoitettava avainsana-argumenttina, eli: |
|
Valinnainen. |
# 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 palauttaa merkkijonon leveyden pikseleinä kokonaislukuna, sellaisena kuin se näkyisi Brainin näytöllä. Leveys vaihtelee merkkijonon pituuden ja nykyisen fontin mukaan.
Usage:
brain.screen.get_string_width(string)
Parametrit |
Kuvaus |
|---|---|
|
Mitattava merkkijono. |
get_string_height#
get_string_height palauttaa merkkijonon korkeuden pikseleinä kokonaislukuna, sellaisena kuin se näkyisi Brain-näytöllä. Korkeus vaihtelee merkkijonon pituuden ja nykyisen fontin mukaan.
Usage:
brain.screen.get_string_height(string)
Parametrit |
Kuvaus |
|---|---|
|
Mitattava merkkijono. |
Mutaattorit#
clear_screen#
clear_screen tyhjentää kaikki piirrokset ja tekstin aivojen näytöltä.
Usage:
brain.screen.clear_screen(color)
Parametrit |
Kuvaus |
|---|---|
|
Valinnainen. Asettaa näytön värin. Vaihtoehtoja ovat:
|
# 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 asettaa Brain-näytöllä näytettävän fontin. Tätä fonttia käytetään kaikkeen tekstiin, joka tulostetaan joko print tai print_at -funktiolla. Projektin alussa oletusfontti on MONO20.
Usage:
brain.screen.set_font(fontname)
Parametri |
Kuvaus |
|---|---|
|
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 asettaa piirrettyjen viivojen ja ääriviivojen paksuuden.
Usage:
brain.screen.set_pen_width(width)
Parametri |
Kuvaus |
|---|---|
|
Kynän leveys pikseleinä väliltä 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)

set_pen_color#
set_pen_color asettaa tekstin, pikseleiden, viivojen ja ääriviivojen värin.
Usage:
brain.screen.set_pen_color(color)
Parametri |
Kuvaus |
|---|---|
|
Valinnainen. Käytettävä kynän ja fontin väri. Vaihtoehtoja ovat:
|
# 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 asettaa täyttövärin, jota käytetään muotojen piirtämisessä.
Usage:
brain.screen.set_fill_color(color)
Parametri |
Kuvaus |
|---|---|
|
Valinnainen. Käytettävä täyttöväri. Vaihtoehtoja ovat:
|
# Draw a yellow circle
brain.screen.set_fill_color(Color.YELLOW)
brain.screen.draw_circle(50, 50, 20)

set_origin#
set_origin asettaa piirtämisessä ja koordinaatistoon perustuvassa tulostuksessa käytettävän origon Brain-näytöllä. Oletusarvoisesti origo on näytön vasen yläkulma.
Usage:
brain.screen.set_origin(x, y)
Parametri |
Kuvaus |
|---|---|
|
Uusi x-koordinaatti, joka asetetaan lähtöpisteeksi, kokonaislukuna väliltä 0–159. |
|
Uusi y-koordinaatti, joka asetetaan origoksi, kokonaislukuna 0–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)

Piirrä#
draw_pixel#
draw_pixel piirtää yhden pikselin valittuun x- ja y-koordinaattiin käyttäen nykyistä kynän väriä.
Usage:
brain.screen.draw_pixel(x, y)
Parametri |
Kuvaus |
|---|---|
|
Pikselin piirrettävä x-koordinaatti kokonaislukuna 0–159. |
|
Y-koordinaatti, johon pikseli piirretään, kokonaislukuna 0–107. |
# Draw one pixel at the center
# of the screen
brain.screen.draw_pixel(80, 50)
![]()
draw_line#
draw_line piirtää viivan ensimmäisestä näyttökoordinaatista (x1, y1) toiseen näyttökoordinaattiin (x2, y2) käyttäen nykyisiä kynän leveys ja kynän väri -arvoja.
X- ja y-koordinaatit käyttävät oletusarvoista origoa (0, 0), ellei eri origoa ole asetettu käyttämällä funktiota set_origin.
Usage:
brain.screen.draw_line(x1, y1, x2, y2)
Parametri |
Kuvaus |
|---|---|
|
Suoran aloitus-x-koordinaatti kokonaislukuna 0–159. |
|
Suoran aloitus-y-koordinaatti kokonaislukuna 0–107. |
|
Suoran päättymispisteen x-koordinaatti kokonaislukuna väliltä 0–159. |
|
Suoran päätepisteen y-koordinaatti kokonaislukuna väliltä 0–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 piirtää suorakulmion, jonka vasen yläkulma on valitussa (x, y) koordinaatissa ja jonka koko määräytyy annetun leveyden ja korkeuden mukaan, kaikki mitattuna pikseleinä. Suorakulmion ääriviivat piirretään käyttämällä nykyisiä pen width ja pen color -parametreja. Sisäosa täytetään nykyisellä täyttövärillä, ellei valinnaista color -parametria käytetä.
X- ja y-koordinaatit käyttävät oletusarvoista origoa (0,0), ellei eri origoa ole asetettu käyttämällä funktiota set_origin.
Usage:
brain.screen.draw_rectangle(x, y, width, height, color)
Parametri |
Kuvaus |
|---|---|
|
Suorakulmion vasemman yläkulman x-koordinaatti kokonaislukuna väliltä 0–159. |
|
Suorakulmion vasemman yläkulman y-koordinaatti kokonaislukuna väliltä 0–107. |
|
Suorakulmion leveys pikseleinä. |
|
Suorakulmion korkeus pikseleinä. |
|
Valinnainen. Suorakulmion täyttöväri. Vaihtoehtoja ovat:
|
# Draw a red rectangle on the screen
brain.screen.draw_rectangle(25, 25, 100, 50, Color.RED)

draw_circle#
draw_circle piirtää ympyrän, jonka keskipiste on valitussa (x, y) koordinaatissa ja jonka koko määräytyy annetun säteen mukaan, kaikki mitattuna pikseleinä. Ympyrän ääriviivat piirretään käyttämällä nykyisiä kynän leveys ja kynän väri -parametreja. Sisäosa täytetään nykyisellä täyttövärillä, ellei valinnaista color -parametria käytetä.
X- ja y-koordinaatit käyttävät oletusarvoista origoa (0,0), ellei eri origoa ole asetettu käyttämällä funktiota set_origin.
Usage:
brain.screen.draw_circle(x, y, radius, color)
Parametri |
Kuvaus |
|---|---|
|
Ympyrän keskipisteen x-koordinaatti kokonaislukuna väliltä 0–159. |
|
Ympyrän keskipisteen y-koordinaatti kokonaislukuna väliltä 0–107. |
|
Ympyrän säde pikseleinä. |
|
Valinnainen. Ympyrän täyttöväri. Vaihtoehtoja ovat:
|
# Draw a green circle on the screen
brain.screen.draw_circle(80, 50, 20, Color.GREEN)

set_clip_region#
set_clip_region määrittää näytölle suorakaiteen muotoisen alueen, johon kaikki piirrokset ja teksti rajataan. Tämän alueen ulkopuolella olevaa sisältöä ei näytetä.
Usage:
brain.screen.set_clip_region(x, y, width, height)
Parametri |
Kuvaus |
|---|---|
|
Leikkausalueen vasemman yläkulman x-koordinaatti, joka annetaan kokonaislukuna tai liukulukuna väliltä 0–159. |
|
Leikkausalueen vasemman yläkulman y-koordinaatti, joka annetaan kokonaislukuna tai liukulukuna väliltä 0–107. |
|
Leikkausalueen leveys pikseleinä. |
|
Leikkausalueen korkeus pikseleinä. |
# 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 ottaa käyttöön kaksinkertaisen puskuroinnin Brainin näytöllä. Kun komentoa kutsutaan, mitkään piirustuskomennot (kuten teksti, muodot tai kuvat) eivät enää näy välittömästi projektin loppuosassa. Sen sijaan päivitykset näkyvät vasta, kun render -komentoa käytetään uudelleen. Tämä mahdollistaa sujuvammat ja hallitummat näytön päivitykset, mutta tarkoittaa, että mikään ei ole näkyvissä ennen kuin render käytetään.
Usage:
brain.screen.render()
Parametrit |
Kuvaus |
|---|---|
Tällä menetelmällä ei ole parametreja. |
# 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()









