Κύριος Υπηρεσίες Ροής 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/ προγραμματισμός .

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

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

9 καλύτερα δωρεάν πρότυπα κινδύνου
9 καλύτερα δωρεάν πρότυπα κινδύνου
Προσαρμόστε αυτά τα εντελώς δωρεάν και εύχρηστα πρότυπα Jeopardy και χρησιμοποιήστε τα για να διδάξετε τους μαθητές ή να αξιολογήσετε με ένα διασκεδαστικό παιχνίδι Jeopardy.
Πώς να αλλάξετε το Crosshair στο CSGO
Πώς να αλλάξετε το Crosshair στο CSGO
Η αλλαγή σταυρόνημα μπορεί να κάνει τεράστια διαφορά στον τρόπο που αντιμετωπίζετε το CSGO. Φυσικά, το προεπιλεγμένο CSGO crosshair λειτουργεί καλά, αλλά υπάρχουν πολλές άλλες διαθέσιμες επιλογές. Σε αυτό το άρθρο, θα σας διδάξουμε πώς να τροποποιήσετε το
Πώς να εγκαταστήσετε μη αυτόματα τις ενημερώσεις των Windows 10
Πώς να εγκαταστήσετε μη αυτόματα τις ενημερώσεις των Windows 10
Ακολουθεί μια μέθοδος που θα σας επιτρέψει να εγκαταστήσετε ενημερώσεις όταν τις ελέγχετε χειροκίνητα στα Windows 10. Αυτό θα απενεργοποιήσει τις αυτόματες ενημερώσεις.
Τι είναι μια προεπιλεγμένη πύλη στη δικτύωση;
Τι είναι μια προεπιλεγμένη πύλη στη δικτύωση;
Μια προεπιλεγμένη πύλη είναι μια συσκευή υλικού που διευκολύνει την επικοινωνία μεταξύ των δικτύων. Η προεπιλεγμένη πύλη συχνά συνδέει το τοπικό δίκτυο στο διαδίκτυο.
Πώς να αλλάξετε τη φωτεινότητα στα Windows 11
Πώς να αλλάξετε τη φωτεινότητα στα Windows 11
Προσαρμόστε τη φωτεινότητα στις εσωτερικές οθόνες των Windows 11 μέσω των Γρήγορων ρυθμίσεων. Οι χρήστες επιτραπέζιων υπολογιστών και οι υπολογιστές με εξωτερική οθόνη πρέπει να χρησιμοποιούν μια εφαρμογή τρίτου κατασκευαστή.
Πώς να φτιάξετε μια συμπληρώσιμη φόρμα PDF χωρίς Acrobat
Πώς να φτιάξετε μια συμπληρώσιμη φόρμα PDF χωρίς Acrobat
https://www.youtube.com/watch?v=EHEgC_CSuZw Είτε θέλετε να δημιουργήσετε ένα γεμάτο PDF για εργασία, σχολείο ή μόνο για τον εαυτό σας, χρειάζεστε τα κατάλληλα εργαλεία για να το κάνετε. Το πιο δημοφιλές λογισμικό που σας επιτρέπει να διαβάσετε, να δημιουργήσετε
Αρχείο ετικετών: τα παράθυρα 10 καταργούν το υδατογράφημα
Αρχείο ετικετών: τα παράθυρα 10 καταργούν το υδατογράφημα