Ana Akış Hizmetleri Raspberry Pi'de Minecraft Hacklemek

Raspberry Pi'de Minecraft Hacklemek



Raspberry Pi 2, 30 sterlinin altındaki fiyatı göz önüne alındığında şaşırtıcı derecede yetenekli bir cihazdır. Sanal dünyada çalıştırılmak üzere kod yazmanıza izin veren bir API ile birlikte önceden yüklenmiş bir Minecraft sürümü ile birlikte gelir. Bunu öğrenmesi kolay olan Python'da yaparsınız. Pi, Python ve Minecraft kombinasyonu, programlama olanaklarını keşfetmeye başlamak için harika bir fırsat sunar. Ve bir evin kendisini sanal bir manzara üzerine inşa ettiğini görmenin heyecanı da sadece çocuklar için değil.

oluşturduğunuz bir discord sunucusundan nasıl çıkılır

Minecraft'ta Komut Dosyası Oluşturma

Minecraft, takip edecek bir arsa çizgisi olmayan açık bir sanal oyundur. Oyuncu, elindeki blokları kullanarak her türlü yapıyı inşa edebileceğinden, bazen sanal Lego olarak tanımlanır. Raspberry Pi ile birlikte verilen sürüm, eğitim rolüne uygun sınırlı bir özellik setine sahiptir - bu nedenle, örneğin zombiler tarafından kovalanma konusunda endişelenmenize gerek yoktur. Bu dünyayla etkileşim özel bir kurulum gerektirmez, yalnızca Raspbian OS'nin yeni bir yapısı artı bir programlama ortamı gerektirir. LXTerminal'i açıp şunu yazarak yükleyebileceğiniz Geany'yi seçerdim:

sudo apt-get install geany

Oyuncunun önünde bir ev inşa etmek için bir senaryo oluşturarak başlayalım - ama sadece bir tanesini yerine oturtmak yerine, onu canlandıracağız. Ayrıca, oyuncunun farklı boyutlar ve malzemelerle denemeler yapmasına olanak sağlayacak çeşitli yapılandırılabilir ayarlar da oluşturacağız. Bu aynı zamanda programı modüler hale getirecek, böylece daha sofistike kuyular yaratmak için temel olarak kullanılabilir.

Kodun çalışması için onu Geany'ye yükleyin, ardından Minecraft'ı başlatın ve yeni bir dünya yaratın. Minecraft penceresinden imleci serbest bırakmak için Sekme tuşuna basın ve komut dosyasını başlatmak için Geany'deki dişli simgesine tıklayın (veya F5'e basın). Sihirli bir şekilde kendini bir araya getiren bir ev görmelisin. Bunu yapmazsan arkanı dönmeyi dene - arkanda olabilir! Komut dosyasını çalışırken görebilirsiniz İşte . Peki senaryo nasıl çalışıyor? İlk önce Minecraft'a bir bağlantı açar:

mcpi.minecraft'ı minecraft olarak içe aktar, zaman mc=minecraft.Minecraft.create()

Python'da girintiye dikkat etmek önemlidir, çünkü kod bu şekilde bloklara bölünür. Bu durumda, her iki satır da sol kenar boşluğu ile aynı hizadadır: ilk satır Minecraft ve Time kitaplıklarını içe aktarır ve ikincisi, baştan sona kullanmamız için bir Minecraft nesnesi oluşturur. Sonraki 25 satır, kullanacağımız bloklar için birkaç değişken belirler, böylece blok ID'leri yerine (bu durumda 5) wood_planks olarak adlandırabiliriz. Daha sonra bu bloklardan hangisinin duvar, hangisinin çatı için kullanılacağını belirtiyoruz. Örneğin, tuğla duvarları parke taşı ile değiştirerek evin yapısını tamamen değiştirebiliriz. Son olarak istediğimiz konutun genişliğini, uzunluğunu ve yüksekliğini belirliyoruz.

Şimdi, oyuncuyu manzarada konumlandırmak için Minecraft işlevini mc.player.getTilePos() çağırıyoruz ve daha sonra geri gelen değerler, konutun ilk köşesinin nerede olacağını tanımlamak için sol ve alt olmak üzere iki değişken oluşturmak için kullanılıyor. .

Bundan sonra, senaryonun yapısı Minecraft'ın manuel olarak bir ev inşa etme süreciyle eşleşir. Bir alanı temizleyerek başlıyoruz, böylece oyuncu evi, örneğin bir dağın içine inşa etmeyi seçerse, yaşam alanı katı taş olmayacak. İşte bunu yapan kod bloğu – Python'daki fonksiyon –

def clear_house(nükleer):
if nükleer==Doğru:
blast_zone=20
Başka:
blast_zone=0
mc.setBlocks(sol-blast_zone,player_
zemin, alt+patlama_bölgesi,sol+genişlik+patlama_
bölge, player_ground+high+blast_
zone+10,alt-uzunluk-blast_zone,air_block)

clear_house'u çağırdığımızda, nükleer parametreyi geçiyoruz. True veya False değerine sahiptir. Hedef alan çevresinde daha büyük bir hacmi temizlemek için True ile çağırmayı deneyebilir veya boşluğu evin iç boyutlarıyla sınırlamak için False ile çağırabilirsiniz. Minecraft'ta, mc.setBlocks işlevi, kullanmak istediğiniz blok türü tarafından takip edilen zıt köşelerin koordinatlarını üç boyutlu olarak geçirerek bir blok küpü oluşturmak için kullanılır. Bu örnekte bir alanı temizliyoruz, bu yüzden hava kullanıyoruz.

Alanı temizledikten sonra, inşaata geçme zamanı. Bu yapım aşamalarının her biri kendi işlevi içinde gerçekleşir. Komut dosyasının sonunda, programın her aşamasını sırayla çağırarak program akışını kontrol eden main() adlı bir işlev göreceksiniz. Fonksiyonlarımızı mantıklı bir şekilde adlandırarak ve onları main()'den çağırarak, programın ne yaptığını anlamak kolaydır:

tanım ana():
clear_house(Yanlış)
start_pos=[sol,alt,player_
zemin]
build_floor(start_pos)
kurs=build_walls(start_pos)
add_door(kapı_konumu)
zaman.uyku(gecikme*10)
build_roof(start_pos, kurs)

main() içinde çağrılan sonraki işlev zemini oluşturur – bu, mc kullanır. Bir temel oluşturmak için (sanatsal etki için) tekrar setBlocks yapın ve ardından evimizde sağlam bir zemin oluşturmak için bir blok derinliğinde bir küp yer karosu ekleyin.

itunes olmadan ipod'a şarkı koymak

Duvarları inşa etmek

build_walls işlevi programın kalbidir. Bir evin kabuğunu oluşturmanın en etkili yolu, sağlam bir küp tuğlayı tokatlamak ve ardından içini oymak için clear_house kullanmaktır. Ancak evin kendi kendini inşa ediyor gibi görünmesini istiyoruz, bu yüzden blokları birbiri ardına tek tek yerleştirmemiz gerekiyor. İşte duvar inşa kodunun basitleştirilmiş bir versiyonu:

def build_course(start_pos, yön,
kurs):
bloklar=1
current_horiz=start_pos[0]
current_vert=start_pos[1]

eğer yön==yukarı veya
yön==aşağı:
number_of_blocks=uzunluk
Başka:
number_of_blocks=genişlik

bloklar ikenmc.setBlock(current_horiz,player_
zemin+kurs,current_vert,wall_block)
eğer yön==yukarı:
current_vert-=1
elif direction==down:
current_vert+=1
elif yönü==sağ:
current_horiz+=1
Başka:

current_horiz-=1
bloklar=bloklar+1 # sonraki bloğa geç
time.sleep(gecikme)

Başlangıç ​​konumunu kaydederek başlıyoruz - bu, önceki blok dizisinden atılan son bloğun konumu olacaktır. Daha sonra, binanın uzunluğuna mı yoksa genişliğine mi bağlı olarak, kaç blok döşeneceğini belirleriz.

İnşa aşaması while bloğu içinde yer alır - bu, tüm blokları döşeyene kadar devam eder. mc.setBlock gösterilen koordinatlara tek bir blok yerleştirir, ardından döşediğimiz yöne bağlı olarak bu koordinatlardan birini artırır. Bunun etkisi, blokların bir köşeyi dönmeden ve parkur tamamlanana kadar bir dikdörtgen içinde devam etmeden önce bir duvar boyunca döşenmesidir.

roku uzaktan tv'ye nasıl bağlanır

Kodun son versiyonu, her duvara pencereler ekleyerek biraz daha ilgili. Pencereler, duvarın yarısı kadar ve ortalanacak şekilde dinamik olarak boyutlandırılmıştır. Ayrıca kapının konumunu da kaydeder; duvarlar inşa edildikten sonra eklenir. Dersler, son yüksekliğe ulaşana kadar her blok sırası için build_course işlevini tekrarlayan build_walls işlevinden kontrol edilir.

Evinizi okyanusta veya havada inşa etmeyi bile deneyebilirsiniz - bunu, uçmak için boşluk çubuğuna iki kez basarak yapın, ardından senaryoyu çalıştırmadan önce kendinizi yükseltmek için tekrar basın. Duvarları veya çatıyı altından veya aslında lavdan oluşturursanız ne olacağını görmek için wall_block ve Roof_block değişkenlerini değiştirin. Listenin tamamına bakarak kendi bloklarınızı ekleyebilirsiniz. İşte , ve ilişkili değişkeni betiğe ekleme. Yükseklik değişkeni yeterince büyük bir değere ayarlanmışsa, daha zorlu değişiklikler yapıya birden çok kat eklenmesini içerebilir. Örneğin, kuleleri nasıl ekleyeceğinizi öğrenin ve bir Minecraft kalesinin yapımına sahip olun.

Bu ince ayarlar kulağa önemsiz gelebilir, ancak 20 yılı aşkın bir süredir profesyonel olarak programlama yapıyorum ve bir kod parçası istendiği gibi çalıştığında hala heyecanlanıyorum. Daha önce hiç programlama yapmadıysanız, umarım bir şans verirsiniz - ve evde bir Minecraft hayranınız varsa, onları kodun üzerinde serbest bırakmanızı ve onları nereye götürdüğünü görmenizi öneririm. Minecraft Pi kaynaklarının bağlantılarını şu adreste bulabilirsiniz: kevpartner.co.uk/programming .

Ilginç Haberler

Editörün Seçimi

Genişletme kartları nasıl kurulur
Genişletme kartları nasıl kurulur
Birkaç yıl önce, TV tarayıcılarından ses kartlarına kadar PC'ler için her türlü genişletme kartını elimizde tutuyorduk, ancak bu günlerde daha az yaygın. Eğer bir tane varsa kurulum çok basittir.
Chromebook'unuza Yazıcı Ekleme ve Bağlama
Chromebook'unuza Yazıcı Ekleme ve Bağlama
Chrome OS ile buluta hazır ve klasik yazıcıları kullanmak mümkündür. Chromebook cihazınıza nasıl yazıcı ekleyeceğinizi adım adım öğrenin.
Chromebook'tan Bir Hesap Nasıl Kaldırılır
Chromebook'tan Bir Hesap Nasıl Kaldırılır
Chromebook'ları kullanmanın harika yanı, aynı anda birden fazla hesaba erişebilmenizdir. Ancak, Chromebook'unuzla ilişkilendirilmiş çok fazla hesabınız olduğunu fark ederseniz, bunları yönetmek ve
Steam Oyunlarını TV'ye Aktarma
Steam Oyunlarını TV'ye Aktarma
Günümüzde, Steam Link uygulaması piyasada bulunan hemen hemen her Smart TV'de mevcuttur. Ancak Steam Link ile uyumlu olmayan bir TV'niz varsa hala umut var demektir. Akış yapmanın farklı yolları var
Google Chrome'da Yeni Sekme Sayfasını Özelleştirin
Google Chrome'da Yeni Sekme Sayfasını Özelleştirin
Google Chrome'un arkasındaki ekip, Yeni Sekme sayfasını özelleştirilebilir hale getirdi, böylece kullanıcılar hızlı bir şekilde özel kısayollar ekleyebilir ve sayfa arka plan resmini değiştirebilir.
2024'te Çevrimiçi TV Programlarını Ücretsiz İzlemenin 10 Yolu
2024'te Çevrimiçi TV Programlarını Ücretsiz İzlemenin 10 Yolu
Şu anda mevcut olan yalnızca en iyi ücretsiz ve yasal TV şovu akış kaynaklarının kapsamlı bir listesi.
HP Dizüstü Bilgisayarda Donmuş Farenin Kilidini Açma
HP Dizüstü Bilgisayarda Donmuş Farenin Kilidini Açma
HP dizüstü bilgisayarda donmuş bir farenin kilidini açmak için izleme dörtgeni sorunlarını göz ardı etmeniz ve bazı düzeltmeleri denemeniz gerekir. Çalışmayan bir HP fare için bu düzeltmeleri deneyin