หลัก บริการสตรีมมิ่ง แฮ็ค Minecraft บน Raspberry Pi

แฮ็ค Minecraft บน Raspberry Pi



Raspberry Pi 2 เป็นอุปกรณ์ที่มีความสามารถอย่างน่าประหลาดใจเมื่อพิจารณาจากราคาที่ต่ำกว่า 30 ปอนด์ มาพร้อมกับ Minecraft เวอร์ชันที่ติดตั้งไว้ล่วงหน้าพร้อมกับ API ที่ให้คุณเขียนโค้ดเพื่อให้ทำงานในโลกเสมือนจริง คุณทำสิ่งนี้ใน Python ซึ่งง่ายต่อการเรียนรู้ การรวมกันของ Pi, Python และ Minecraft เป็นโอกาสที่ดีในการเริ่มต้นสำรวจความเป็นไปได้ของการเขียนโปรแกรม และความตื่นเต้นที่จะได้เห็นบ้านสร้างเองบนภูมิทัศน์เสมือนจริงไม่ได้มีไว้สำหรับเด็ก ๆ เท่านั้น

วิธีลบข้อความบน Android อย่างถาวร

การเขียนสคริปต์ใน Minecraft

Minecraft เป็นเกมแซนด์บ็อกซ์แบบเปิดที่ไม่มีเนื้อเรื่องให้ติดตาม บางครั้งอธิบายว่าเป็นเลโก้เสมือนจริงเนื่องจากผู้เล่นสามารถสร้างโครงสร้างแบบใดก็ได้โดยใช้บล็อกตามที่ต้องการ เวอร์ชันที่มาพร้อมกับ Raspberry Pi มีชุดคุณลักษณะที่ จำกัด ซึ่งเหมาะกับบทบาทด้านการศึกษาดังนั้นคุณจึงไม่ต้องกังวลว่าจะถูกซอมบี้ไล่ล่า การโต้ตอบกับโลกนี้ไม่จำเป็นต้องมีการตั้งค่าพิเศษมีเพียงระบบปฏิบัติการ Raspbian รุ่นล่าสุดพร้อมกับสภาพแวดล้อมการเขียนโปรแกรม ฉันเลือกใช้ Geany ซึ่งคุณสามารถติดตั้งได้โดยเปิด LXTerminal แล้วพิมพ์:

sudo apt-get ติดตั้ง geany

เริ่มต้นด้วยการสร้างสคริปต์สำหรับสร้างบ้านต่อหน้าผู้เล่น - แต่แทนที่จะตบเข้าที่เดียวเราจะสร้างภาพเคลื่อนไหว นอกจากนี้เรากำลังจะสร้างการตั้งค่าต่างๆที่สามารถกำหนดค่าได้ซึ่งจะช่วยให้ผู้เล่นสามารถทดลองกับมิติข้อมูลและวัสดุต่างๆได้ นอกจากนี้ยังจะทำให้โปรแกรมเป็นโมดูลาร์ดังนั้นจึงสามารถใช้เป็นพื้นฐานในการสร้างบ่อน้ำที่มีความซับซ้อนมากขึ้น

ในการทำให้โค้ดใช้งานได้ให้โหลดลงใน Geany จากนั้นเริ่ม Minecraft และสร้างโลกใหม่ กดแป้น Tab เพื่อปล่อยเคอร์เซอร์จากหน้าต่าง Minecraft แล้วคลิกไอคอนฟันเฟืองใน Geany (หรือกด F5) เพื่อเปิดสคริปต์ คุณควรเห็นบ้านหลังหนึ่งประกอบตัวเองอย่างน่าอัศจรรย์ ถ้าคุณไม่ทำลองหันกลับมาเพราะอาจอยู่ข้างหลังคุณ! คุณสามารถดูสคริปต์ในการดำเนินการได้ ที่นี่ . แล้วสคริปต์ทำงานอย่างไร? ก่อนอื่นจะเปิดลิงก์ไปยัง Minecraft:

นำเข้า mcpi.minecraft เป็น minecraft เวลา mc = minecraft.Minecraft.create ()

ใน Python สิ่งสำคัญคือต้องใส่ใจกับการเยื้องเนื่องจากเป็นวิธีที่โค้ดแบ่งออกเป็นบล็อก ในกรณีนี้ทั้งสองบรรทัดจะถูกล้างด้วยระยะขอบด้านซ้าย: บรรทัดแรกนำเข้าไลบรารี Minecraft และ Time และบรรทัดที่สองจะสร้างอ็อบเจ็กต์ Minecraft เพื่อให้เราใช้งานได้ตลอด 25 บรรทัดถัดไปจะกำหนดตัวแปรสองสามตัวสำหรับบล็อกที่เรากำลังจะใช้เพื่อให้เราสามารถเรียกพวกมันว่า wood_planks แทนที่จะเป็น block ID (5 ในกรณีนี้) จากนั้นเราจะระบุว่าบล็อกใดที่จะใช้สำหรับผนังซึ่งสำหรับหลังคาและอื่น ๆ เราสามารถเปลี่ยนการก่อสร้างบ้านได้อย่างง่ายดายโดยการสลับกำแพงอิฐสำหรับหินกรวดเป็นต้น สุดท้ายเรากำหนดความกว้างความยาวและความสูงของที่อยู่อาศัยที่เราต้องการ

ตอนนี้เราเรียกฟังก์ชั่น Minecraft mc.player.getTilePos () เพื่อค้นหาผู้เล่นในแนวนอนจากนั้นค่าที่กลับมาจะถูกใช้เพื่อสร้างตัวแปรสองตัวทางซ้ายและล่างเพื่ออธิบายว่ามุมแรกของที่อยู่อาศัยจะอยู่ที่ใด .

หลังจากนั้นโครงสร้างของสคริปต์จะตรงกับขั้นตอนการสร้างบ้านด้วยตนเองของ Minecraft เราเริ่มต้นด้วยการเคลียร์พื้นที่เพื่อที่ว่าหากผู้เล่นเลือกที่จะสร้างบ้านข้างในพูดว่าภูเขาพื้นที่นั่งเล่นจะไม่เป็นหินทึบ นี่คือบล็อกของโค้ดซึ่งเป็นฟังก์ชันใน Python ซึ่งทำสิ่งนี้:

def clear_house (นิวเคลียร์):
ถ้านิวเคลียร์ == จริง:
blast_zone = 20
อื่น:
blast_zone = 0
mc.setBlocks (left-blast_zone, player_
พื้นล่าง + blast_zone, ซ้าย + กว้าง + ระเบิด _
โซน player_ground + height + blast_
โซน + 10, ความยาวด้านล่าง - blast_zone, air_block)

เมื่อเราเรียก clear_house เราจะส่งผ่านพารามิเตอร์นิวเคลียร์ มีค่าเป็นจริงหรือเท็จ คุณสามารถลองโทรด้วย True เพื่อล้างระดับเสียงที่ใหญ่ขึ้นรอบ ๆ พื้นที่เป้าหมายหรือเรียกด้วย False เพื่อ จำกัด ระยะห่างให้กับขนาดภายในของบ้าน ใน Minecraft ฟังก์ชัน mc.setBlocks ถูกใช้เพื่อสร้างลูกบาศก์ของบล็อกโดยส่งผ่านพิกัดในสามมิติของมุมตรงข้ามตามด้วยประเภทบล็อกที่คุณต้องการใช้ ในกรณีนี้เรากำลังล้างช่องว่างดังนั้นเราจึงใช้อากาศ

เมื่อเคลียร์พื้นที่เรียบร้อยแล้วก็ถึงเวลาดำเนินการก่อสร้างต่อ แต่ละขั้นตอนการก่อสร้างเหล่านี้เกิดขึ้นในหน้าที่ของตัวเอง ในตอนท้ายของสคริปต์คุณจะเห็นฟังก์ชันที่เรียกว่า main () ซึ่งควบคุมโฟลว์ของโปรแกรมโดยเรียกแต่ละขั้นตอนของการสร้างตามลำดับ ด้วยการตั้งชื่อฟังก์ชั่นของเราอย่างสมเหตุสมผลและเรียกใช้จาก main () ทำให้เข้าใจได้ง่ายว่าโปรแกรมกำลังทำอะไรอยู่:

def หลัก ():
clear_house (เท็จ)
start_pos = [ซ้ายล่าง player_
พื้น]
build_floor (start_pos)
หลักสูตร = build_walls (start_pos)
add_door (door_position)
เวลานอนหลับ (ล่าช้า * 10)
build_roof (start_pos หลักสูตร)

ฟังก์ชันถัดไปที่เรียกว่าใน main () สร้างพื้น - ใช้ mc setBlocks อีกครั้งเพื่อแกะสลักฐานราก (เพื่อผลงานศิลปะ) จากนั้นเพิ่มลูกบาศก์ของกระเบื้องปูพื้นที่มีความลึกหนึ่งบล็อกเพื่อสร้างพื้นทึบในบ้านของเรา

วิธีสร้างบัญชี ig ที่สอง

การสร้างกำแพง

ฟังก์ชัน build_walls เป็นหัวใจสำคัญของโปรแกรม วิธีที่มีประสิทธิภาพที่สุดในการสร้างเปลือกของบ้านคือการตบก้อนอิฐแข็ง ๆ จากนั้นใช้ clear_house เพื่อแกะสลักการตกแต่งภายใน อย่างไรก็ตามเราต้องการให้บ้านดูเหมือนสร้างขึ้นเองดังนั้นเราจำเป็นต้องวางบล็อกทีละบล็อกทีละหลัง รหัสการสร้างกำแพงแบบเรียบง่ายมีดังนี้

def build_course (start_pos ทิศทาง
หลักสูตร):
บล็อก = 1
current_horiz = start_pos [0]
current_vert = start_pos [1]

ถ้าทิศทาง == ขึ้นหรือ
ทิศทาง == ลง:
number_of_blocks = ความยาว
อื่น:
number_of_blocks = ความกว้าง

ในขณะที่บล็อกmc.setBlock (current_horiz, player_
กราวด์ + หลักสูตร current_vert, wall_block)
ถ้าทิศทาง == ขึ้น:
current_vert- = 1
ทิศทาง elif == ลง:
current_vert + = 1
ทิศทาง elif == ขวา:
current_horiz + = 1
อื่น:

current_horiz- = 1
บล็อก = บล็อก + 1 # ย้ายไปยังบล็อกถัดไป
เวลานอนหลับ (ล่าช้า)

เราเริ่มต้นด้วยการจัดเก็บตำแหน่งเริ่มต้น - นี่คือตำแหน่งของบล็อกสุดท้ายที่วางจากบล็อกก่อนหน้า จากนั้นเราจะระบุจำนวนบล็อกที่จะวางขึ้นอยู่กับว่าเราจะวางตามความยาวของอาคารหรือความกว้างของอาคาร

ขั้นตอนการสร้างมีอยู่ในบล็อก while ซึ่งจะยังคงทำงานต่อไปจนกว่าเราจะวางบล็อกทั้งหมด mc.setBlock วางบล็อกเดียวที่พิกัดที่แสดงจากนั้นเพิ่มหนึ่งในพิกัดเหล่านั้นขึ้นอยู่กับทิศทางที่เรากำลังวาง เอฟเฟกต์คือบล็อกจะถูกวางตามกำแพงก่อนที่จะหมุนมุมและดำเนินการต่อในรูปสี่เหลี่ยมผืนผ้าจนกว่าหลักสูตรจะเสร็จสมบูรณ์

เปลี่ยนพีซีให้เป็น chromebook

เวอร์ชันสุดท้ายของโค้ดมีส่วนเกี่ยวข้องมากขึ้นเล็กน้อยโดยเพิ่มหน้าต่างให้กับแต่ละผนัง หน้าต่างมีขนาดแบบไดนามิกเพื่อให้มีความยาวครึ่งหนึ่งของผนังและอยู่ตรงกลาง นอกจากนี้ยังบันทึกตำแหน่งของประตู จะถูกเพิ่มเมื่อสร้างกำแพง หลักสูตรถูกควบคุมจากฟังก์ชัน build_walls ซึ่งทำซ้ำฟังก์ชัน build_course สำหรับแต่ละหลักสูตรของบล็อกจนกว่าจะถึงความสูงสุดท้าย

คุณสามารถลองสร้างบ้านของคุณในมหาสมุทรหรือในอากาศได้โดยกดสองครั้งที่สเปซบาร์เพื่อบินจากนั้นกดอีกครั้งเพื่อยกระดับตัวเองก่อนที่จะเรียกใช้สคริปต์ แก้ไขตัวแปร wall_block และ roof_block เพื่อดูว่าจะเกิดอะไรขึ้นถ้าคุณสร้างกำแพงหรือหลังคาจากทองคำหรือลาวา คุณสามารถเพิ่มบล็อกของคุณเองได้โดยดูรายชื่อทั้งหมด ที่นี่ และเพิ่มตัวแปรที่เกี่ยวข้องลงในสคริปต์ การปรับเปลี่ยนที่ท้าทายยิ่งขึ้นอาจรวมถึงการเพิ่มหลายชั้นในโครงสร้างหากตัวแปรความสูงถูกตั้งค่าเป็นค่าที่มากพอ หาวิธีเพิ่มป้อมปืนตัวอย่างเช่นและคุณมีรายได้ของปราสาท Minecraft

การปรับแต่งเหล่านี้อาจฟังดูไม่สำคัญ แต่ฉันเขียนโปรแกรมอย่างมืออาชีพมานานกว่า 20 ปีแล้วและฉันก็ยังรู้สึกตื่นเต้นเมื่อตัวอย่างโค้ดทำงานได้ตามที่ตั้งใจไว้ หากคุณไม่เคยตั้งโปรแกรมมาก่อนฉันหวังว่าคุณจะลองใช้งานได้และหากคุณมีแฟนเกม Minecraft อยู่ในบ้านฉันขอแนะนำให้พวกเขาคลายรหัสและดูว่าจะนำไปที่ใด คุณจะพบลิงก์ไปยังแหล่งข้อมูล Minecraft Pi ได้ที่ kevpartner.co.uk/programming .

บทความที่น่าสนใจ

ตัวเลือกของบรรณาธิการ

วิธีทำการฮาร์ดรีเซ็ตของ HTC Touch Diamond2
วิธีทำการฮาร์ดรีเซ็ตของ HTC Touch Diamond2
คุณอาจชอบฉันเมื่อประมาณห้านาทีที่แล้วพบว่าตัวเองกำลังสงสัยว่าจะทำการฮาร์ดรีเซ็ต HTC Touch Diamond2 ได้อย่างไร และคุณอาจดูคู่มือออนไลน์เหมือนฉัน แต่ปรากฎว่าคู่มือผิด
วันที่เผยแพร่คุณลักษณะและบล็อกถ่ายทอดสดของ Apple Watch Series 2 ในสหราชอาณาจักร: Apple เปิดตัว Apple Watch ที่กันน้ำได้
วันที่เผยแพร่คุณลักษณะและบล็อกถ่ายทอดสดของ Apple Watch Series 2 ในสหราชอาณาจักร: Apple เปิดตัว Apple Watch ที่กันน้ำได้
Apple ได้ประกาศการทำซ้ำ smartwatch ใหม่ - Apple Watch Series 2 ดูเหมือน (และน่าจะมีกลิ่น) เหมือนกับ Apple Watch รุ่นแรก แต่มีการอัปเดตข้อมูลจำเพาะเล็กน้อย GPS ในตัวและ
วิธีใช้การติดตามการเคลื่อนไหวใน CapCut
วิธีใช้การติดตามการเคลื่อนไหวใน CapCut
หากคุณต้องการสร้างวิดีโอแบบไดนามิกและมีส่วนร่วม คุณอาจต้องการใช้การติดตามการเคลื่อนไหว นี่คือเทคนิคที่กล้องติดตามวัตถุที่กำลังเคลื่อนที่ โชคดีที่ CapCut แอพตัดต่อวิดีโอชั้นนำใช้คุณสมบัติที่ยอดเยี่ยมนี้ นี้
รีวิว iPhone 8: ลูกกลางเจ้าเล่ห์ของตระกูล iPhone วางจำหน่ายในสี PRODUCT (RED) แล้ววันนี้
รีวิว iPhone 8: ลูกกลางเจ้าเล่ห์ของตระกูล iPhone วางจำหน่ายในสี PRODUCT (RED) แล้ววันนี้
อัปเดต: เป็นทางการแล้ว Apple ใกล้จะเปิดตัว iPhone 8 และ iPhone 8 Plus ในสีการกุศล (PRODUCT)RED iPhone 8 และ iPhone 8 Plus (PRODUCT)RED Special Edition จะวางจำหน่าย
วิธีตรึง Windows ไว้ที่ด้านบนของผู้อื่นใน Windows 10
วิธีตรึง Windows ไว้ที่ด้านบนของผู้อื่นใน Windows 10
Windows 10 มีคุณสมบัติมากมาย แต่ก็ไม่ได้นำเสนอสิ่งที่ผู้ใช้ต้องการเสมอไป เช่น การตรึงหน้าต่างไว้เหนือผู้อื่น แน่นอนว่า Windows 10 มีให้
วิธีใช้ฟังก์ชัน IF-THEN ใน Excel
วิธีใช้ฟังก์ชัน IF-THEN ใน Excel
ฟังก์ชัน IF (หรือที่เรียกว่า IF-THEN) ใน Excel ช่วยให้คุณใช้ตรรกะง่ายๆ ในการเติมข้อมูลลงในเซลล์ได้ ต่อไปนี้เป็นวิธีการใช้งานพร้อมกับตัวอย่างบางส่วน
แก้ไข: แอพและเมนูเริ่มไม่เปิดภายใต้บัญชีผู้ดูแลระบบใน Windows 10
แก้ไข: แอพและเมนูเริ่มไม่เปิดภายใต้บัญชีผู้ดูแลระบบใน Windows 10
นี่คือวิธีแก้ไขเมนูเริ่มและแอพที่ไม่เปิดภายใต้บัญชีผู้ดูแลระบบใน Windows 10