Mengalihkan#
Perkenalan#
Blok Switch membantu siswa beralih dari pengkodean berbasis blok ke pengkodean berbasis teks. Dengan blok Switch, siswa dapat mengetik kode Python langsung di dalam proyek blok — menulis perintah, kondisi, nilai, atau definisi fungsi — sambil tetap membangun bagian proyek lainnya dengan blok. Blok individual juga dapat dikonversi menjadi perintah Python yang setara.
Untuk mempelajari cara mengetik perintah, metode, dan operator Python, lihat VEX AIM Python API.
Karena blok Switch berisi kode Python, ejaan, tanda baca, dan indentasi harus benar agar proyek dapat berjalan sesuai harapan.
Berikut adalah daftar semua blok Switch:
Ganti blok — Tambahkan kode Python ke proyek Blok.
Stack — Menyediakan ruang untuk mengetik perintah Python yang dijalankan secara berurutan dengan blok stack lainnya.
Blok C — Menyediakan ruang untuk mengetik kode kontrol Python, seperti pernyataan
if,while, ataufor.C Expandable — Menyediakan ruang untuk mengetik kode kontrol Python dengan banyak percabangan, seperti
if,elif, atauelse.Boolean — Menyediakan ruang untuk mengetik kode Python yang mengembalikan
TrueatauFalse.Reporter — Menyediakan ruang untuk mengetik kode Python yang mengembalikan nilai.
Topi — Menyediakan ruang untuk mendefinisikan fungsi Python.
Tumpukan#
Blok Stack menyediakan ruang untuk mengetik perintah Python yang dijalankan secara berurutan dengan blok stack lainnya.
[] :: custom-switch
Sebuah blok Stack dapat berisi satu baris atau beberapa baris kode Python.
saat dimulai
[Move forward 400 mm.]
[robot.move_for(400, 0)] :: custom-switch
Blok C#
Blok C menyediakan ruang untuk mengetik kode kontrol Python, seperti pernyataan if, while, atau for Blok yang ditempatkan di dalam Blok C akan dijalankan sebagai bagian dari struktur kontrol Python tersebut.
if [] :: custom-switch
selesai
Kode kontrol Python yang dapat digunakan dalam Blok C meliputi:
saat dimulai
[Continuously turn right until the screen is pressed.]
belok [kanan v]
selamanya
if [if robot.screen.pressing():] :: custom-switch
cetak [Screen was pressed!] di layar ▶
hentikan semua gerakan
selesai
selesai
C Dapat Diperluas#
Blok C Expandable menyediakan ruang untuk mengetik kode kontrol Python dengan banyak percabangan, seperti if, elif, atau elsePercabangan tambahan dapat ditambahkan dengan memilih tanda panah plus.
if [] :: custom-switch-expand
selesai
Kode kontrol Python yang dapat digunakan dalam blok C Expandable meliputi:
saat dimulai
[Continuously move forward until the robot has a sports ball.]
selamanya
if [if robot.has_sports_ball():] :: custom-switch-expand
cetak [Sports ball found!] di layar ▶
hentikan semua gerakan
else [else:]
gerak [maju v]
selesai
selesai
Boolean#
Blok Boolean menyediakan ruang untuk mengetik kode Python yang mengembalikan nilai True atau False. Blok ini dapat ditempatkan di dalam blok dengan input heksagonal.
<[] :: custom-switch>
Blok Boolean dapat berisi kondisi Python.
<[robot.screen.pressing()] :: custom-switch>
Blok Boolean juga dapat menggunakan operator logika:
<[robot.screen.pressing() and robot.has_sports_ball()] :: custom-switch>
Blok Boolean dapat menggunakan operator perbandingan untuk membandingkan nilai:
Lebih besar dari:
>Kurang dari:
<Sama dengan:
==Operator perbandingan lainnya termasuk
<=,!=, dan>=
<[robot.inertial.get_heading()> 100] :: custom-switch>
saat dimulai
[Continuously turn right until the screen is pressed.]
belok [kanan v]
selamanya
jika <[robot.screen.pressing()] :: custom-switch> maka
cetak [Screen was pressed!] di layar ▶
hentikan semua gerakan
selesai
selesai
Reporter#
Blok Reporter menyediakan ruang untuk mengetik kode Python yang mengembalikan nilai. Blok ini dapat ditempatkan di dalam blok dengan input melingkar.
([] :: custom-switch)
Blok Reporter dapat berisi kode Python yang mengembalikan suatu nilai.
([robot.inertial.get_heading()] :: custom-switch)
Operator matematika dapat digunakan dalam blok Reporter:
([robot.inertial.get_heading() + 45] :: custom-switch)
saat dimulai
[Print the robot's heading plus 45 degrees.]
cetak ([robot.inertial.get_heading() + 45] :: custom-switch) di layar ▶
Topi#
Blok Topi menyediakan ruang untuk mendefinisikan fungsi Python. Blok yang terpasang di bawah Topi menjadi isi dari fungsi tersebut.
[] :: hat custom-switch
Ketik definisi fungsi Python di dalam blok Hat. Parameter diletakkan di dalam tanda kurung. Jika fungsi tidak menggunakan parameter, gunakan tanda kurung kosong.
[def function_name(parameter):] :: hat custom-switch
[def move_400():] :: hat custom-switch
[Define a custom function using a Hat block.]
gerak [maju v] sejauh (400) [mm v] ▶
saat dimulai
[move_400()] :: custom-switch