Πίνακας περιεχομένων:
Βίντεο: Arduino Battleship Game: 3 Βήματα
2024 Συγγραφέας: John Day | [email protected]. Τελευταία τροποποίηση: 2024-01-30 08:35
Θυμάμαι ότι έπαιζα σε χαρτί και μολύβι την έκδοση του Battleship Game ως παιδί. Στην πραγματικότητα, υπήρχε από τον 1ο Παγκόσμιο Πόλεμο. Είχα επίσης μια «ηλεκτρονική» παραλλαγή στις αρχές της δεκαετίας του 1960, με την ονομασία «Sonar Sub Hunt» που είχε φώτα και ήχους και κρυμμένα ορυχεία. Με τα σημερινά πρότυπα βιντεοπαιχνιδιών το Battleship είναι αρκετά βαρετό, αλλά σκέφτηκα ότι θα το έκανα ούτως ή άλλως μόνο για να δω τι σκέφτονται τα εγγόνια για αυτό. Μετά από όλα, μερικές φορές το ρετρό μπορεί να είναι δροσερό.
Υπάρχουν κομμάτια αυτού του έργου που θα ήταν χρήσιμα αλλού ακόμα κι αν δεν ενδιαφέρεστε να φτιάξετε το παιχνίδι Battleship. Διαθέτει μια απλή διεπαφή LCD 4-bit 1602 που περιλαμβάνει μια ρουτίνα για τη ρύθμιση μιας συγκεκριμένης θέσης χαρακτήρων. Υπάρχει επίσης μια διεπαφή για αποκωδικοποίηση ενός πίνακα διακόπτη 4x4. Αυτές οι δύο διεπαφές διατίθενται ως ξεχωριστά αρχεία συμπερίληψης, ώστε να μεταφέρονται εύκολα. Το παιχνίδι διαθέτει επίσης διάφορες ρουτίνες ηχητικών εφέ και ένα απλό κύκλωμα ενισχυτή ήχου ενός τρανζίστορ.
Βήμα 1: Υλικό
Το σχήμα που παρουσιάζεται εδώ είναι για έναν παίκτη, οπότε θα πρέπει να γίνουν δύο μονάδες. Οι μονάδες επικοινωνούν χρησιμοποιώντας μια διεπαφή 3 καλωδίων που περιλαμβάνει τις γραμμές UART TX και RX και ένα καλώδιο γείωσης. Επέλεξα να χρησιμοποιήσω μια τυπική στερεοφωνική υποδοχή ακουστικών 1/8 ιντσών και ένα τυπικό καλώδιο με αρσενικά βύσματα και στα δύο άκρα. Το RX από το ένα κουτί πηγαίνει στο TX του άλλου κιβωτίου και αντίστροφα. Μπορείτε να το κάνετε αυτό αλλάζοντας τα καλώδια που έχουν κολληθεί στην υποδοχή ακουστικών μέσα στο κουτί ή τα αλλάζετε στην πλακέτα κυκλώματος όταν το κατασκευάζετε.
Το κλασικό παιχνίδι σχεδιάστηκε ως μήτρα, αλλά αποφάσισα να κάνω μια απλή εφαρμογή χρησιμοποιώντας μια οθόνη 1602 για την οθόνη. Η πρώτη γραμμή δείχνει τις τοποθεσίες των πλοίων του παίκτη και τα σουτ του αντιπάλου. Η δεύτερη γραμμή δείχνει τα σουτ του παίκτη και τυχόν χτυπήματα στα πλοία του αντιπάλου. Αυτό παρέχει 16 πιθανές τοποθεσίες για πλοία. Ο αριθμός των πλοίων έχει οριστεί στο λογισμικό και επέλεξα αυθαίρετα 5.
Οι 16 τοποθεσίες πλοίων ταιριάζουν όμορφα με τις απαιτήσεις του διακόπτη επειδή επιτρέπει τη μήτρα 4x4. Υπάρχουν διαθέσιμα μαξιλάρια διακόπτη μήτρας 4x4, αλλά επέλεξα να χρησιμοποιήσω μεμονωμένους διακόπτες σε μία γραμμή για να ταιριάζει με τη γραμμική οθόνη. Ωστόσο, έκανα σύρμα τους διακόπτες ως μήτρα 4x4, έτσι ώστε να χρειάζονται μόνο οκτώ καρφίτσες Arduino. Ανατρέξτε στο διάγραμμα καλωδίωσης του διακόπτη και στο διάγραμμα για τις σωστές συνδέσεις.
Η οθόνη LCD είναι ενσύρματη για διεπαφή 4 bit. Πρόσθεσα επίσης μια εξωτερική λυχνία LED στον πείρο D13 για να δείξει ποιος παίκτης πρέπει να τραβήξει. Αρχικά, οι παίκτες αποφασίζουν ποιος κάνει την πρώτη βολή και στη συνέχεια το λογισμικό ελέγχει αυτόματα το μπρος -πίσω του παιχνιδιού.
Wantedθελα να προσθέσω απλά ηχητικά εφέ για τη λήψη, τις εκρήξεις, το παιχνίδι έτοιμο και τον νικητή/χαμένο. Δοκίμασα να χρησιμοποιήσω έναν απλό πιεζοηχητικό βομβητή, αλλά κατέληξα με ένα μικρό ηχείο. Το ρεύμα που απαιτείται από το ηχείο υπερβαίνει αυτό που μπορεί να χειριστεί το Arduino, οπότε προστέθηκε ένας απλός ενισχυτής τρανζίστορ. Ο ήχος εξακολουθεί να μην είναι υπέροχος, αλλά είναι καλύτερος από ό, τι με το βομβητή. Το ηχείο μου είναι 4 ohm αλλά αν έχετε ένα 8 ohm τότε αλλάξτε την αντίσταση στο σχηματικό από 39 ohm σε 33 ohm. Εάν χρησιμοποιείτε πιεζοηλεκτρικό βομβητή, θα πρέπει να μπορείτε να το οδηγήσετε απευθείας από την καρφίτσα Arduino με την άλλη πλευρά του βομβητή συνδεδεμένη στη γείωση.
Περιλαμβάνεται επίσης ένας εξωτερικός διακόπτης επαναφοράς και συνδέεται απευθείας μεταξύ της γείωσης και της ακίδας "επαναφοράς" στο Arduino. Αυτό παρέχει τα μέσα για την επανεκκίνηση του παιχνιδιού.
Βήμα 2: Λογισμικό
Το λογισμικό διαθέτει το αρχείο συμπερίληψης για τη διεπαφή LCD μου και δημιούργησα επίσης ένα αρχείο συμπερίληψης για τη σάρωση μήτρας διακόπτη 4x4. Η προετοιμασία ζητά από τον παίκτη να επιλέξει τις θέσεις για τα πλοία του και μετά πηγαίνει σε κατάσταση "Έτοιμο". Όταν και οι δύο παίκτες είναι έτοιμοι, ένας από αυτούς ξεκινά το παιχνίδι πατώντας ένα διακόπτη.
Η θέση του σουτ μεταδίδεται μέσω του UART στον άλλο παίκτη και το κατάλληλο αποτέλεσμα μεταδίδεται πίσω στον παίκτη που έριξε το σουτ. Όπως αναφέρθηκε προηγουμένως, μόλις γίνει η πρώτη λήψη, το λογισμικό ελέγχει ποιος κάνει την επόμενη λήψη. Πριν μεταδοθεί μια βολή, ελέγχεται με τις θέσεις των προηγούμενων λήψεων. Εάν αυτή η θέση έχει ήδη χρησιμοποιηθεί, τότε η λήψη δεν θα μεταδοθεί. Το LED "My_Shot" καθορίζει ποιανού είναι η σειρά. Υπάρχει επίσης ένας ήχος πυροβολισμού που παράγεται για μια έγκυρη επιλογή και ένας ήχος έκρηξης εάν χτυπηθεί ένα πλοίο. Τα ηχητικά εφέ προέρχονται από παραδείγματα που βρέθηκαν στο διαδίκτυο με τροποποιήσεις που ταιριάζουν στο παιχνίδι.
Μόλις χτυπηθούν όλα τα πλοία ενός αντιπάλου, εμφανίζεται ένα μήνυμα σε κάθε LCD - ένα ως νικητής και ένα ως ηττημένος. Το μήνυμα καθορίζει επίσης ότι το παιχνίδι μπορεί να ξεκινήσει ξανά πατώντας το κουμπί επαναφοράς. Υπάρχουν επίσης ξεχωριστά ηχητικά εφέ για τον νικητή και τον ηττημένο.
Βήμα 3: Στιγμιότυπα οθόνης
Ακολουθούν μερικά στιγμιότυπα οθόνης από το παιχνίδι. Αυτά για αυτήν την ανάρτηση. Ελέγξτε τις άλλες οδηγίες μου και επίσης τον ιστότοπό μου στη διεύθυνση: www.boomerrules.wordpress.com
Συνιστάται:
Aruduino LED Game Fast Clicking Two Player Game: 8 Βήματα
Aruduino LED Game Fast Clicking Two Player Game: Αυτό το έργο είναι εμπνευσμένο από το @HassonAlkeim. Εάν είστε πρόθυμοι να ρίξετε μια βαθιά ματιά εδώ είναι ένας σύνδεσμος που μπορείτε να ελέγξετε https://www.instructables.com/id/Arduino-Two-Player-Fast-Button-Clicking-Game/. Αυτό το παιχνίδι είναι μια βελτιωμένη έκδοση του Alkeim's. Είναι ένα
Arduino Based DIY Game Controller - Arduino PS2 Game Controller - Παίζοντας Tekken With DIY Arduino Gamepad: 7 Βήματα
Arduino Based DIY Game Controller | Arduino PS2 Game Controller | Παίζοντας Tekken With DIY Arduino Gamepad: Γεια σας παιδιά, το να παίζετε παιχνίδια είναι πάντα διασκεδαστικό, αλλά το παιχνίδι με το δικό σας προσαρμοσμένο χειριστήριο παιχνιδιών DIY είναι πιο διασκεδαστικό. Έτσι, θα κάνουμε έναν ελεγκτή παιχνιδιών χρησιμοποιώντας arduino pro micro σε αυτά τα εκπαιδευτικά
Arduino Game Controller + Unity Game: 5 Βήματα
Arduino Game Controller + Unity Game: Σε αυτό το διδακτικό θα σας δείξω πώς να δημιουργήσετε/προγραμματίσετε έναν ελεγκτή παιχνιδιών arduino που μπορεί να συνδεθεί με την ενότητα
Arduino Game Controller With Lights Responding Your Unity Game :: 24 Βήματα
Arduino Game Controller With Lights Responding Your Unity Game :: Αρχικά έγραψα αυτό το πράγμα με λέξη. Αυτή είναι η πρώτη φορά που χρησιμοποιώ το εκπαιδευτικό, οπότε κάθε φορά που λέω: γράψτε κώδικα, ώστε να ξέρετε ότι αναφέρομαι στην εικόνα στην κορυφή αυτού του βήματος. Σε αυτό το έργο χρησιμοποιώ 2 arduino ’ s για να τρέξω 2 ξεχωριστά bit
Space Battleship Yamato 2199 With Trinket Microcontrollers: 8 Steps (with Pictures)
Space Battleship Yamato 2199 With Trinket Microcontrollers: Λόγω του ριμέικ του animation και της ταινίας του Space Battleship Yamato, επιπλέον του ελκυστικού σχεδιασμού του μοντέλου Bandai. Με ενδιέφερε να ξαναφτιάξω αυτό το διαστημικό θωρηκτό μοντέλο. Ο Bandai δεν αναφέρει την κλίμακα του, ίσως 1: 2500 λίρες κατά εκτίμηση