Ekranas#
Įvadas#
Ekrano metodai kontroliuoja, kaip IQ (2-osios kartos) smegenys rodo tekstą, skaičius ir grafiką integruotame ekrane.
Piešimui smegenų skiriamoji geba yra 160 x 108 pikselių.
Šiame puslapyje kaip Brain pavadinimo pavyzdys naudojamas brain Prireikus pakeiskite jį savo sukonfigūruotu pavadinimu.
Žemiau pateikiamas visų metodų sąrašas:
Žymeklio spausdinimas – įterpti ir spausdinti tekstą.
print– Spausdina tekstą, skaičius arba kintamųjų reikšmes dabartinėje žymeklio padėtyje.set_cursor— Perkelia žymeklį į konkrečią eilutę ir stulpelį.next_row— Perkelia žymeklį į kitos eilutės 1 stulpelį.clear_row— Išvalo teksto eilutę.row— Grąžina eilutę, kurioje bus spausdinamas tekstas.column— Grąžina stulpelį, kuriame bus spausdinamas tekstas.print_at– Spausdina tekstą, skaičius arba kintamųjų reikšmes konkrečioje x ir y koordinatėje.get_string_width— Grąžina eilutės plotį pikseliais, naudojant dabartinį šriftą.get_string_height— Grąžina eilutės aukštį pikseliais, naudojant dabartinį šriftą.
Mutatoriai – keičia ekrano nustatymus, spalvas ir piešimo elgseną.
clear_screen— Išvalo ekraną nuo visų piešinių ir teksto.set_font— Nustato spausdinamo teksto šriftą.set_pen_width— Nustato nubrėžtų linijų ir formos kontūrų storį.set_pen_color– Nustato teksto, pikselių, linijų ir figūrų kontūrų spalvą.set_fill_color— Nustato nupieštų formų ir spausdinto teksto fonų užpildymo spalvą.set_origin— Nustato koordinatėmis pagrįsto spausdinimo ir piešimo pradžios tašką.
Piešimas – pridėkite grafiką prie ekrano.
draw_pixel— Nubraižo vieną pikselį koordinatėje.draw_line— Nubrėžia liniją tarp dviejų taškų.draw_rectangle— Nubrėžia stačiakampį.draw_circle— Nubrėžia apskritimą.set_clip_region— Apriboja, kur gali būti rodomi piešiniai ir tekstas.render– Atnaujina smegenų ekraną tekstu ir piešiniais tik iškvietus.
Žymeklio spausdinimas#
print#
print spausdina tekstą, skaičius arba kintamųjų reikšmes smegenų ekrane dabartinėje žymeklio padėtyje ir šrifto vietose.
Usage:
brain.screen.print(text, precision, opaque)
Parametrai |
Aprašymas |
|---|---|
|
Tekstas, skaičius arba kintamoji reikšmė, kuri bus spausdinama ekrane. |
|
Pasirinktinai. Dešimtainių vietų skaičius, rodomas rodant skaičius. Tai turi būti parašyta kaip raktinio žodžio argumentas, pvz.: |
|
Pasirinktinai. |
# 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 perkelia žymeklį į konkrečią eilutę ir stulpelį „Brain“ ekrane. Kitas print iškvietimas pradės spausdinti toje vietoje. Kiek eilučių ir stulpelių patogiai tilps, priklauso nuo pasirinkto šrifto.
Vienodo pločio šriftai turi vienodo pločio simbolius, todėl teksto išdėstymas yra nuoseklus. Tuo tarpu proporciniai šriftai skiriasi simbolių pločiu, todėl kai kurios raidės užima daugiau vietos nei kitos. Tačiau, nepriklausomai nuo naudojamo tipo, set_cursor pozicionuoja žymeklį pagal eilutės ir stulpelio dydį, o ne šrifto stilių. Šrifto dydį galima reguliuoti naudojant set_font.
Usage:
brain.screen.set_cursor(row, column)
Parametrai |
Aprašymas |
|---|---|
|
Eilutė, į kurią reikia perkelti žymeklį. |
|
Stulpelis, į kurį reikia perkelti žymeklį. |
# 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 perkelia žymeklį į 1 stulpelį kitoje eilutėje smegenų ekrane.
Usage:
brain.screen.next_row()
Parametrai |
Aprašymas |
|---|---|
Šis metodas neturi parametrų. |
# Display two lines of text
brain.screen.print("Line 1")
brain.screen.next_row()
brain.screen.print("Line 2")

clear_row#
clear_row išvalo vieną teksto eilutę „Brain“ ekrane.
Usage:
brain.screen.clear_row(row, color)
Parametrai |
Aprašymas |
|---|---|
eilė |
Pasirinktinai. Eilutė, kurią reikia išvalyti. Numatytoji reikšmė yra dabartinė žymeklio eilutė. |
spalva |
Pasirinktinai. Spalva, kuri bus taikoma išvalytai eilutei. Parinktys apima:
|
# 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 grąžina eilutę, kurioje tekstas bus spausdinamas kaip sveikasis skaičius.
Usage:
brain.screen.row()
Parametrai |
Aprašymas |
|---|---|
Šis metodas neturi parametrų. |
# Set cursor to (3,2) and print
# row number
brain.screen.set_cursor(3, 2)
brain.screen.print(brain.screen.row())

column#
column grąžina stulpelį, kuriame tekstas bus spausdinamas kaip sveikasis skaičius.
Usage:
brain.screen.column()
Parametrai |
Aprašymas |
|---|---|
Šis metodas neturi parametrų. |
# 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 spausdina tekstą, skaičius arba kintamųjų reikšmes „Brain“ ekrane nurodytoje x ir y koordinatėje pikseliais su šiuo metu nustatytais font ir origin. Šis metodas nepaiso dabartinės žymeklio pozicijos.
Usage:
brain.screen.print_at(text, x, y, precision, opaque)
Parametrai |
Aprašymas |
|---|---|
|
Tekstas, skaičius arba kintamoji reikšmė, kurią reikia spausdinti. |
|
X koordinatė, kurią reikia spausdinti kaip raktinio žodžio argumentą, pvz.: |
|
Y koordinatė, kurią reikia spausdinti kaip raktinio žodžio argumentą, pvz.: |
|
Pasirinktinai. Dešimtainių vietų skaičius, rodomas rodant skaičius. Tai turi būti parašyta kaip raktinio žodžio argumentas, pvz.: |
|
Pasirinktinai. |
# 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 grąžina eilutės plotį pikseliais kaip sveikąjį skaičių, kaip jis atrodytų „Brain“ ekrane. Plotis kinta priklausomai nuo eilutės ilgio ir dabartinio šrifto.
Usage:
brain.screen.get_string_width(string)
Parametrai |
Aprašymas |
|---|---|
|
Matuojama eilutė. |
get_string_height#
get_string_height grąžina eilutės aukštį pikseliais kaip sveikąjį skaičių, kaip jis atrodytų „Brain“ ekrane. Aukštis kinta priklausomai nuo eilutės ilgio ir dabartinio šrifto.
Usage:
brain.screen.get_string_height(string)
Parametrai |
Aprašymas |
|---|---|
|
Matuojama eilutė. |
Mutatoriai#
clear_screen#
clear_screen išvalo visus piešinius ir tekstą iš smegenų ekrano.
Usage:
brain.screen.clear_screen(color)
Parametrai |
Aprašymas |
|---|---|
|
Pasirinktinai. Nustato ekrano spalvą. Parinktys apima:
|
# 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 nustato šriftą, naudojamą tekstui rodyti „Brain“ ekrane. Šis šriftas bus taikomas visam tekstui, spausdinamam naudojant print arba print_at. Numatytasis šriftas projekto pradžioje yra MONO20.
Usage:
brain.screen.set_font(fontname)
Parametras |
Aprašymas |
|---|---|
|
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 nustato nubrėžtų linijų ir formos kontūrų storį.
Usage:
brain.screen.set_pen_width(width)
Parametras |
Aprašymas |
|---|---|
|
Rašiklio plotis pikseliais nuo 0 iki 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 nustato teksto, pikselių, linijų ir figūrų kontūrų spalvą.
Usage:
brain.screen.set_pen_color(color)
Parametras |
Aprašymas |
|---|---|
|
Pasirinktinai. Naudotina rašiklio ir šrifto spalva. Parinktys apima:
|
# 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 nustato užpildymo spalvą, naudojamą piešiant figūras.
Usage:
brain.screen.set_fill_color(color)
Parametras |
Aprašymas |
|---|---|
|
Pasirinktinai. Naudotina užpildymo spalva. Parinktys apima:
|
# Draw a yellow circle
brain.screen.set_fill_color(Color.YELLOW)
brain.screen.draw_circle(50, 50, 20)

set_origin#
set_origin nustato pradžios tašką, naudojamą piešimui ir spausdinimui pagal koordinates „Brain“ ekrane. Pagal numatytuosius nustatymus pradžios taškas yra viršutinis kairysis ekrano kampas.
Usage:
brain.screen.set_origin(x, y)
Parametras |
Aprašymas |
|---|---|
|
Nauja x koordinatė, kurią reikia nustatyti kaip pradžios tašką, pateikiama kaip sveikasis skaičius nuo 0 iki 159. |
|
Nauja y koordinatė, kurią reikia nustatyti kaip pradžios tašką, pateikiama kaip sveikasis skaičius nuo 0 iki 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)

Piešti#
draw_pixel#
draw_pixel nupiešia vieną pikselį pasirinktose x ir y koordinatėse, naudodamas dabartinę rašiklio spalvą.
Usage:
brain.screen.draw_pixel(x, y)
Parametras |
Aprašymas |
|---|---|
|
Pikselio x koordinatė, nurodyta sveikuoju skaičiumi nuo 0 iki 159, kur bus piešiamas pikselis. |
|
Y koordinatė, kurioje bus piešiamas pikselis, pateikiama kaip sveikasis skaičius nuo 0 iki 107. |
# Draw one pixel at the center
# of the screen
brain.screen.draw_pixel(80, 50)
![]()
draw_line#
draw_line nubrėžia liniją nuo pirmosios ekrano koordinatės (x1, y1) iki antrosios ekrano koordinatės (x2, y2) naudodama dabartinius pen width ir pen color parametrus.
X ir y koordinatėms naudojama numatytoji pradžios taškas (0, 0), nebent naudojant set_origin buvo nustatytas kitas pradžios taškas.
Usage:
brain.screen.draw_line(x1, y1, x2, y2)
Parametras |
Aprašymas |
|---|---|
|
Pradinė linijos x koordinatė, pateikta kaip sveikasis skaičius nuo 0 iki 159. |
|
Pradinė tiesės y koordinatė, pateikta kaip sveikasis skaičius nuo 0 iki 107. |
|
Linijos galinė x koordinatė, pateikta kaip sveikasis skaičius nuo 0 iki 159. |
|
Linijos galinė y koordinatė, pateikta kaip sveikasis skaičius nuo 0 iki 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 nubrėžia stačiakampį, kurio viršutinis kairysis kampas yra pasirinktoje (x, y) koordinatėje, o dydis nustatomas pagal nurodytą plotį ir aukštį, visi matuojami pikseliais. Stačiakampio kontūras nubrėžiamas naudojant dabartinius pen width ir pen color. Vidus užpildomas dabartine fill color, nebent naudojamas pasirenkamas color parametras.
X ir y koordinatėms naudojama numatytoji pradžios taškas (0,0), nebent naudojant set_origin buvo nustatytas kitas pradžios taškas.
Usage:
brain.screen.draw_rectangle(x, y, width, height, color)
Parametras |
Aprašymas |
|---|---|
|
Stačiakampio viršutinio kairiojo kampo x koordinatė, nurodyta kaip sveikasis skaičius nuo 0 iki 159. |
|
Stačiakampio viršutinio kairiojo kampo y koordinatė, pateikta kaip sveikasis skaičius nuo 0 iki 107. |
|
Stačiakampio plotis pikseliais. |
|
Stačiakampio aukštis pikseliais. |
|
Pasirinktinai. Stačiakampio užpildymo spalva. Parinktys apima:
|
# Draw a red rectangle on the screen
brain.screen.draw_rectangle(25, 25, 100, 50, Color.RED)

draw_circle#
draw_circle nubrėžia apskritimą, kurio centras yra pasirinktoje (x, y) koordinatėje, o dydis nustatomas pagal duotą spindulį, visi matuojami pikseliais. Apskritimo kontūras nubrėžiamas naudojant dabartinius pen width ir pen color. Vidus užpildomas dabartine fill color, nebent naudojamas pasirenkamas color parametras.
X ir y koordinatėms naudojama numatytoji pradžios taškas (0,0), nebent naudojant set_origin buvo nustatytas kitas pradžios taškas.
Usage:
brain.screen.draw_circle(x, y, radius, color)
Parametras |
Aprašymas |
|---|---|
|
Apskritimo centro x koordinatė, pateikta kaip sveikasis skaičius nuo 0 iki 159. |
|
Apskritimo centro y koordinatė, pateikta kaip sveikasis skaičius nuo 0 iki 107. |
|
Apskritimo spindulys, pikseliais. |
|
Pasirinktinai. Apskritimo užpildymo spalva. Parinktys apima:
|
# Draw a green circle on the screen
brain.screen.draw_circle(80, 50, 20, Color.GREEN)

set_clip_region#
set_clip_region apibrėžia stačiakampę ekrano sritį, kurioje bus visi piešiniai ir tekstas. Turinys už šios srities ribų nebus rodomas.
Usage:
brain.screen.set_clip_region(x, y, width, height)
Parametras |
Aprašymas |
|---|---|
|
Viršutinio kairiojo iškirpimo srities kampo x koordinatė, pateikta kaip sveikasis skaičius arba slankiojo kablelio reikšmė nuo 0 iki 159. |
|
Viršutinio kairiojo iškirpimo srities kampo y koordinatė, pateikta kaip sveikasis skaičius arba slankiojo kablelio reikšmė nuo 0 iki 107. |
|
Įrašymo srities plotis pikseliais. |
|
Įrašymo srities aukštis pikseliais. |
# 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 įjungia dvigubą buferizavimą „Brain“ ekrane. Iškvietus bet kokias piešimo komandas (pvz., tekstą, formas ar vaizdus), jos nebebus iš karto rodomos likusioje projekto dalyje. Vietoj to, atnaujinimai bus rodomi tik tada, kai vėl bus naudojamas render . Tai leidžia sklandžiau ir labiau kontroliuoti ekrano atnaujinimus, tačiau tai reiškia, kad niekas nebus matoma, kol nebus naudojamas render.
Usage:
brain.screen.render()
Parametrai |
Aprašymas |
|---|---|
Šis metodas neturi parametrų. |
# 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()









