Page 126 - E-Modul Coding For Kids Berbasis Raspberry Pi
P. 126
return target
Perbedaan utamanya adalah saya mengubah opsi dari daftar menjadi kamus. (Perhatikan
tanda kurung kurawal, bukan tanda kurung siku). Kamus memungkinkan Anda memberi
nama setiap pin, yang lebih nyaman bagi pemain. Dalam hal ini, saya menghubungkan
pin 22 ke sesuatu seperti tombol A. Dalam bahasa pengkodean yang tepat, kamus
memberikan nilai (nama) untuk setiap kunci (nomor pin). Oleh karena itu, pin target harus
dipilih dari kamus kata kunci , jadi tambahkan . keys() pada baris yang memilih pin
tersebut. Terakhir, saat Anda menampilkan target kepada pemain, namanya diambil dari
kamus dalam tanda kurung siku.
Menggunakan pengontrol
Selanjutnya, kita perlu mendeteksi tombol mana yang sedang ditekan. Lihatlah cuplikan
kode berikut:
import RPi.GPIO as GPIO
def buttonpressed():
for pin in options.keys():
if GPIO.input(pin) == GPIO.HIGH:
return pin
else:
return None
Sekali lagi, kami mengimpor modul yang melakukan beberapa pekerjaan di belakang
layar. Kali ini saya menggunakan untuk memberinya nama yang sedikit lebih pendek
sehingga kode lainnya lebih mudah dibaca. Untuk mempermudah melihat semua impor
sekaligus, saya biasanya mengelompokkan semua impor di awal kode saya. Semua kode
dalam bab ini dirangkum di bagian akhir, jika Anda tidak tahu di mana harus meletakkan
bagian kode tertentu.
Di dalam fungsi buttonpressed, kita memiliki perulangan for. Ini agak mirip dengan
forever if blok di Scratch, kecuali kita menyuruhnya berhenti setelah berjalan tertentu
berkali-kali. Dalam hal ini, kami memerintahkannya untuk dijalankan satu kali untuk
setiap pin di kami kamus pilihan.
115