Κύριος Υπηρεσίες Ροής Hacking Minecraft στο Raspberry Pi

Hacking Minecraft στο Raspberry Pi



Το Raspberry Pi 2 είναι μια εκπληκτικά ικανή συσκευή, λαμβάνοντας υπόψη την τιμή κάτω των 30 £. Έρχεται με μια έκδοση του Minecraft προεγκατεστημένο, μαζί με ένα API που σας επιτρέπει να γράφετε κώδικα για εκτέλεση στον εικονικό κόσμο. Το κάνετε αυτό στο Python, το οποίο είναι εύκολο να το μάθετε. Ο συνδυασμός των Pi, Python και Minecraft παρέχει μια εξαιρετική ευκαιρία να ξεκινήσετε να εξερευνάτε τις δυνατότητες προγραμματισμού. Και η συγκίνηση να βλέπεις ένα σπίτι να χτίζεται σε ένα εικονικό τοπίο δεν είναι μόνο για παιδιά.

πώς να απενεργοποιήσετε τα σχόλια στο χρονοδιάγραμμα του facebook

Σενάριο στο Minecraft

Το Minecraft είναι ένα ανοιχτό παιχνίδι με άμμο που δεν έχει γραμμή πλοκής για να ακολουθήσει. Μερικές φορές περιγράφεται ως εικονικό Lego, καθώς ο παίκτης μπορεί να κατασκευάσει κάθε είδους δομή χρησιμοποιώντας τα μπλοκ που έχουν στη διάθεσή τους. Η έκδοση που συνδυάζεται με το Raspberry Pi έχει ένα περιορισμένο σύνολο χαρακτηριστικών που ταιριάζει στον εκπαιδευτικό της ρόλο - οπότε δεν χρειάζεται να ανησυχείτε για το να κυνηγηθείτε από ζόμπι, για παράδειγμα. Η αλληλεπίδραση με αυτόν τον κόσμο δεν απαιτεί καμία ειδική ρύθμιση, μόνο μια πρόσφατη έκδοση του Raspbian OS και ένα περιβάλλον προγραμματισμού. Θα προτιμούσα το Geany, το οποίο μπορείτε να εγκαταστήσετε ανοίγοντας το LXTerminal και πληκτρολογώντας:

sudo apt-get εγκατάσταση geany

Ας ξεκινήσουμε δημιουργώντας ένα σενάριο για την οικοδόμηση ενός σπιτιού μπροστά από τον παίκτη - αλλά αντί να χτυπάμε ένα στη θέση του, θα το κάνουμε εμψυχωμένο. Θα δημιουργήσουμε επίσης διάφορες διαμορφώσιμες ρυθμίσεις, οι οποίες θα επιτρέψουν στον παίκτη να πειραματιστεί με διαφορετικές διαστάσεις και υλικά. Αυτό θα κάνει επίσης το πρόγραμμα αρθρωτό, ώστε να μπορεί να χρησιμοποιηθεί ως βάση για τη δημιουργία πιο εξελιγμένων πηγών.

Για να λειτουργήσει ο κώδικας, φορτώστε τον στο Geany και, στη συνέχεια, ξεκινήστε το Minecraft και δημιουργήστε έναν νέο κόσμο. Πατήστε το πλήκτρο Tab για να απελευθερώσετε τον κέρσορα από το παράθυρο Minecraft και κάντε κλικ στο εικονίδιο γραναζιού στο Geany (ή πατήστε F5) για να ξεκινήσει το σενάριο. Θα πρέπει να δείτε ένα σπίτι μαγικά να συναρμολογείται. Εάν όχι, δοκιμάστε να γυρίσετε - μπορεί να είναι πίσω σας! Μπορείτε να δείτε το σενάριο σε δράση εδώ . Πώς λειτουργεί λοιπόν το σενάριο; Λοιπόν, πρώτα ανοίγει έναν σύνδεσμο για το Minecraft:

εισαγωγή mcpi.minecraft ως minecraft, time mc = minecraft.Minecraft.create ()

Στο Python, είναι σημαντικό να δώσετε προσοχή στην εσοχή, καθώς έτσι ο κώδικας χωρίζεται σε μπλοκ. Σε αυτήν την περίπτωση, και οι δύο γραμμές είναι επίπεδες με το αριστερό περιθώριο: η πρώτη γραμμή εισάγει τις βιβλιοθήκες Minecraft και Time και η δεύτερη δημιουργεί ένα αντικείμενο Minecraft για να το χρησιμοποιήσουμε σε ολόκληρο. Οι επόμενες 25 γραμμές ορίζουν μερικές μεταβλητές για τα μπλοκ που πρόκειται να χρησιμοποιήσουμε, ώστε να μπορούμε να τα αναφέρουμε ως, ας πούμε, σανίδες ξύλου και όχι με το αναγνωριστικό μπλοκ (5, σε αυτήν την περίπτωση). Στη συνέχεια υποδεικνύουμε ποια από αυτά τα μπλοκ θα χρησιμοποιηθούν για τους τοίχους, ποια για την οροφή και ούτω καθεξής. Μπορούμε εύκολα να αλλάξουμε την κατασκευή του σπιτιού εντελώς, αλλάζοντας τούβλα τοίχους για λιθόστρωτο, για παράδειγμα. Τέλος, ορίζουμε το πλάτος, το μήκος και το ύψος της επιθυμητής κατοικίας μας.

Τώρα καλούμε τη συνάρτηση Minecraft mc.player.getTilePos () για να εντοπίσετε τη συσκευή αναπαραγωγής στο τοπίο και οι τιμές που επιστρέφουν στη συνέχεια χρησιμοποιούνται για τη δημιουργία δύο μεταβλητών, αριστερά και κάτω, για να περιγράψουν πού θα είναι η πρώτη γωνία της κατοικίας .

Στη συνέχεια, η δομή του σεναρίου ταιριάζει με τη διαδικασία Minecraft της χειροκίνητης οικοδόμησης ενός σπιτιού. Ξεκινάμε με την εκκαθάριση ενός χώρου, ώστε εάν ο παίκτης επιλέξει να χτίσει το σπίτι μέσα, ας πούμε, ένα βουνό, το σαλόνι δεν θα είναι συμπαγής πέτρα. Εδώ είναι το μπλοκ του κώδικα - η λειτουργία στο Python - το κάνει αυτό:

def clear_house (πυρηνικό):
εάν πυρηνικό == Αληθινό:
blast_zone = 20
αλλού:
blast_zone = 0
mc.setBlocks (αριστερή-έκρηξη_ ζώνη, player_
έδαφος, κάτω + έκρηξη_ζώνη, αριστερά + πλάτος + έκρηξη_
ζώνη, player_ground + ύψος + ύψος
ζώνη + 10, κάτω-έκρηξη-ζώνη, μπλοκ αέρα)

Όταν ονομάζουμε clear_house, περνάμε την παράμετρο πυρηνική. Έχει την τιμή True ή False. Μπορείτε να δοκιμάσετε να το καλέσετε με True για να καθαρίσετε έναν μεγαλύτερο όγκο γύρω από την περιοχή προορισμού ή να το καλέσετε με False για να περιορίσετε την απόσταση στις εσωτερικές διαστάσεις του σπιτιού. Στο Minecraft, η συνάρτηση mc.setBlocks χρησιμοποιείται για να δημιουργήσει έναν κύβο μπλοκ περνώντας από αυτόν τις συντεταγμένες, σε τρεις διαστάσεις, αντίθετων γωνιών ακολουθούμενες από τον τύπο μπλοκ που θέλετε να χρησιμοποιήσετε. Σε αυτήν την περίπτωση εκκαθαρίζουμε ένα χώρο, οπότε χρησιμοποιούμε αέρα.

Μόλις εκκαθαρίσουμε το χώρο, ήρθε η ώρα να προχωρήσουμε στην κατασκευή. Κάθε ένα από αυτά τα στάδια κατασκευής πραγματοποιείται με τη δική του λειτουργία. Στο τέλος του σεναρίου, θα δείτε μια συνάρτηση που ονομάζεται main (), η οποία ελέγχει τη ροή του προγράμματος καλώντας κάθε φάση κατασκευής με τη σειρά. Ονομάζοντας τις λειτουργίες μας λογικά και καλώντας τις από το main (), είναι εύκολο να κατανοήσουμε τι κάνει το πρόγραμμα:

def main ():
clear_house (ψεύτικο)
start_pos = [αριστερά, κάτω, player_
έδαφος]
build_floor (start_pos)
μάθημα = build_walls (start_pos)
add_door (θέση_ πόρτας)
time.sleep (καθυστέρηση * 10)
build_roof (start_pos, μάθημα)

Η επόμενη συνάρτηση που ονομάζεται main () χτίζει το πάτωμα - αυτό χρησιμοποιεί mc. setBlocks ξανά για να χαράξουμε ένα θεμέλιο (για καλλιτεχνικό αποτέλεσμα) και στη συνέχεια να προσθέσουμε έναν κύβο πλακιδίων δαπέδου με βάθος ενός μπλοκ για να δημιουργήσουμε ένα συμπαγές δάπεδο στο σπίτι μας.

κανένας ουρανός τι να κάνει

Χτίζοντας τους τοίχους

Η λειτουργία 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 # μετακινηθείτε στο επόμενο μπλοκ
time.sleep (καθυστέρηση)

Ξεκινάμε με την αποθήκευση της αρχικής θέσης - αυτή θα είναι η θέση του τελευταίου μπλοκ που τοποθετήθηκε από την προηγούμενη σειρά μπλοκ. Στη συνέχεια, καθορίζουμε πόσα τετράγωνα θα τοποθετηθούν, ανάλογα με το αν πηγαίνουμε κατά μήκος του κτιρίου ή του πλάτους του.

Η φάση οικοδόμησης περιλαμβάνεται στο μπλοκ while - αυτό συνεχίζει να τρέχει μέχρι να τοποθετήσουμε όλα τα μπλοκ. Το mc.setBlock τοποθετεί ένα μόνο μπλοκ στις συντεταγμένες που εμφανίζονται και, στη συνέχεια, αυξάνει μία από αυτές τις συντεταγμένες ανάλογα με την κατεύθυνση στην οποία βάζουμε. Το αποτέλεσμα είναι ότι τα μπλοκ τοποθετούνται κατά μήκος ενός τοίχου πριν γυρίσουν μια γωνία και συνεχίσουν σε ένα ορθογώνιο μέχρι να ολοκληρωθεί η πορεία.

πώς να αλλάξετε τα παράθυρα θέσης αντιγράφων ασφαλείας iphone 10

Η τελική έκδοση του κώδικα είναι λίγο πιο εμπλεκόμενη, προσθέτοντας παράθυρα σε κάθε τοίχο. Τα παράθυρα έχουν δυναμικό μέγεθος έτσι ώστε να έχουν το μισό μήκος του τοίχου και στο κέντρο. Καταγράφει επίσης τη θέση για την πόρτα. προστίθεται μόλις χτιστούν οι τοίχοι. Τα μαθήματα ελέγχονται από τη συνάρτηση build_walls, η οποία επαναλαμβάνει τη συνάρτηση build_course για κάθε πορεία μπλοκ μέχρι να φτάσει στο τελικό ύψος.

Θα μπορούσατε να δοκιμάσετε ακόμη και να χτίσετε το σπίτι σας στον ωκεανό ή στον αέρα - κάντε το με διπλό πάτημα του πλήκτρου διαστήματος για να πετάξετε και, στη συνέχεια, πατήστε ξανά για να σηκώσετε τον εαυτό σας πριν εκτελέσετε το σενάριο. Αλλάξτε τις μεταβλητές wall_block και roof_block για να δείτε τι θα συμβεί εάν δημιουργήσετε τοίχους ή στέγη από χρυσό ή, πράγματι, λάβα. Μπορείτε να προσθέσετε τα δικά σας μπλοκ ανατρέχοντας στην πλήρη λίστα εδώ και προσθέτοντας τη σχετική μεταβλητή στο σενάριο. Οι πιο απαιτητικές τροποποιήσεις μπορεί να περιλαμβάνουν την προσθήκη πολλαπλών ορόφων στη δομή εάν η μεταβλητή ύψους έχει οριστεί σε αρκετά μεγάλη τιμή. Εξετάστε πώς μπορείτε να προσθέσετε πυργίσκους, για παράδειγμα, και έχετε τα προσόντα ενός κάστρου Minecraft.

Αυτά τα τσιμπήματα μπορεί να ακούγονται ασήμαντα, αλλά προγραμματίζω επαγγελματικά για περισσότερα από 20 χρόνια και εξακολουθώ να αισθάνομαι ενθουσιασμό όταν ένα απόσπασμα κώδικα λειτουργεί όπως είχε προβλεφθεί. Εάν δεν έχετε προγραμματίσει ποτέ πριν, ελπίζω να το δοκιμάσετε - και εάν έχετε έναν ανεμιστήρα Minecraft στο νοικοκυριό, προτείνω να τους αφήσετε χαλαρούς στον κώδικα και να δείτε πού τους παίρνει. Θα βρείτε συνδέσμους προς τους πόρους του Minecraft Pi στη διεύθυνση kevpartner.co.uk/ προγραμματισμός .

Ενδιαφέροντα Άρθρα

Επιλογή Συντάκτη

Το Instagram κατέχει τις εικόνες και τις φωτογραφίες που δημοσιεύετε;
Το Instagram κατέχει τις εικόνες και τις φωτογραφίες που δημοσιεύετε;
Το Instagram είναι ένα απίστευτα επιτυχημένο κοινωνικό δίκτυο, ένα με περισσότερους από ένα δισεκατομμύριο χρήστες και την οικονομική υποστήριξη του Facebook. Είναι μια καθημερινή και ουσιαστική εφαρμογή για εκατομμύρια χρήστες σε όλο τον κόσμο, μια που έχει γίνει πανταχού παρούσα
Πώς να λάβετε την ημερομηνία εγκατάστασης των Windows 8.1
Πώς να λάβετε την ημερομηνία εγκατάστασης των Windows 8.1
Συχνά, υπάρχουν φορές που μπορεί να θέλετε να μάθετε πότε ακριβώς το αντίγραφο των Windows 8.1 ή των Windows 8 ή των Windows 7 εγκαταστάθηκε στον υπολογιστή σας. Μπορείτε να λάβετε αυτές τις πληροφορίες χρησιμοποιώντας ενσωματωμένα εργαλεία των Windows. Διαβάστε αυτό το άρθρο για να δείτε έναν απλό τρόπο για να δείτε την ηλικία των Windows σας
Πώς να ενεργοποιήσετε τους γονικούς ελέγχους στο Chrome
Πώς να ενεργοποιήσετε τους γονικούς ελέγχους στο Chrome
Το Google Chrome είχε μια λειτουργία «εποπτευόμενου λογαριασμού». Θα μπορούσατε να αποκτήσετε πρόσβαση σε αυτήν τη λειτουργία μέσω των ρυθμίσεων του Chrome και να δημιουργήσετε ένα ξεχωριστό προφίλ με διάφορους περιορισμούς για το παιδί σας. Ωστόσο, η Google ακύρωσε αυτήν τη δυνατότητα το 2018 και εισήγαγε ένα
Πώς να αποκτήσετε μια πυξίδα για διαφυγή από το Tarkov
Πώς να αποκτήσετε μια πυξίδα για διαφυγή από το Tarkov
Μια πυξίδα μπορεί να είναι εξαιρετικά χρήσιμη στην επικοινωνία με τους συναδέλφους σας στο Escape from Tarkov. Εάν ενοχλείτε εξηγώντας μια τοποθεσία από την εμφάνιση του τοπίου, διαβάστε για να μάθετε πώς να αποκτήσετε πυξίδα
Ενεργοποίηση σάρωσης αρχείων αρχείων με Windows Defender στα Windows 10
Ενεργοποίηση σάρωσης αρχείων αρχείων με Windows Defender στα Windows 10
Μπορείτε να ενεργοποιήσετε τη σάρωση αρχείων αρχείων με το Windows Defender στα Windows 10 για καλύτερη ασφάλεια και προστασία. Όλα τα συμπιεσμένα αρχεία ...
Αρχεία ετικετών: Windows 10 Anniversary Update internet αργή
Αρχεία ετικετών: Windows 10 Anniversary Update internet αργή
Αλλάξτε το χρονικό όριο ειδοποιήσεων στα Windows 8 και Windows 8.1
Αλλάξτε το χρονικό όριο ειδοποιήσεων στα Windows 8 και Windows 8.1
Τα Windows 8 διαθέτουν μια νέα ειδοποίηση τοστ σε στυλ μετρό που εμφανίζεται για πολλές εκδηλώσεις και δραστηριότητες που κάνετε στον υπολογιστή σας. Για παράδειγμα, εάν έχετε εγκαταστήσει κάποια νέα εφαρμογή, έχετε λάβει ένα μήνυμα ηλεκτρονικού ταχυδρομείου στην εφαρμογή Metro Mail ή μόλις τοποθετήσατε μια μονάδα flash USB, τότε θα εμφανιστεί το ακόλουθο αναδυόμενο μήνυμα ειδοποίησης