Utama Layanan Streaming Meretas Minecraft di Raspberry Pi

Meretas Minecraft di Raspberry Pi



Raspberry Pi 2 adalah perangkat yang sangat mampu, mengingat harganya di bawah £30. Muncul dengan versi Minecraft yang sudah diinstal sebelumnya, bersama dengan API yang memungkinkan Anda menulis kode untuk dijalankan di dunia virtual. Anda melakukan ini dengan Python, yang mudah dipelajari. Kombinasi Pi, Python, dan Minecraft memberikan peluang besar untuk mulai menjelajahi kemungkinan pemrograman. Dan sensasi melihat rumah yang dibangun di atas lanskap virtual juga bukan hanya untuk anak-anak.

cara membuat gambar kurang piksel pixel

Membuat skrip di Minecraft

Minecraft adalah gim kotak pasir terbuka yang tidak memiliki alur cerita untuk diikuti. Kadang-kadang digambarkan sebagai Lego virtual, karena pemain dapat membangun segala jenis struktur menggunakan balok yang mereka miliki. Versi yang dibundel dengan Raspberry Pi memiliki serangkaian fitur terbatas yang sesuai dengan peran pendidikannya – jadi Anda tidak perlu khawatir dikejar zombie, misalnya. Berinteraksi dengan dunia ini tidak memerlukan pengaturan khusus, hanya versi terbaru dari OS Raspbian ditambah lingkungan pemrograman. Saya akan memilih Geany, yang dapat Anda instal dengan membuka LXTerminal dan mengetik:

sudo apt-get install geany

Mari kita mulai dengan membuat skrip untuk membangun rumah di depan pemain – tetapi alih-alih hanya meletakkannya di tempatnya, kita akan menganimasikannya. Kami juga akan membangun berbagai pengaturan yang dapat dikonfigurasi, yang akan memungkinkan pemain bereksperimen dengan berbagai dimensi dan bahan. Ini juga akan membuat program menjadi modular, sehingga dapat digunakan sebagai dasar untuk membuat sumur yang lebih canggih.

Untuk membuat kode berfungsi, muat ke Geany lalu mulai Minecraft dan buat dunia baru. Tekan tombol Tab untuk melepaskan kursor dari jendela Minecraft dan klik ikon roda gigi di Geany (atau tekan F5) untuk meluncurkan skrip. Anda akan melihat sebuah rumah secara ajaib merakit dirinya sendiri. Jika tidak, coba berbalik – mungkin ada di belakang Anda! Anda dapat melihat skrip beraksi sini . Jadi bagaimana cara kerja skrip? Nah, pertama itu membuka tautan ke Minecraft:

impor mcpi.minecraft sebagai minecraft, waktu mc=minecraft.Minecraft.create()

Dalam Python, penting untuk memperhatikan indentasi, karena begitulah cara kode dibagi menjadi blok. Dalam hal ini, kedua baris rata dengan margin kiri: baris pertama mengimpor perpustakaan Minecraft dan Time dan yang kedua membuat objek Minecraft untuk kita gunakan secara keseluruhan. 25 baris berikutnya mengatur beberapa variabel untuk blok yang akan kita gunakan sehingga kita dapat merujuknya sebagai, katakanlah, wood_planks daripada dengan ID bloknya (5, dalam hal ini). Kami kemudian menunjukkan blok mana yang akan digunakan untuk dinding, yang mana untuk atap dan seterusnya. Kita dapat dengan mudah mengubah konstruksi rumah sepenuhnya dengan menukar dinding bata dengan batu bulat, misalnya. Terakhir, kita atur lebar, panjang dan tinggi hunian yang kita inginkan.

Kami sekarang memanggil fungsi Minecraft mc.player.getTilePos() untuk menemukan pemain di lanskap, dan nilai yang kembali kemudian digunakan untuk membuat dua variabel, kiri dan bawah, untuk menjelaskan di mana sudut pertama tempat tinggal akan berada .

Setelah itu, struktur skrip cocok dengan proses Minecraft membangun rumah secara manual. Kami mulai dengan membersihkan ruang sehingga jika pemain memilih untuk membangun rumah di dalam, katakanlah, gunung, ruang tamu tidak akan menjadi batu padat. Inilah blok kode – fungsi dalam Python – yang melakukan ini:

def clear_house(nuklir):
jika nuklir==Benar:
blast_zone=20
lain:
blast_zone=0
mc.setBlocks(left-blast_zone,player_
tanah, bawah+zona_ledakan,kiri+lebar+ledakan_
zona, player_ground+height+blast_
zone+10,bottom-length-blast_zone,air_block)

Saat kami memanggil clear_house, kami memasukkan parameter nuklir. Ini memiliki nilai Benar atau Salah. Anda dapat mencoba memanggilnya dengan True untuk menghapus volume yang lebih besar di sekitar area target, atau menyebutnya dengan False untuk membatasi jarak ke dimensi internal rumah. Di Minecraft, fungsi mc.setBlocks digunakan untuk membuat kubus balok dengan memberikan koordinat, dalam tiga dimensi, dari sudut yang berlawanan diikuti dengan jenis balok yang ingin Anda gunakan. Dalam hal ini kami membersihkan ruang, jadi kami menggunakan udara.

Setelah kami mengosongkan ruang, saatnya untuk beralih ke konstruksi. Masing-masing tahapan konstruksi ini berlangsung dalam fungsinya masing-masing. Di akhir skrip, Anda akan melihat fungsi yang disebut main(), yang mengontrol aliran program dengan memanggil setiap fase konstruksi secara bergantian. Dengan menamai fungsi kita secara bijaksana dan memanggilnya dari main(), mudah untuk memahami apa yang sedang dilakukan program:

def utama():
clear_house(Salah)
start_pos=[kiri,bawah,pemain_
tanah]
build_floor(start_pos)
kursus=build_walls(start_pos)
tambahkan_pintu(posisi_pintu)
waktu.tidur(tunda*10)
build_roof(start_pos, kursus)

Fungsi berikutnya yang dipanggil di main() membangun lantai – ini menggunakan mc. setBlocks lagi untuk mengukir fondasi (untuk efek artistik) dan kemudian tambahkan kubus ubin lantai dengan kedalaman satu blok untuk membuat lantai yang kokoh di rumah kita.

cara setup dual monitor dengan laptop

Membangun dinding

Fungsi build_walls adalah jantung dari program. Cara paling efisien untuk membuat cangkang rumah adalah dengan meletakkan kubus batu bata yang kokoh dan kemudian menggunakan clear_house untuk mengukir interiornya. Namun, kita ingin rumah itu tampak membangun sendiri, jadi kita perlu menempatkan balok-balok itu satu per satu. Berikut adalah versi sederhana dari kode pembangunan dinding:

def build_course(start_pos, arah,
kursus):
blok = 1
current_horiz=start_pos[0]
current_vert=start_pos[1]

jika arah == atas atau
arah == bawah:
number_of_blocks=panjang
lain:
number_of_blocks=lebar

sementara blokmc.setBlock(current_horiz,player_
ground+course,current_vert,wall_block)
jika arah == atas:
current_vert-=1
arah elif == bawah:
current_vert+=1
arah elif == kanan:
saat_horiz+=1
lain:

current_horiz-=1
blok=blok+1 # pindah ke blok berikutnya
waktu.tidur(tunda)

Kita mulai dengan menyimpan posisi awal – ini akan menjadi posisi blok terakhir yang diletakkan dari rangkaian blok sebelumnya. Kami kemudian menentukan berapa banyak blok untuk diletakkan, tergantung pada apakah kami akan mengikuti panjang bangunan atau lebarnya.

Fase membangun terkandung di dalam blok while – ini terus berjalan sampai kita meletakkan semua blok. mc.setBlock menempatkan satu blok pada koordinat yang ditunjukkan, lalu menambah salah satu koordinat tersebut tergantung pada arah di mana kita meletakkannya. Efeknya adalah balok diletakkan di sepanjang dinding sebelum berbelok di sudut dan berlanjut dalam persegi panjang sampai lintasan selesai.

cara membuka pintu besi di minecraft

Versi terakhir dari kode ini sedikit lebih terlibat, menambahkan jendela ke setiap dinding. Jendela-jendelanya berukuran dinamis sehingga panjangnya setengah dari dinding dan berada di tengah. Itu juga mencatat posisi pintu; itu ditambahkan setelah dinding dibangun. Jalur dikontrol dari fungsi build_walls, yang mengulangi fungsi build_course untuk setiap jalur blok hingga mencapai ketinggian akhir.

Anda bahkan dapat mencoba membangun rumah Anda di laut atau di udara – lakukan ini dengan menekan dua kali bilah spasi untuk terbang, lalu tekan lagi untuk mengangkat diri Anda sebelum menjalankan skrip. Ubah variabel wall_block dan roof_block untuk melihat apa yang terjadi jika Anda membuat dinding atau atap dari emas atau, memang, lava. Anda dapat menambahkan blok Anda sendiri dengan melihat daftar lengkapnya sini , dan menambahkan variabel terkait ke skrip. Modifikasi yang lebih menantang mungkin termasuk menambahkan beberapa lantai ke struktur jika variabel ketinggian diatur ke nilai yang cukup besar. Cari tahu cara menambahkan menara, misalnya, dan Anda memiliki bakat untuk membuat kastil Minecraft.

Tweak ini mungkin terdengar sepele, tetapi saya telah memprogram secara profesional selama lebih dari 20 tahun dan saya masih merasa senang ketika potongan kode berfungsi sebagaimana dimaksud. Jika Anda belum pernah memprogram sebelumnya, saya harap Anda akan mencobanya – dan jika Anda memiliki penggemar Minecraft di rumah, saya sarankan untuk melepaskan kodenya dan melihat ke mana mereka akan membawanya. Anda akan menemukan tautan ke sumber daya Minecraft Pi di kevpartner.co.uk/programming .

Artikel Menarik

Pilihan Editor

Aktifkan keyboard lengkap (tata letak keyboard standar) di keyboard sentuh Windows 8.1
Aktifkan keyboard lengkap (tata letak keyboard standar) di keyboard sentuh Windows 8.1
Windows 8.1 (dan edisi Windows RT yang setara) menyertakan keyboard sentuh untuk komputer dan tablet dengan layar sentuh. Saat Anda menyentuh bidang teks mana pun di tablet Anda, keyboard sentuh muncul di layar. Jika Anda tidak memiliki layar sentuh, Anda memiliki dua opsi untuk menjalankannya. Secara default, ini muncul
Cara Menghapus Stasiun di Pandora
Cara Menghapus Stasiun di Pandora
Pandora memiliki begitu banyak stasiun musik untuk dipilih, yang bisa membuat Anda kewalahan. Pelajari cara menghapus stasiun di Pandora menggunakan antarmuka web atau di perangkat seluler.
Pulihkan Halaman Tab Baru Klasik di Google Chrome
Pulihkan Halaman Tab Baru Klasik di Google Chrome
Berikut adalah cara mengembalikan halaman Tab Baru klasik di Google Chrome dengan thumbnail situs web. Ini akan menggantikan halaman baru yang diperkenalkan di Chrome 69.
Cara Memperbaiki 0xc1900101 Kesalahan penginstalan di Windows 10
Cara Memperbaiki 0xc1900101 Kesalahan penginstalan di Windows 10
Jika Anda melihat kesalahan penginstalan 0xc1900101, kemungkinan Anda meningkatkan ke Windows 10 dari edisi sebelumnya atau melakukan pembaruan versi. Kode kesalahan ini khusus untuk pembaruan tersebut dan cukup umum di file
8 Cara Memperbaiki Kode Error Roblox 403
8 Cara Memperbaiki Kode Error Roblox 403
Anda tidak dapat terhubung ke server Roblox jika Anda melihat kode kesalahan 403 di Roblox. Untuk memperbaiki kesalahan ini, mulai ulang PC dan peralatan jaringan Anda, matikan VPN dan antivirus Anda, hapus cache Roblox, dan instal ulang aplikasi Roblox. Jika server Roblox sedang down, yang bisa Anda lakukan hanyalah menunggu.
Cara Mengosongkan Ruang di Roku
Cara Mengosongkan Ruang di Roku
Roku adalah salah satu platform streaming paling populer yang tersedia. Ini menampilkan banyak konten gratis, tetapi juga menawarkan akses ke layanan streaming berbayar favorit Anda seperti Netflix, Hulu, HBO, dan lainnya. Selain itu, Roku memiliki antarmuka yang bagus
Unduh penginstal offline penuh Skype
Unduh penginstal offline penuh Skype
Seperti banyak produk yang mulai dilakukan, Skype memiliki penginstal berbasis web yang mengganggu untuk versi desktop Windows-nya. Saat Anda mengeklik tautan unduhan, Anda mendapatkan rintisan penginstal kecil, bukan penginstal berukuran besar penuh. Penginstal web mengunduh versi lengkap Skype. Penginstal web menampilkan bilah kemajuan bergaya tenda tanpa indikasi berapa lama waktu yang dibutuhkan