Layar#
Perkenalan#
Metode Layar mengontrol bagaimana IQ (generasi ke-2) Brain menampilkan teks, angka, dan grafik pada layar bawaannya.
Untuk menggambar, resolusi Brain adalah 160 x 108 piksel.
Halaman ini menggunakan brain sebagai contoh nama Brain. Ganti dengan nama yang Anda konfigurasi sendiri sesuai kebutuhan.
Berikut adalah daftar semua metode:
Cetak Kursor — Tempatkan dan cetak teks.
print— Mencetak teks, angka, atau nilai variabel pada posisi kursor saat ini.set_cursor— Memindahkan kursor ke baris dan kolom tertentu.next_row— Memindahkan kursor ke kolom 1 baris berikutnya.clear_row— Menghapus baris teks.row— Mengembalikan baris tempat teks akan dicetak.column— Mengembalikan kolom tempat teks akan dicetak.print_at— Mencetak teks, angka, atau nilai variabel pada koordinat x dan y tertentu.get_string_width— Mengembalikan lebar string dalam piksel menggunakan font saat ini.get_string_height— Mengembalikan tinggi string dalam piksel menggunakan font saat ini.
Mutator — Mengubah pengaturan layar, warna, dan perilaku penggambaran.
clear_screen— Menghapus semua gambar dan teks dari layar.set_font— Mengatur font untuk teks yang dicetak.set_pen_width— Mengatur ketebalan garis yang digambar dan garis luar bentuk.set_pen_color— Mengatur warna teks, piksel, garis, dan garis luar bentuk.set_fill_color— Mengatur warna isian untuk bentuk yang digambar dan latar belakang teks yang dicetak.set_origin— Mengatur titik asal yang digunakan untuk pencetakan dan penggambaran berbasis koordinat.
Gambar — Tambahkan grafik ke layar.
draw_pixel— Menggambar satu piksel pada koordinat.draw_line— Menggambar garis antara dua titik.draw_rectangle— Menggambar persegi panjang.draw_circle— Menggambar lingkaran.set_clip_region— Membatasi di mana gambar dan teks dapat muncul.render— Memperbarui layar Otak dengan teks dan gambar hanya ketika dipanggil.
Cetak Kursor#
print#
print mencetak teks, angka, atau nilai variabel pada layar Brain di posisi kursor dan font saat ini.
Usage:
brain.screen.print(text, precision, opaque)
Parameter |
Keterangan |
|---|---|
|
Teks, angka, atau nilai variabel yang akan dicetak di layar. |
|
Opsional. Jumlah tempat desimal yang akan ditampilkan saat menampilkan angka. Ini harus ditulis sebagai argumen kata kunci, misalnya: |
|
Opsional. |
# 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 memindahkan kursor ke baris dan kolom tertentu di layar Brain. Panggilan print berikutnya akan mulai mencetak di lokasi tersebut. Berapa banyak baris dan kolom yang dapat muat dengan nyaman bergantung pada font yang dipilih.
Font monospasi memiliki karakter yang semuanya memiliki lebar yang sama, sehingga penempatan teks konsisten. Sebaliknya, font proporsional bervariasi lebar karakternya, sehingga beberapa huruf membutuhkan lebih banyak ruang daripada yang lain. Namun, terlepas dari jenis mana yang digunakan, set_cursor memposisikan kursor berdasarkan ukuran baris dan kolom, bukan gaya font. Ukuran font dapat disesuaikan menggunakan set_font.
Usage:
brain.screen.set_cursor(row, column)
Parameter |
Keterangan |
|---|---|
|
Baris tempat kursor akan dipindahkan. |
|
Kolom tempat kursor akan dipindahkan. |
# 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 memindahkan kursor ke kolom 1 pada baris berikutnya di layar Brain.
Usage:
brain.screen.next_row()
Parameter |
Keterangan |
|---|---|
Metode ini tidak memiliki parameter. |
# Display two lines of text
brain.screen.print("Line 1")
brain.screen.next_row()
brain.screen.print("Line 2")

clear_row#
clear_row menghapus satu baris teks pada layar Brain.
Usage:
brain.screen.clear_row(row, color)
Parameter |
Keterangan |
|---|---|
baris |
Opsional. Baris yang akan dihapus. Secara default, baris kursor saat ini adalah baris yang akan dihapus. |
warna |
Opsional. Warna yang akan diterapkan pada baris yang telah dibersihkan. Pilihan meliputi:
|
# 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 mengembalikan baris tempat teks akan dicetak sebagai bilangan bulat.
Usage:
brain.screen.row()
Parameter |
Keterangan |
|---|---|
Metode ini tidak memiliki parameter. |
# Set cursor to (3,2) and print
# row number
brain.screen.set_cursor(3, 2)
brain.screen.print(brain.screen.row())

column#
column mengembalikan kolom tempat teks akan dicetak sebagai bilangan bulat.
Usage:
brain.screen.column()
Parameter |
Keterangan |
|---|---|
Metode ini tidak memiliki parameter. |
# 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 mencetak teks, angka, atau nilai variabel pada layar Brain pada koordinat x dan y yang ditentukan dalam piksel dengan font dan origin yang saat ini diatur. Metode ini mengabaikan posisi kursor saat ini.
Usage:
brain.screen.print_at(text, x, y, precision, opaque)
Parameter |
Keterangan |
|---|---|
|
Teks, angka, atau nilai variabel yang akan dicetak. |
|
Koordinat x yang akan dicetak sebagai argumen kata kunci, misalnya: |
|
Koordinat y yang akan dicetak sebagai argumen kata kunci, misalnya: |
|
Opsional. Jumlah tempat desimal yang akan ditampilkan saat menampilkan angka. Ini harus ditulis sebagai argumen kata kunci, misalnya: |
|
Opsional. |
# 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 mengembalikan lebar string dalam piksel sebagai bilangan bulat, seperti yang akan muncul di layar Brain. Lebarnya bervariasi tergantung pada panjang string dan font saat ini.
Usage:
brain.screen.get_string_width(string)
Parameter |
Keterangan |
|---|---|
|
Tali untuk mengukur. |
get_string_height#
get_string_height mengembalikan tinggi string dalam piksel sebagai bilangan bulat, seperti yang akan muncul di layar Brain. Tingginya bervariasi tergantung pada panjang string dan font saat ini.
Usage:
brain.screen.get_string_height(string)
Parameter |
Keterangan |
|---|---|
|
Tali untuk mengukur. |
Mutator#
clear_screen#
clear_screen menghapus semua gambar dan teks dari layar Otak.
Usage:
brain.screen.clear_screen(color)
Parameter |
Keterangan |
|---|---|
|
Opsional. Mengatur warna layar. Pilihan meliputi:
|
# 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 mengatur font yang digunakan untuk menampilkan teks di layar Brain. Font ini akan berlaku untuk semua teks yang dicetak dengan print atau print_at. Font default di awal proyek adalah MONO20.
Usage:
brain.screen.set_font(fontname)
Parameter |
Keterangan |
|---|---|
|
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 mengatur ketebalan garis yang digambar dan garis luar bentuk.
Usage:
brain.screen.set_pen_width(width)
Parameter |
Keterangan |
|---|---|
|
Lebar pena, dalam piksel, dari 0 hingga 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 mengatur warna teks, piksel, garis, dan garis luar bentuk.
Usage:
brain.screen.set_pen_color(color)
Parameter |
Keterangan |
|---|---|
|
Opsional. Warna pena dan font yang akan digunakan. Pilihan meliputi:
|
# 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 mengatur warna isian yang digunakan saat bentuk digambar.
Usage:
brain.screen.set_fill_color(color)
Parameter |
Keterangan |
|---|---|
|
Opsional. Warna isian yang akan digunakan. Pilihan meliputi:
|
# Draw a yellow circle
brain.screen.set_fill_color(Color.YELLOW)
brain.screen.draw_circle(50, 50, 20)

set_origin#
set_origin mengatur titik asal yang digunakan untuk menggambar dan mencetak berbasis koordinat pada layar Brain. Secara default, titik asalnya adalah pojok kiri atas layar.
Usage:
brain.screen.set_origin(x, y)
Parameter |
Keterangan |
|---|---|
|
Koordinat x baru yang akan ditetapkan sebagai titik asal, diberikan sebagai bilangan bulat dari 0 hingga 159. |
|
Koordinat y baru yang akan ditetapkan sebagai titik asal, diberikan sebagai bilangan bulat dari 0 hingga 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)

Menggambar#
draw_pixel#
draw_pixel menggambar satu piksel pada koordinat x dan y yang dipilih menggunakan warna pena saat ini.
Usage:
brain.screen.draw_pixel(x, y)
Parameter |
Keterangan |
|---|---|
|
Koordinat x tempat piksel akan digambar, diberikan sebagai bilangan bulat dari 0 hingga 159. |
|
Koordinat y tempat piksel akan digambar, diberikan sebagai bilangan bulat dari 0 hingga 107. |
# Draw one pixel at the center
# of the screen
brain.screen.draw_pixel(80, 50)
![]()
draw_line#
draw_line menggambar garis dari koordinat layar pertama (x1, y1) ke koordinat layar kedua (x2, y2) menggunakan lebar pena dan warna pena saat ini.
Koordinat x dan y menggunakan titik asal default (0, 0) kecuali jika titik asal yang berbeda telah ditetapkan menggunakan set_origin.
Usage:
brain.screen.draw_line(x1, y1, x2, y2)
Parameter |
Keterangan |
|---|---|
|
Koordinat x awal garis, diberikan sebagai bilangan bulat dari 0 hingga 159. |
|
Koordinat y awal garis, diberikan sebagai bilangan bulat dari 0 hingga 107. |
|
Koordinat x terakhir dari garis tersebut, diberikan sebagai bilangan bulat dari 0 hingga 159. |
|
Koordinat y ujung garis, diberikan sebagai bilangan bulat dari 0 hingga 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 menggambar sebuah persegi panjang dengan sudut kiri atasnya berada pada koordinat (x, y) yang dipilih dan ukurannya ditentukan oleh lebar dan tinggi yang diberikan, semuanya diukur dalam piksel. Garis luar persegi panjang digambar menggunakan lebar pena dan warna pena saat ini. Bagian dalamnya diisi dengan warna isi, kecuali jika parameter warna color opsional digunakan.
Koordinat x dan y menggunakan titik asal default (0,0) kecuali jika titik asal yang berbeda telah ditetapkan menggunakan set_origin.
Usage:
brain.screen.draw_rectangle(x, y, width, height, color)
Parameter |
Keterangan |
|---|---|
|
Koordinat x dari sudut kiri atas persegi panjang, diberikan sebagai bilangan bulat dari 0 hingga 159. |
|
Koordinat y dari sudut kiri atas persegi panjang, diberikan sebagai bilangan bulat dari 0 hingga 107. |
|
Lebar persegi panjang, dalam piksel. |
|
Tinggi persegi panjang, dalam piksel. |
|
Opsional. Warna isian persegi panjang. Pilihan meliputi:
|
# Draw a red rectangle on the screen
brain.screen.draw_rectangle(25, 25, 100, 50, Color.RED)

draw_circle#
draw_circle menggambar lingkaran dengan pusat di koordinat (x, y) yang dipilih dan ukuran yang ditentukan oleh jari-jari yang diberikan, semuanya diukur dalam piksel. Garis luar lingkaran digambar menggunakan lebar pena dan warna pena saat ini. Bagian dalamnya diisi dengan warna isi, kecuali jika parameter warna color opsional digunakan.
Koordinat x dan y menggunakan titik asal default (0,0) kecuali jika titik asal yang berbeda telah ditetapkan menggunakan set_origin.
Usage:
brain.screen.draw_circle(x, y, radius, color)
Parameter |
Keterangan |
|---|---|
|
Koordinat x dari pusat lingkaran, diberikan sebagai bilangan bulat dari 0 hingga 159. |
|
Koordinat y dari pusat lingkaran, diberikan sebagai bilangan bulat dari 0 hingga 107. |
|
Jari-jari lingkaran, dalam piksel. |
|
Opsional. Warna isi lingkaran. Pilihan meliputi:
|
# Draw a green circle on the screen
brain.screen.draw_circle(80, 50, 20, Color.GREEN)

set_clip_region#
set_clip_region mendefinisikan area persegi panjang di layar tempat semua gambar dan teks akan dibatasi. Konten apa pun di luar area ini tidak akan ditampilkan.
Usage:
brain.screen.set_clip_region(x, y, width, height)
Parameter |
Keterangan |
|---|---|
|
Koordinat x dari sudut kiri atas wilayah klip, diberikan sebagai bilangan bulat atau bilangan pecahan dari 0 hingga 159. |
|
Koordinat y dari sudut kiri atas wilayah klip, diberikan sebagai bilangan bulat atau bilangan pecahan dari 0 hingga 107. |
|
Lebar area pemotongan dalam piksel. |
|
Tinggi area pemotongan dalam piksel. |
# 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#
Perintah render mengaktifkan double buffering untuk layar Brain. Setelah dipanggil, perintah menggambar apa pun (seperti teks, bentuk, atau gambar) tidak akan langsung muncul lagi untuk sisa proyek. Sebaliknya, pembaruan hanya akan ditampilkan saat perintah render digunakan lagi. Ini memungkinkan pembaruan layar yang lebih halus dan terkontrol, tetapi berarti tidak ada yang akan terlihat sampai perintah render digunakan.
Usage:
brain.screen.render()
Parameter |
Keterangan |
|---|---|
Metode ini tidak memiliki parameter. |
# 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()









