Microsoft MakeCode สำหรับ Minecraft: เรียนรู้ JavaScript ฟรีในขณะที่สนุกสนาน
รัก Minecraft และต้องการเรียนรู้การเขียนโค้ดใช่ไหม นี่คือวิธีที่ Microsoft MakeCode สำหรับ Minecraft สามารถทำให้การเรียนรู้ JavaScript เป็นเรื่องสนุก
JavaScript (JS, ECMAScript, ES) เป็นภาษาการเขียนโปรแกรมอเนกประสงค์ที่จัดหางานที่ได้รับค่าตอบแทนสูงนับพันงานทั่วโลก... ดังนั้นจึงอาจเป็นเรื่องที่น่าแปลกใจที่คุณสามารถเรียนรู้ได้โดยการเล่น Minecraft
Microsoft MakeCode สำหรับ Minecraft พยายามนำโลกแห่งการพัฒนาซอฟต์แวร์มาสู่ทุกคนด้วยโปรเจ็กต์ที่สนุกและฟรี ซึ่งจะทำให้โค้ดของคุณมีชีวิตขึ้นมาต่อหน้าต่อตาคุณในโลกแห่งบล็อก
ไมโครซอฟต์ MakeCode คืออะไร?
Microsoft MakeCode เป็นแพลตฟอร์มการเรียนรู้ที่ช่วยให้การศึกษาด้านวิทยาการคอมพิวเตอร์น่าสนใจและเข้าถึงได้โดยเฉพาะ เป็นฟรีและเป็นโอเพ่นซอร์สพร้อมวิธีการเรียนรู้ การสร้าง และการเล่นที่หลากหลาย
หากคุณเคยเล่น Minecraft มาก่อน ตัวเลือกนี้อาจดึงดูดสายตาคุณได้ คุณสามารถเรียนรู้ Python และ JavaScript ได้ในส่วนนี้ หรือใช้โปรแกรมแก้ไขบล็อกเพื่อทำงานกับตรรกะการเขียนโปรแกรมโดยไม่ต้องกังวลเกี่ยวกับโค้ด เราจะใช้ JS ในบทความนี้
บทความนี้จะแนะนำให้คุณรู้จักกับฟีเจอร์ของ MakeCode สำหรับ Minecraft โดยแจกแจงรายละเอียดโปรเจ็กต์เริ่มต้นอย่าง Chicken Rain ตลอดจนแนะนำสคริปต์ที่กำหนดเองบางส่วน โดยอันแรกจะให้คุณสลับการตั้งค่าทั่วไปได้ (เช่น สภาพอากาศหรือเวลา) และอันที่สองจะอนุญาต คุณสามารถสร้างและเล่นมินิเกมที่กำหนดเองได้
หมายเหตุ: เพื่อที่จะใช้ประโยชน์จากฟังก์ชันการทำงานเต็มรูปแบบของ MakeCode สำหรับ Minecraft คุณจะต้องมีบัญชี Minecraft Bedrock Edition (Minecraft สำหรับ Windows 10) หรือบัญชี Minecraft Education Edition
การตั้งค่า: การเชื่อมต่อโค้ดและโลกใหม่
หากต้องการซิงค์โค้ดกับไคลเอ็นต์ Minecraft ให้ดาวน์โหลดและติดตั้ง Microsoft Code Connection
เลือกรุ่น Minecraft ของคุณ จากนั้นทำตามขั้นตอนที่วางไว้ในหน้าการตั้งค่า Minecraft สำหรับ Windows 10 สำหรับ MakeCode เพื่อติดตั้งและเรียกใช้การเชื่อมต่อโค้ด
ขณะที่การเชื่อมต่อโค้ดทำงานอยู่ ให้เริ่ม Minecraft และสร้างโลกใหม่ (เล่น > โลก > สร้างใหม่ > สร้างโลกใหม่ > สร้าง) โดยเปิดใช้งานกลโกง เปิดใช้งานสูตรโกงต้องเปิดอยู่เพื่อเข้าถึงฟังก์ชันการทำงานเต็มรูปแบบของ MakeCode
เริ่มต้นโลกใหม่ของคุณและป้อนคำสั่งที่แสดงโดย Code Connection ลงในแชทเพื่อซิงค์โปรแกรมแก้ไขข้อความและไคลเอนต์เกมของคุณ
ตอนนี้ Code Connection ได้รับการตั้งค่าแล้วและโลกใหม่กำลังรอคุณอยู่ คุณก็พร้อมที่จะเริ่มต้นและเริ่มเขียนโค้ดแล้ว!
Minecraft MakeCode: ฝนไก่
โครงการแรกที่มีอยู่คือ Chicken Rain บทช่วยสอนห้าขั้นตอนนี้จะช่วยให้คุณทำความคุ้นเคยกับ MakeCode UI (เช่น โปรแกรมแก้ไขข้อความ เมนู ปุ่มเล่น และเอกสารที่เป็นประโยชน์)
นอกจากนี้เรายังจะพิจารณาเบื้องต้นเกี่ยวกับ 'ตัวแปร' และ 'ฟังก์ชัน' ซึ่งเป็นองค์ประกอบสำคัญสองประการของวิทยาการคอมพิวเตอร์ นอกจากนี้คุณยังจะมีไก่ลอยน้ำเป็นของตัวเองเมื่อคุณเขียนบทเสร็จ
อาจฟังดูเหมือนไม่มากนักหากคุณตั้งเป้าที่จะสร้างม็อดที่ครบครัน แต่การได้เห็นโค้ดของคุณมีชีวิตขึ้นมานั้นเป็นความรู้สึกที่เหลือเชื่อที่ทำให้วิศวกรหลายคนติดใจตลอดชีวิต นี่เป็นก้าวแรกของคุณ!
ตรวจสอบข้อความแจ้งก่อนที่จะคัดลอกโค้ดลงในโปรแกรมแก้ไขข้อความของคุณ นี่เป็นตัวอย่างที่ดีในการแสดงให้เห็นว่าคุณควรคิดเหมือนนักวิทยาศาสตร์คอมพิวเตอร์อย่างไร
หมายเหตุ: ไม่เข้าใจศัพท์แสงของโปรแกรมเมอร์ใช่ไหม นี่คือเอกสารโกง JavaScript
- ขั้นแรก เรา เรียกฟังก์ชันของวัตถุด้วย mobs.spawn() นี่คือวิธีที่เราระบุสิ่งที่เราต้องการให้คอมพิวเตอร์ทำ เราต้องการให้ Minecraft วางไข่เป็นกลุ่ม
- เยี่ยมมาก แต่ม็อบแบบไหนล่ะ? ที่นี่เราระบุตัวแปร—ไก่—เพื่อบอกคอมพิวเตอร์ว่าเราต้องการวางไข่กลุ่มใด
- mobs.spawn() รับพารามิเตอร์ 2 ตัว: ประเภทและตำแหน่ง mob เรายังต้องบอกคอมพิวเตอร์ว่าเราต้องการให้ม็อบวางไข่ที่ไหน เราทำสิ่งนี้ด้วย pos(0, 10, 0) โดยที่ (0, 10, 0) คือพิกัด XYZ ที่เกี่ยวข้องกับตัวละคร Minecraft ของคุณ
mobs.spawn(CHICKEN, pos(0, 10, 0))คลิกปุ่ม เล่น เพื่อเรียกใช้โค้ดของคุณ เปลี่ยนกลับไปเป็น Minecraft แล้วเงยหน้าขึ้นมอง! หากทุกอย่างเป็นไปอย่างราบรื่น คุณก็จะกลายมาเป็นเพื่อนขนนก
จะเป็นอย่างไรหากเราต้องการไก่เพิ่ม (และจริงๆ แล้ว ใครบ้างล่ะที่ไม่ต้องการ) เราควรคัดลอกและวางโค้ดนี้สองสามครั้งแล้วกด run อีกครั้ง คุณทำได้ แต่คุณไม่ควร หลักการที่ดีในการเรียนรู้ตั้งแต่เนิ่นๆ ในการเขียนโค้ดคือ "แห้ง" (อย่าทำซ้ำตัวเอง) สิ่งนี้จะทำให้คุณเป็นนักพัฒนาที่มีประสิทธิภาพมากขึ้น
หากต้องการรันโค้ดเดียวกันมากกว่าหนึ่งครั้ง เราใช้การวนซ้ำ
ลูป "for" จะเรียกใช้โค้ดที่เราใส่ไว้ข้างในเพื่อวนซ้ำมากเท่าที่เราระบุ ซึ่งในกรณีนี้คือ 100
- เริ่มต้นด้วย for() {} เครื่องหมายปีกกาใช้เพื่อกำหนดขอบเขตของลูปนี้ โค้ดใดๆ ภายในเครื่องหมายปีกกาจะถูกเรียกใช้หลายครั้ง
- เราจำเป็นต้องบอกคอมพิวเตอร์ว่าโค้ดนี้ควรรันกี่ครั้ง ภายในวงเล็บ ให้สร้างตัวแปรโดยใช้ let และตั้งค่าตัวแปรนั้นเป็น 0 จากนั้นเราระบุจำนวนครั้งที่ลูปนี้ควรรันโดยรวม i<100 สุดท้ายนี้ เราระบุสิ่งที่ควรเกิดขึ้นเมื่อสิ้นสุดการวนซ้ำแต่ละครั้ง ค่าของตัวแปรของเราจะเพิ่มขึ้นหนึ่ง (i++)
- วางโค้ดของขั้นตอนก่อนหน้าลงในวงเล็บปีกกา ต้องแน่ใจว่าได้เยื้องตามที่ระบุไว้
for (let i=0; i<100; i++) { mobs.spawn(CHICKEN, pos(0, 10, 0))}คลิกปุ่ม เล่น และสลับกลับไปเป็น Minecraft ไก่ฝน!
MakeCode สำหรับ Minecraft: สนุกยิ่งขึ้นด้วย JavaScript
ด้วยบรรทัดแรกของ JavaScript คุณสามารถเข้าถึงบทช่วยสอน MakeCode อื่นๆ มากมาย เช่น Mega Jump หรือ Save the Cake หรือสร้างเอกสารเปล่าแล้วปล่อยให้ความคิดสร้างสรรค์ไหลลื่น
มาดูสคริปต์ที่กำหนดเองเพื่อพัฒนาทักษะ JS ของเรากัน
การควบคุมเวลาและการตั้งค่าอื่นๆ
นอนดึกแล้วพลาดการดูแลฟาร์มของคุณใช่ไหม? ต้องการที่จะตั้งนาฬิกากลับ? และทำไมฝนตกตลอดเวลา? ไม่ต้องกังวล กำลังเขียนโปรแกรมเพื่อช่วยเหลือ!
player.onItemInteracted(CLOCK, function() { if(gameplay.isDaylightTime(DAY)){ gameplay.timeSet(DayTime.Night) } else { gameplay.timeSet(DayTime.Day) }})บล็อกโค้ดนี้จะแนะนำคำสั่ง if else ซึ่งเป็นส่วนสำคัญของตรรกะวิทยาการคอมพิวเตอร์
- เรียกใช้ฟังก์ชันของออบเจ็กต์ "player" ที่ทำงานเมื่อคุณโต้ตอบกับรายการบางรายการ player.onItemInteracted() ระบุรายการที่คุณต้องการใช้ ซึ่งในกรณีนี้คือ CLOCK และตั้งค่าฟังก์ชันที่จะทำงานเมื่อคุณโต้ตอบกับรายการ function() {}
- ใส่คำสั่ง if else if() {} else {} เพื่อทำหน้าที่เป็นสวิตช์เปิด/ปิด กรอกพารามิเตอร์ if(gameplay.isDayLightTime(Day)) เพื่อตรวจสอบเวลาใน Minecraft
- ใส่โค้ดที่คุณต้องการเรียกใช้ภายในวงเล็บปีกกา if {gameplay.timeSet(DayTime.Night)} จนถึงตอนนี้ โค้ดของคุณจะตรวจสอบว่าเป็น วัน หรือไม่ จากนั้นตั้งค่าเป็น กลางคืน หากเป็น
- เขียนโค้ดในส่วน else ของคุณ {gameplay.timeSet(Daytime.Day)} สมมติว่าคำสั่ง หาก ของคุณไม่ปฏิบัติตาม (ขณะนี้เป็นเวลา กลางคืน ในเกม) รหัส else ของคุณจะทำงาน
คลิกปุ่ม เล่น จากนั้นสลับไปที่ Minecraft และเข้าสู่ /gamemode 1 ในการแชท เปิดสินค้าคงคลังของคุณและวางไข่ในนาฬิกา คลิกขวาโดยมีนาฬิกาอยู่ในมือ 2-3 ครั้ง หากคุณเขียนโค้ดถูกต้อง โลกของคุณจะสลับไปมาระหว่างดวงอาทิตย์และดวงจันทร์
ความเป็นไปได้ของตรรกะเล็กๆ น้อยๆ นี้ไม่มีที่สิ้นสุด ใช้เมนูด้านซ้ายเพื่อดูคำสั่งและตัวแปรทุกประเภทที่จะเล่น ทำให้มือของคุณสกปรก ค้นหาว่าสิ่งใดใช้ได้ผลและสิ่งใดใช้ไม่ได้ (และสิ่งใดที่ดูเหมือนว่าจะได้ผลแต่ยังใช้ไม่ได้) นี่คือความหมายของการสำรวจโลกของวิทยาการคอมพิวเตอร์
MakeCode สำหรับมินิเกม Minecraft: Bat Hunter
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)นี่อาจดูค่อนข้างก้าวกระโดดจากโปรเจ็กต์ก่อนหน้านี้ แต่ไม่ต้องกังวล คุณรู้ตรรกะส่วนใหญ่ที่ใช้ในมินิเกมนี้แล้ว สิ่งที่คุณต้องทำคือเปิดใจให้กว้างและกรอกข้อมูลลงในช่องว่าง
- เรากำลังเรียกฟังก์ชัน player.onChat() เป็นการตั้งค่า วิธีนี้จะตั้งค่าโหมดเกมของคุณเป็น Survival และความยากในเกมของคุณเป็น Normal จากนั้นมอบธนูและลูกศร 64 ลูกให้กับคุณ
- ต่อไป เราตั้งค่า for วนซ้ำด้วยการเรียกใช้ฟังก์ชัน mobs.spawn() เพื่อวางไข่ในค้างคาว 32 ตัว เราใช้ randpos() เพื่อระบุระยะของตำแหน่งที่ค้างคาวสามารถวางไข่ได้ ซึ่งจะทำให้พวกมันรุมล้อมคุณอย่างไม่อาจคาดเดาได้
- ตอนนี้เราได้ตั้งค่าอัลกอริธึมการติดตามคะแนนแล้ว เริ่มต้นตัวแปร คะแนน ด้วยค่า 0 ตอนนี้สร้างฟังก์ชันที่ติดตาม 2 คะแนนต่อการลบค้างคาว เราใช้เทมเพลตลิเทอรัลเพื่อรวมข้อความสตริง ("2 คะแนน!" รวม: ) เข้ากับค่าของตัวแปร ($ {points})
- สร้างฟังก์ชันที่คล้ายกันในขั้นตอนที่ 3 เพื่อล้างคะแนนรวมของคุณ
- ตอนนี้สร้างอินสแตนซ์ที่ควรเรียกใช้ฟังก์ชันเหล่านี้ เราต้องการให้ addPoints ทำงานเมื่อค้างคาวถูกฆ่า ดังนั้นเราจึงใช้ mobs.onMobKilled(BAT, addPoints) เราต้องการให้ clearPoints ทำงานเมื่อคุณพิมพ์ "clearPoints" ในแชท
คลิก เล่น และรับคะแนนมากที่สุดเท่าที่คุณจะทำได้! ฉันแนะนำให้เล่นในห้องขนาดใหญ่ (อาจขว้างสิ่งกีดขวางเพื่อให้ค้างคาวหลบได้) เพราะการเล่นนอกบ้านทำให้ค้างคาวบินออกไปในระยะไกลได้ง่ายเกินไป
เช่นเดียวกับสคริปต์อื่นๆ ในบทช่วยสอนนี้ และโค้ดอื่นๆ ทั้งหมดที่คุณพบเจอในการเดินทางด้านวิทยาการคอมพิวเตอร์ โค้ดนี้เป็นเพียงพื้นฐานสำหรับคุณในการเพิ่มสไตล์ของคุณเอง คุณสามารถใช้ตัวจับเวลาเพื่อเพิ่มองค์ประกอบเร่งด่วนหรือกระดานคะแนนเพื่อติดตามเกมก่อนหน้าของคุณ สิ่งที่คุณสร้างนั้นถูกจำกัดด้วยความคิดสร้างสรรค์ของคุณเองเท่านั้น
MakeCode สำหรับตัวแทน Minecraft
The Agent เป็น NPC สุดเก๋ที่ให้คุณทดสอบการโต้ตอบแบบผู้เล่นหลายคนในเกมแบบผู้เล่นคนเดียว ทำงานอัตโนมัติ และอื่นๆ อีกมากมาย
MakeCode นำเสนอบทช่วยสอนพร้อมคำแนะนำสำหรับ Agent Checkers การนำทางในเขาวงกตด้วย Agent ของคุณ และยังมีซอร์สโค้ดที่เกี่ยวข้องกับ Agent มากมายที่คุณสามารถแก้ไขได้ตามที่คุณต้องการ
เจาะลึกลงไปใน JavaScript
เราหวังว่า MakeCode สำหรับ Minecraft จะกระตุ้นความสนใจในการเขียนโค้ดของคุณ! เรายืนหยัดอยู่เบื้องหลังภารกิจในการสร้างโปรแกรมเมอร์รุ่นใหม่
ในขณะที่คุณฝึกฝนวิธีการ JavaScript ที่สำคัญบางอย่าง เราได้ตรวจสอบส่วนปลายของภูเขาน้ำแข็ง JavaScript ในบทความนี้เท่านั้น หากคุณต้องการเรียนรู้ JavaScript เพื่อเตรียมพร้อมสำหรับงาน คุณควรเรียนรู้ว่า JS โต้ตอบกับเทคโนโลยีเว็บอื่นๆ เช่น HTML และ CSS อย่างไร คุณควรศึกษาโครงสร้างข้อมูลและอัลกอริธึมทั่วไปด้วย








