บทเรียนการใช้ตรรกะแดงใน Minecraft บทเรียนที่ศูนย์: พื้นฐาน
เรามาจัดการทำงานกันเถอะ และไม่ใช่แค่ทำงานธรรมดา แต่เป็นงานที่ค่อนข้างซับซ้อน น่าสนใจ และ... เอ่อ... อาจจะสนุกในระดับหนึ่ง เพราะมันเปิดเกมในมุมมองใหม่ คุณคงไม่คิดว่า Minecraft เป็นแค่ "ฟันไม้ สะสมไม้"? ใครพูดว่า "แล้วมันไม่ใช่เหรอ"? \ชี้นิ้วไปที่คน** คุณเหรอ? ที่รัก ขุดต่อไปเถอะ เราจะไม่รบกวนคุณ สำหรับคนอื่นๆ ยินดีต้อนรับเข้าสู่บทความนี้
ใช่แล้ว ค่อนข้างจะมีรูปภาพเยอะในบทความนี้ ระวังการใช้ข้อมูลด้วยนะ...
[cut]
ส่วนที่ศูนย์ บทนำ
วันนี้ (และไม่เพียงวันนี้) เราจะพูดถึง Redstone ที่ลึกลับ (ต่อไปเราจะเรียกว่า "เรดสโตน" ซึ่งอาจจะฟังไม่ค่อยสวยงาม แต่เขียนง่ายกว่า) ที่หลายคนได้พบเจอในระหว่างการสำรวจถ้ำมากมาย บางคนอาจจะ "ปลูก" เรดสโตนนี้ลงไปในพื้น แล้วเดินรอบมันเป็นเวลาสองนาที แต่ก็ยังคิดไม่ออกว่าใช้มันทำอะไร บางคนอาจจะไปอ่านในอินเทอร์เน็ตและรู้ว่าจริงๆ แล้วมันเยี่ยมมาก ดูวิดีโอใน YouTube และจริงจังกับแนวความคิดนี้ และ... แล้วก็มาหยุดที่ส่วนที่มีสเกลขนาดใหญ่ คำศัพท์ประหลาดๆ ตัวเลข ศูนย์ เห็นได้ชัด...
ดังนั้น สำหรับคนที่เข้าใจว่ามันเจ๋ง แต่ไม่เข้าใจว่าจะทำให้มัน เป็นจริง ได้อย่างไร ฉันขอมอบคู่มือที่สร้างขึ้นเองของฉัน ในการนี้ ฉันจะแบ่งเป็นบทเรียน และในระยะแรก จะต้องอดทนกับคำจำกัดความต่าง ๆ และแผนผังที่เรียบง่าย อย่างไรก็ตามต่อจากนั้น (และฉันสัญญาว่าจะทำเช่นนั้น) เราจะไปยังกลไกที่ซับซ้อนและจริงจังมากขึ้น บางที บางคนอาจพอใจเพียงแค่นี้ และทุกอย่างจะกระจ่างชัด เอาล่ะ นี่คือเหตุผลที่ต้องเขียนเรื่องนี้ ฉันจะดีใจสุด ๆ =)
โอย ไม่ลืมอะไรแล้ว ไปกันเถอะ!
ส่วนที่หนึ่ง รูปภาพ
เราจะเริ่มจากสิ่งง่ายๆ – รูปภาพ ใช่ ใช่ รูปภาพ ฉันจะแสดงให้คุณเห็นถึงส่วนประกอบของวงจรเรดสโตน (สิ่งที่เราจะสร้างในอนาคต) ที่เราจะใช้กัน
ส่วนประกอบหลัก – ทรายแดง (Redstone Dust) หรือ สายไฟ (Redstone Wire) ในวงจรนี้มันทำหน้าที่เหมือนสายไฟเชื่อมต่อ เพื่อวางสายไฟ เพียงแค่คลิกขวาบนพื้น ควรวางไว้ที่ยอดบล็อกเท่านั้น
ไฟแดง (Redstone Torch) มันมีความสำคัญมากในวงจรเรดสโตน ใช้เป็นแหล่งพลังงาน ตัวแสดงสัญญาณ และในวงจรอินเวอร์เตอร์ (เกี่ยวกับเรื่องนี้เร็วๆ นี้)
ไฟ เป็นแหล่งสัญญาณจะส่งสัญญาณ "1" ลงในวงจร ส่วนประกอบถัดไปจะทำหน้าที่เป็นสวิตช์และส่งค่าหนึ่งเมื่อเปิด / กด.
ตัวสลับ (Lever) – ในสถานะเปิด ส่งสัญญาณ "1" ไปยังสายไฟที่เชื่อมต่อ ในขณะที่ในสถานะปิด จะส่งสัญญาณ "0" ตามลำดับ
ปุ่ม (Button) – ต้องติดไว้ที่ผนัง หลังจากกดแล้วจะส่งสัญญาณเป็นเวลานาน 0.9 วินาที แล้วกลับคืนสู่ตำแหน่งที่ไม่ได้กด
แผ่นปิดด้วยหินและไม้ (Stone / Wood Pressure Plates) – แตกต่างจากปุ่มธรรมดา แผ่นปิดพื้น (ไม่น่าเชื่อ!) ถูกติดเฉพาะที่พื้นเท่านั้น และจะทำงานเมื่อมีการยืนอยู่บนมัน หลังจากที่มีคนออกจากมัน สัญญาณจะหยุดผลิตทันที ความแตกต่างระหว่างปุ่มและแผ่นปิดนั้นมีอยู่และค่อนข้างมาก แต่ในช่วงแรก เราจะไม่ต้องใช้มัน ดังนั้นไม่ต้องเครียดมาก
โดยทั่วไป สำหรับบทเรียนนี้ เราจะต้องการแค่ส่วนประกอบเหล่านี้ มาเริ่มที่ทฤษฎีกันเถอะ ส่วนที่ไม่น่าสนใจที่สุดของบทเรียนวันนี้...
ส่วนที่สอง คณิตศาสตร์เชิงอนุกรม
ใครที่คิดว่าตนเองฟันสบกันกับคำๆ นี้จนได้ยินเสียงฟันบดไปถึงนี่? อ๊ะ ฉันคิดว่าคุณนึกถึงสมการและการพิสูจน์มากมายจากวิชานี้ ไม่ ไม่ ไม่ มันจะง่ายกว่ามาก
เพื่อที่จะเข้าใจพื้นฐานการทำงานของวงจรเรดสโตน คุณต้องมีภาพรวมว่ามีอะไรเกิดขึ้นในวงจรบ้าง ดังนั้น แต่ละสายไฟและส่วนประกอบในวงจรมีสถานะได้สองสถานะ – 0 หรือ 1 ("ปิด" หรือ "เปิด" ตามลำดับ ถึงแม้ว่าจะมีการใช้งานคำว่า "เชิงลบ" และ "บวก" มากกว่า) ขึ้นอยู่กับสถานะ ส่วนประกอบที่นำไฟจะสว่างสดใสหรือไม่
สัญญาณกำลังไหลผ่านสายซ้าย ขณะที่สายขวาถูกละเลย.
ไฟทางขวากำลังมีสัญญาณ ขณะที่ทางซ้ายไม่มี.
ในวงจรมีจุดเชื่อมต่อที่ทำหน้าที่เฉพาะ จุดเชื่อมต่อดังกล่าวทำให้สัญญาณสามารถไหลต่อไปได้: ไฟ, อินเวอร์เตอร์, ผลิตสัญญาณการควบคุมและอื่น ๆ อีกมากมาย พวกมันรวมกันเป็นจุดเชื่อมต่อนใหญ่ที่ทำหน้าที่ที่ซับซ้อนยิ่งขึ้น
แล้วจะเชื่อมตัวยังไงถ้าในโลกของ Minecraft ไม่มีอุปกรณ์ไฟฟ้าเลย? ตอบง่าย: ไปยังประตู น้ำ (อย่างฉลาด แต่สามารถทำได้), รางรถไฟ, เครื่องจ่ายและบล็อกโน๊ต
จบแล้ว มันน้อยมากและหวังว่าคุณจะเข้าใจ มาสร้างกันเถอะ...
ส่วนที่สาม แล้วมันทำงานยังไง?
ง่ายมาก หยิบทรายแดงขึ้นมาแล้วคลิกสองครั้งที่พื้น คุณควรจะได้อะไรบางอย่างที่คล้ายกับนี้:
สายที่ตรงที่ทำให้สัญญาณไหลผ่านทีหลัง มันไม่จำเป็นต้องวางให้ตรงอย่างแม่นยำ สายแบบนี้ก็ใช้ได้:
โอเค หลังจากนั้นสามารถลบมันออกไป (แท้จริงแล้วคือเอาสายออก จำไว้นะ) ตอนนี้ให้ตั้งแหล่งพลังงานไว้ หยิบไฟขึ้นมาแล้วแทงมันลงในพื้น เราจะได้แบบนี้:
ด้านบน – ไฟธรรมดา ด้านล่าง – ไฟที่ทำจากเรดสโตน ความแตกต่างชัดเจน.
น maintenant มาเชื่อมไฟเข้ากับประตู สร้างประตู สร้างแล้วดึงสายเข้ามา
ก่อนที่เราจะเชื่อมสายเข้ากับประตู ประตูจะปิดอยู่:
หลังจากเชื่อมต่อเข้ากับไฟ ประตูจะเปิดออก:
เจ๋งไหม? ไม่ใช่เหรอ? จะให้ประตูเปิดตลอดเวลาทำไมกัน… โอเค เอาไฟออกแล้ววางสวิตช์แทน:
ตอนนี้เราสามารถควบคุมประตูได้ด้วยการดึงสวิตช์ เสียบสวิตช์แล้วเพลิดเพลินกับการเปิดประตู:
ด้วยสวิตช์ คุณจะสังเกตเห็นได้ง่ายว่า ประตูเปิดเมื่อสายมีสีแดงสด (“1”, สัญญาณมี) และปิดเมื่อสายเป็นสีดำ (“0”, ไม่มีสัญญาณ)
ส่วนถัดไปของเราในวันนี้คือ ปุ่มนอน มาติดปุ่มแทนสวิตช์:
ตอนนี้มายืนที่มัน:
วูวาล่า! ประตูเปิดแล้ว คุณสามารถเปิดมันได้ไม่เพียงแต่น้ำหนักของคุณ แต่ยังมีวัตถุอื่น ๆ อย่างเช่นบล็อกใด ๆ ที่ถูกโยนออกจากมือ:
สำหรับผู้ที่สงสัย:
บล็อกกดปุ่ม อะไรที่โปร่งใส
มาวางปุ่มที่ติดผนัง:
เดินไปข้างหน้าและกดมัน แล้วนับ 0.9 วินาทีแล้วดูประตูจะปิด
แล้วทำไมเราถึงใช้พลังงานกันมาก? เรามาเชื่อมประตูสองบานและทั้งสองบานเปิดด้วยการกดปุ่มที่ติดพื้น:
ทุกอย่างก็ดูดีดี...
ส่วนที่สี่ มันดีอยู่แค่ในกระดาษ...
...ถ้าสัญญาณไม่ลดทอนระหว่างการแพร่กระจายในสายไฟ เป็นอย่างไร? ก็แบบนี้:
โปรดสังเกต ในเวอร์ชันก่อน Beta 1.3 สายไฟที่มีสัญญาณจะเป็นสีแดงเสมอ ตอนนี้สีของสายไฟจะเปลี่ยนเป็นสีดำเมื่อห่างจากแหล่งต้นทาง
จำ กฎสิบห้า นี้ไว้นะ: สัญญาณจะกระจายได้เพียง 15 บล็อกจากแหล่งต้นทาง ตรวจสอบง่าย ๆ:
ตั้งอยู่ที่บล็อกที่ 16 ประตูปิดอยู่ ดังนั้นสัญญาณไม่ไปถึง (ควรจะจำไว้ว่าประตูเปิดได้เมื่อมีสัญญาณ “1”)
แล้วจะทำอย่างไร? ควรจะจำกัดอยู่แค่แบบแผน 15 บล็อก? พฮฮ… นี่ไม่ใช่วิธีของเรา เราจะเรียนรู้วิธียืดเวลาให้กับสัญญาณ (ซึ่งจะเรียกกันว่า "ชดเชยการลดทอนสัญญาณ")
โปรดสังเกต ในบทเรียนนี้พูดถึงวิธีการเก่าในการชดเชยการลดทอน หลังจาก Beta 1.3 ได้มีตัวเลือกใหม่เพิ่มขึ้น แต่นั่นเราจะพูดถึงในภายหลัง
ลบทุกอย่างแล้ววางสายไฟอย่างนี้:
เห็นได้ชัดว่าสัญญาณ "ดำ" ที่บล็อกที่ 16 ดังนั้นเราจะลบสายไฟบางส่วนออก:
แล้วที่ปลายจะตั้งอุปกรณ์อย่างนี้:
เรียกว่า "อินเวอร์เตอร์" มันจะเปลี่ยนสัญญาณ กล่าวคือ จาก 0 เป็น 1 และจาก 1 เป็น 0
เราจะต่อวงจรต่อไป และเชื่อมต่อกับอินเวอร์เตอร์ตัวนี้:
ฉันจะหมายเลขอินเวอร์เตอร์เพื่อความสะดวก:
หลักการทำงานพื้นฐาน สัญญาณของเรามีรูปแบบอย่างไรก็แล้วแต่ เลยไปจนถึงอินเวอร์เตอร์ตัวแรก และจะกลับกัน (0 → 1, 1 → 0) จากนั้นจะไปถึงอินเวอร์เตอร์ถัดไปซึ่งจะกลับมาให้ได้ค่าตั้งต้น โดยใช้ไฟซึ่งเป็นแหล่งสัญญาณ ดังนั้นสัญญาณที่ไปถึงอินเวอร์เตอร์ตัวที่สองจะมีการเปลี่ยนสัญญาณ (จำไว้ว่าฉันกล่าวแต่แรกว่าสัญญาณมีเรียกว่า “บวก” และ “ลบ”?) ที่ถูกสร้างจากไฟ โดยเริ่มนับยี่สิบบล็อกเพียงอย่างเดียว
มาทดสอบการทำงานของวงจรนี้กันบ้าง เมื่อขึ้นไปที่ปุ่มเราจะส่งสัญญาณบวกเข้าไปในวงจร:
ประตูเปิดออกแล้ว ตอนนี้ออกจากปุ่ม:
เห็นได้ชัดว่าช่วงระหว่างอินเวอร์เตอร์จะมีสีที่ตรงข้ามกับสองบล็อกอื่นๆ ในช่วงนี้ สัญญาณมีการเปลี่ยนสัญญาณ
ส่วนที่ห้า บทสรุป
และนี่แหละ ทุกอย่างในวันนี้ นี่คือแนวความคิดพื้นฐาน (…รอให้ถึงเวลานั้น… ©) ตรรกะสีแดงใน Minecraft ด้วยแนวความคิดเหล่านี้ คุณสามารถสร้างอะไรได้ง่ายๆ ตอนนี้ เช่น ประตูด้านนอกที่เปิดด้วยสวิตช์ในบังเกอร์ใต้ดินของคุณ มันเป็นเรื่องง่าย แต่สำหรับการเริ่มต้นก็เหมาะสมดี ขอให้มันเป็นการบ้านของคุณ เมื่อทำเสร็จแล้วโพสต์ภาพหรือวิดีโอของคุณ ฉันจะให้คะแนน ;)
สำหรับวันนี้ ขออนุญาตลาไปก่อน ด้วยความนับถือ, fr4ntic.
P.S. ยินดีรับ ข้อเสนอแนะ เกี่ยวกับวิธีการนำเสนอเนื้อหา.
P.P.S. ยินดีรับคำขอสำหรับบทเรียนถัดไปด้วย.
P.P.P.S. หากคุณต้องการคัดลอกสิ่งนี้ไปที่ไหนซักแห่ง (ไม่น่าเชื่อ)
แค่ระบุชื่อผู้เขียนและลิงก์ไปยังบทความนี้ก็พอ คุณทำได้อยู่แล้ว มันทำให้ฉันรู้สึกดี.