Minecraft için Microsoft MakeCode: Eğlenirken Ücretsiz Olarak JavaScript Öğrenin
Minecraft'ı seviyorsunuz ve kodlamayı öğrenmek mi istiyorsunuz? Minecraft için Microsoft MakeCode'un JavaScript öğrenmeyi nasıl eğlenceli hale getirebileceği aşağıda açıklanmıştır.
JavaScript (JS, ECMAScript, ES), dünya çapında binlerce yüksek maaşlı iş sağlayan çok yönlü bir programlama dilidir... dolayısıyla bunu Minecraft oynayarak öğrenebilmeniz şaşırtıcı gelebilir.
Minecraft için Microsoft MakeCode, kodunuzu bloklar dünyasında gözlerinizin önünde hayata geçiren eğlenceli, ücretsiz projelerle yazılım geliştirme dünyasını herkese ulaştırmayı amaçlıyor.
Microsoft MakeCode Nedir?
Microsoft MakeCode, bilgisayar bilimi eğitimini ilgi çekici ve erişilebilir hale getirmeye adanmış bir öğrenme platformudur. Öğrenmek, oluşturmak ve oynamak için çeşitli yöntemler içeren ücretsiz ve açık kaynaktır.
Daha önce Minecraft oynadıysanız bu seçenek dikkatinizi çekebilir. Bu bölümde Python ve JavaScript'i öğrenebilir veya kod konusunda endişelenmeden programlama mantığı üzerinde çalışmak için blok düzenleyiciyi kullanabilirsiniz. Bu yazıda JS kullanacağız.
Bu makale, ilk proje olan Chicken Rain'in ayrıntılı bir şekilde anlatılmasının yanı sıra birkaç özel komut dosyası sunarak MakeCode for Minecraft'ın özelliklerini tanıtacaktır. İlki, ortak ayarları (hava durumu veya saat gibi) değiştirmenize olanak tanırken, ikincisi, size izin verecektir. özel bir mini oyun oluşturup oynamanızı sağlar.
Not: MakeCode for Minecraft'ın tüm işlevlerinden yararlanmak için bir Minecraft Bedrock Sürümü (Windows 10 için Minecraft) veya Minecraft Eğitim Sürümü hesabına ihtiyacınız olacaktır.
Kurulum: Kod Bağlantısı ve Yeni Bir Dünya
Kodunuzu Minecraft istemcinizle senkronize etmek için Microsoft Code Connection'ı indirip yükleyin.
Minecraft sürümünüzü seçin ve ardından Code Connection'ı yükleyip çalıştırmak için Windows 10 için Minecraft MakeCode Kurulumu sayfasında belirtilen adımları izleyin.
Code Connection çalışırken, Minecraft'ı başlatın ve hilelerin etkin olduğu yeni bir dünya yaratın (Oyna > Dünyalar > Yeni Yarat > Yeni Dünya Yarat > Yarat). MakeCode'un tüm işlevlerine erişebilmek için Hileleri Etkinleştir'in açık olması gerekir.
Yeni dünyanızı başlatın ve metin düzenleyicinizi ve oyun istemcinizi senkronize etmek için Code Connection tarafından görüntülenen komutu sohbete girin.
Artık Kod Bağlantısı kurulduğuna ve yeni bir dünya sizi beklediğine göre, içeri girip kodlamaya başlamaya hazırsınız!
Minecraft MakeCode: Tavuk Yağmuru
Mevcut ilk proje Chicken Rain'dir. Bu beş adımlı eğitim, MakeCode kullanıcı arayüzünü (metin düzenleyici, menü, Oynat düğmesi ve faydalı belgeler gibi) tanımanıza yardımcı olacaktır.
Ayrıca bilgisayar biliminin iki temel yapı taşı olan 'değişkenlere' ve 'işlevlere' temel bir bakış atacağız. Ayrıca senaryoyu yazmayı bitirdiğinizde kendi yüzen tavuk seline de sahip olacaksınız.
Tam teşekküllü modlar oluşturmaya odaklanmışsanız bu kulağa çok fazla gelmeyebilir, ancak kodunuzun hayata geçtiğini görmek birçok mühendisin ömür boyu bağımlısı olacağı inanılmaz bir duygudur. Bu sizin ilk adımınız!
Kodu metin düzenleyicinize kopyalamadan önce istemi inceleyin. Bu, bir bilgisayar bilimcisi gibi nasıl düşünmeniz gerektiğini gösteren güzel bir örnek.
Not: Programcının dilini anlamıyor musunuz? İşte bir JavaScript hile sayfası.
- Öncelikle mobs.spawn() ile bir nesnenin işlevini çağırırız. Bilgisayarın ne yapmasını istediğimizi bu şekilde belirliyoruz. Minecraft'ın bir mafya yaratmasını istiyoruz.
- Harika ama ne tür bir mafya? Burada bilgisayara hangi mob'u yaratmak istediğimizi söylemek için bir değişken (CHICKEN) belirliyoruz.
- mobs.spawn() iki parametre alır: mafya türü ve konumu. Hala bilgisayara çetenin nerede ortaya çıkmasını istediğimizi söylememiz gerekiyor. Bunu pos(0, 10, 0) ile yaparız; burada (0, 10, 0), Minecraft karakterinize göre XYZ koordinatlarıdır.
mobs.spawn(CHICKEN, pos(0, 10, 0))Kodunuzu çalıştırmak için Oynat düğmesini tıklayın. Minecraft'a geri dönün ve yukarı bakın! Her şey yolunda giderse tüylü bir arkadaş doğurmuş olursunuz.
Ya daha fazla tavuk istiyorsak (ve dürüst olmak gerekirse kim istemez ki?) Bu kodu birkaç kez kopyalayıp yapıştırdıktan sonra tekrar çalıştır tuşuna mı basmalıyız? Evet, yapabilirsiniz ama yapmamalısınız; kodlamanın erken dönemlerinde öğrenilmesi gereken iyi bir mantra "KURU"dur (Kendinizi Tekrar Etmeyin). Bu sizi daha verimli bir geliştirici yapacaktır.
Aynı kodu birden fazla çalıştırmak için döngü kullanırız.
Bir "for" döngüsü, içine koyduğumuz kodu belirttiğimiz sayıda yineleme (bu durumda 100) boyunca çalıştırır.
- for() { ile başlayın. Süslü parantezler bu döngünün kapsamını tanımlamak için kullanılır; parantezlerin içindeki herhangi bir kod birden çok kez çalıştırılır.
- Bu kodun kaç kez çalışması gerektiğini bilgisayara söylememiz gerekiyor. Parantez içinde let kullanarak bir değişken oluşturun ve bu değişkeni 0 olarak ayarlayın. Daha sonra i<100'ü dahil ederek bu döngünün kaç kez çalışması gerektiğini belirtiyoruz. Son olarak, her yinelemenin sonunda ne olması gerektiğini belirtiriz; değişkenimizin değeri bir birim artacaktır (i++).
- Önceki adımın kodunu süslü parantezlerin içine yapıştırın. Belirtildiği gibi girinti yaptığınızdan emin olun.
for (let i=0; i<100; i++) { mobs.spawn(CHICKEN, pos(0, 10, 0))}Oynat düğmesini tıklayın ve Minecraft'a geri dönün. Tavuk Yağmuru!
Minecraft için MakeCode: JavaScript ile Daha Eğlenceli
JavaScript'in ilk satırları elinizin altında olduğundan Mega Jump veya Save the Cake gibi diğer MakeCode eğitimlerine erişebilir veya boş bir belge oluşturup yaratıcılığınızın akmasına izin verebilirsiniz.
JS becerilerimiz üzerinde çalışmak için bazı özel komut dosyalarına göz atalım.
Zamanı ve Diğer Ayarları Kontrol Etme
Çok geç uyuyup çiftliğinizle ilgilenmeyi özlüyor musunuz? Saatleri geri almak ister misiniz? Peki neden sürekli yağmur yağıyor? Endişelenmeyin, kurtarmaya programlıyoruz!
player.onItemInteracted(CLOCK, function() { if(gameplay.isDaylightTime(DAY)){ gameplay.timeSet(DayTime.Night) } else { gameplay.timeSet(DayTime.Day) }})Bu kod bloğu, bilgisayar bilimi mantığının temelini oluşturan if else ifadesini tanıtmaktadır.
- Belirli bir öğeyle etkileşimde bulunduğunuzda çalışan "player" nesnesinin işlevini (player.onItemInteracted()) çağırın. Kullanmak istediğiniz öğeyi (bu örnekte bir SAAT) belirtin ve function() { öğesiyle etkileşimde bulunduğunuzda çalışacak işlevi ayarlayın.
- Açma/kapama anahtarı görevi görecek bir if else if() {} else {} ifadesini ekleyin. Minecraft'ta saatin kaç olduğunu kontrol etmek için if(gameplay.isDayLightTime(Day)) parametrelerini doldurun.
- if süslü parantezlerin {gameplay.timeSet(DayTime.Night) içine çalıştırmak istediğiniz kodu ekleyin. Şu ana kadar kodunuz Gündüz olup olmadığını kontrol ediyor ve eğer öyleyse Gece olarak ayarlıyor.
- Kodu else bölümünüze {gameplay.timeSet(Daytime.Day) yazın. Diyelim ki if ifadeniz yerine getirilmedi (şu anda oyunda Gece zamanı) — else kodunuz çalışacaktır.
Oynat düğmesini tıklayın, ardından Minecraft'a geçin ve sohbete /gamemode 1 yazın; Envanterinizi açın ve bir saatte ortaya çıkın. Elinizde saat varken birkaç kez sağ tıklayın. Kodu doğru yazdıysanız dünyanız güneş ve ay arasında geçiş yapacaktır.
Bu mantığın olasılıkları sonsuzdur. Oynamak için her türlü komutu ve değişkeni görüntülemek için soldaki menüyü kullanın. Ellerinizi kirletin; Neyin işe yarayıp neyin yaramadığını (ve görünüşte işe yarayıp da neyin yaramadığını) öğrenin. Bilgisayar bilimi dünyasını keşfetmenin anlamı budur.
Minecraft Mini oyunu için MakeCode: Yarasa Avcısı
player.onChat("batHunt", function () { gameplay.setGameMode( SURVIVAL, mobs.target(LOCAL_PLAYER) ) gameplay.setDifficulty(NORMAL) mobs.give( mobs.target(NEAREST_PLAYER), BOW, 1 ) mobs.give( mobs.target(NEAREST_PLAYER), ARROW, 64 ) for (let i=0; i<32; i++) { mobs.spawn(BAT, randpos( pos(-5, 0, -8), pos(5, 0, 5) )) }})
let points = 0
let addPoints = function () { points += 1 player.say(`2 Points! Total: ${points}`)}let clearPoints = function () { points = 0 player.say("Points Cleared.")}
mobs.onMobKilled(BAT, addPoints)player.onChat("clearPoints", clearPoints)Bu, önceki projelere göre oldukça büyük bir sıçrama gibi görünebilir ancak endişelenmeyin; Bu mini oyunun mantığının çoğunu zaten biliyorsunuz. Tek yapmanız gereken açık fikirli olmak ve boşlukları doldurmak.
- Kurulum olarak bir player.onChat() işlevini çağırıyoruz. Bu, oyun modunuzu Hayatta Kalma'ya ve oyun zorluk derecenizi Normal'e ayarlayacak, ardından size bir Yay ve 64 ok sağlayacaktır.
- Daha sonra, 32 yarasada ortaya çıkacak mobs.spawn() işlev çağrısıyla bir for döngüsü oluşturduk. Yarasaların ortaya çıkabileceği konum aralığını belirtmek için Randpos()'u kullanırız. Bu, yarasaların etrafınızda tahmin edilemeyecek şekilde kaynaşmalarına neden olur.
- Şimdi nokta takip algoritmasını kuruyoruz. 0 değerine sahip bir puan değişkeni başlatın. Şimdi yarasanın alt edilmesi başına 2 noktayı izleyen bir işlev oluşturun. Dize metnini ("2 puan!" Toplam: ) bir değişkenin değeriyle ($ {points}) birleştirmek için bir şablon değişmez değeri kullanırız.
- Puan toplamınızı temizlemek için 3. adımdakine benzer bir işlev oluşturun.
- Şimdi bu işlevlerin çalışması gereken örnekleri oluşturun. Bir yarasa öldürüldüğünde addPoints'in çalışmasını istiyoruz, bu nedenle mobs.onMobKilled(BAT, addPoints)'i kullanıyoruz. Sohbete "clearPoints" yazdığınızda clearPoints'in çalışmasını istiyoruz.
Oynat'ı tıklayın ve mümkün olduğu kadar çok puan kazanın! Büyük bir odada oynamanızı öneririm (yarasaların geride kalabilmesi için bazı engeller koyabilirsiniz) çünkü dışarıda oynamak yarasaların uzaklara uçmasını çok kolaylaştırır.
Bu eğitimdeki diğer komut dosyalarında ve bilgisayar bilimi yolculuğunuzda karşılaştığınız diğer tüm kodlarda olduğu gibi, bu kod, kendi becerilerinizi eklemeniz için yalnızca bir temel oluşturur. Aciliyet unsurları eklemek için bir zamanlayıcı veya önceki oyunlarınızı takip etmek için bir puan tablosu uygulayabilirsiniz; inşa ettiğiniz şey yalnızca kendi yaratıcılığınızla sınırlıdır.
Minecraft Temsilcisi için MakeCode
Agent, tek oyunculu oyununuzda çok oyunculu etkileşimleri test etmenize, görevleri otomatikleştirmenize ve çok daha fazlasına olanak tanıyan şık bir NPC'dir.
MakeCode, Agent Checker'lar için Agent'ınızla bir labirentte gezinmek için rehberli eğitimler sağlar ve ayrıca istediğiniz gibi değiştirebileceğiniz Agent ile ilgili çok sayıda kaynak koduna sahiptir.
JavaScript'i Daha Derinlemesine İnceleyin
Minecraft için MakeCode'un kodlama ilginizi çekeceğini umuyoruz! Yeni nesil programcılar yaratma misyonunun arkasındayız.
Siz bazı önemli JavaScript yöntemlerini uygularken, biz bu makalede yalnızca JavaScript buzdağının görünen kısmını inceledik. İşe hazır olmak için JavaScript öğrenmek istiyorsanız JS'nin HTML ve CSS gibi diğer web teknolojileriyle nasıl etkileşime girdiğini öğrenmelisiniz. Ortak veri yapıları ve algoritmalar üzerinde de çalışmanız akıllıca olacaktır.








