Εισαγάγετε στοιχεία όπως ζημιά παίκτη, μηχανική θεραπείας και άλλα, ενσωματώνοντας ένα σύστημα υγείας στα παιχνίδια σας.
Η εφαρμογή ενός συστήματος υγείας σε ένα παιχνίδι μπορεί να βελτιώσει σημαντικά την εμπειρία παιχνιδιού και να προσθέσει ένα επιπλέον επίπεδο πρόκλησης και στρατηγικής. Το PyGame παρέχει ένα ισχυρό σύνολο εργαλείων και λειτουργιών για την ενσωμάτωση του συστήματος υγείας, καθιστώντας εύκολη τη δημιουργία διαδραστικών εμπειριών.
Δημιουργήστε ένα απλό παιχνίδι
Πριν ξεκινήσετε, βεβαιωθείτε ότι έχετε pip εγκατεστημένο στο σύστημά σας. Χρησιμοποιήστε αυτήν την εντολή για να εγκαταστήσετε το pygame βιβλιοθήκη:
pip εγκατάσταση pygame
Μετά από αυτό, δημιουργήστε ένα αρχείο με το όνομα simple-game.py και ξεκινήστε δημιουργώντας ένα απλό παιχνίδι όπου ο παίκτης μπορεί να κινηθεί αριστερά και δεξιά.
Ο κώδικας που χρησιμοποιείται σε αυτό το άρθρο είναι διαθέσιμος σε αυτό Αποθετήριο GitHub και είναι δωρεάν για χρήση βάσει της άδειας MIT.
Σε αυτόν τον βασικό βρόχο παιχνιδιού, ο στόχος του παίκτη θα είναι να αποφύγει τη σύγκρουση με τον εχθρό.
εισαγωγή pygame
εισαγωγή τυχαίος# Αρχικοποιήστε το PyGame
pygame.init()# Ρυθμίστε το παράθυρο του παιχνιδιού
παράθυρο_πλάτος, παράθυρο_ύψος = 800, 600
παράθυρο = pygame.display.set_mode((πλάτος_παραθύρου, ύψος_παραθύρου))
pygame.display.set_caption("Επίδειξη συστήματος υγείας")# Χαρακτηριστικά παίκτη
player_width, player_height = 50, 50
player_x, player_y = window_width // 2, window_height - player_height - 10
παίκτη_ταχύτητα = 1# Ιδιότητες εχθρού
εχθρός_πλάτος, εχθρός_ύψος = 50, 50
εχθρός_χ, εχθρός_υ = random.randint(0, παράθυρο_πλάτος - εχθρός_πλάτος), 0
εχθρός_ταχύτητα = 0.3# Βρόχος παιχνιδιού
τρέξιμο = Αληθής
ενώ τρέξιμο:
Για Εκδήλωση σε pygame.event.get():
αν event.type == pygame. ΕΓΚΑΤΑΛΕΙΠΩ:
τρέξιμο = Ψευδής# Μετακινήστε τη συσκευή αναπαραγωγής αριστερά ή δεξιά
keys = pygame.key.get_pressed()
αν κλειδιά[pygame. K_LEFT] και player_x > 0:
player_x -= player_speed
αν κλειδιά[pygame. K_RIGHT] και player_x < window_width - player_width:
player_x += player_speed# Μετακινήστε τον εχθρό προς τα κάτω
εχθρός_υ += εχθρός_ταχύτητα# Σχεδιάστε αντικείμενα παιχνιδιού
window.fill((0, 0, 0)) # Καθαρίστε την οθόνη
pygame.draw.rect (παράθυρο, (255, 0, 0),
(player_x, player_y,
player_width, player_height))
pygame.draw.rect (παράθυρο, (0, 255, 0),
(εχθρός_χ, εχθρός_υ,
εχθρός_πλάτος, εχθρός_ύψος)) # Σχεδιάστε εχθρό
pygame.display.update()
pygame.quit()
Εκτελέστε τον κωδικό και θα δείτε ένα παράθυρο με χαρακτήρα παίκτη που μπορείτε να ελέγξετε χρησιμοποιώντας το αριστερό και το δεξί πλήκτρο βέλους.
Τώρα που έχετε μια βασική ρύθμιση παιχνιδιού, ορίστε τις μεταβλητές και τις σταθερές που σχετίζονται με την υγεία του παίκτη. Μπορείτε να χρησιμοποιήσετε ένα απλό σύστημα υγείας όπου μπορείτε να αναπαραστήσετε την υγεία ενός παίκτη με μια αριθμητική τιμή. Μπορείτε επίσης να ορίσετε σταθερές για τη μέγιστη υγεία του παίκτη και το μέγεθος της ζημιάς που προκαλείται από τον εχθρό.
Ορίστε την αρχική υγεία του παίκτη σε 100, ορίστε τη μέγιστη υγεία ως 100 και ορίστε τη ζημιά του εχθρού σε 20. Αυτές οι τιμές μπορούν να προσαρμοστούν ανάλογα με τις συγκεκριμένες ανάγκες του παιχνιδιού σας.
# Υγεία παίκτη
παίκτης_υγεία = 100
max_health = 100
εχθρός_ζημία = 20
Εφαρμογή μηχανικής βλάβης και θεραπείας
Για να εισαγάγετε μηχανισμούς βλάβης και θεραπείας, πρέπει να ανιχνεύσετε συγκρούσεις μεταξύ του παίκτη και του εχθρού και να χειριστείτε τις αντίστοιχες αλλαγές υγείας. Μπορείτε επίσης να εφαρμόσετε έναν μηχανισμό για να θεραπεύετε τη συσκευή αναπαραγωγής όταν απομακρύνεται από την οθόνη.
Ελέγξτε αν υπάρχει α σύγκρουση μεταξύ του παίκτη και τον εχθρό συγκρίνοντας τα οριοθετούντα ορθογώνιά τους. Εάν εντοπιστεί σύγκρουση, αφαιρέστε την αξία ζημιάς του εχθρού από την υγεία του παίκτη.
Επιπλέον, εάν η συσκευή αναπαραγωγής μετακινηθεί από το επάνω μέρος της οθόνης (player_y < 0), προσθέστε 10 στην υγεία τους και βεβαιωθείτε ότι δεν υπερβαίνει το μέγιστο επίπεδο υγείας. Αυτό δημιουργεί έναν μηχανικό επούλωσης και επαναφέρει τη θέση του παίκτη στο κάτω μέρος της οθόνης.
Δημιουργήστε ένα νέο αρχείο με όνομα βλάβη και επούλωση.py και προσθέστε τον κωδικό με τις παρακάτω ενημερώσεις:
# Μέσα στον βρόχο του παιχνιδιού, μετά την ενημέρωση της θέσης του εχθρού
# Ανίχνευση σύγκρουσης μεταξύ παίκτη και εχθρού
αν παίκτης_χ < εχθρός_χ + εχθρός_πλάτος και \
player_x + player_width > εχθρός_x και \
παίκτη_υ < εχθρός_υ + εχθρός_ύψος \
και player_y + player_height > εχθρός_y:
παίκτης_υγεία -= εχθρός_ζημία
εκτύπωση (player_health)
# Θεραπεύστε τον παίκτη όταν απομακρύνεται από την οθόνη
αν παίκτης_υ < 0:
παίκτης_υγεία += 10
εκτύπωση (player_health)
αν player_health > max_health:
παίκτης_υγεία = max_health
player_y = παράθυρο_ύψος - player_height - 10
Παρακάτω είναι η έξοδος:
Διαχείριση σεναρίων θανάτου παικτών και ολοκλήρωσης του παιχνιδιού
Για να χειριστείτε τα σενάρια θανάτου του παίκτη και λήξης του παιχνιδιού, πρέπει να ελέγξετε αν η υγεία του παίκτη φτάνει στο μηδέν. Εάν ναι, εμφανίστε a Τέλος παιχνιδιού μήνυμα και επανεκκινήστε το παιχνίδι.
Προσθέστε μια επιταγή για να δείτε εάν η υγεία του παίκτη πέφτει κάτω ή ισούται με το μηδέν. Εάν αυτή η συνθήκη είναι αληθής, εκτυπώστε Τέλος παιχνιδιού και επαναφέρετε την υγεία και τη θέση του παίκτη.
Δημιουργήστε ένα νέο αρχείο με όνομα manager-player-death.py και τροποποιήστε τον κώδικα με τις παρακάτω ενημερώσεις:
# Μετά την ενημέρωση της θέσης του παίκτη
# Ελέγξτε αν η υγεία του παίκτη φτάνει στο μηδέν
αν παίκτης_υγεία <= 0:
Τυπώνω("Τέλος παιχνιδιού")
παίκτης_υγεία = max_health
player_x = πλάτος_παραθύρου // 2
player_y = παράθυρο_ύψος - player_height - 10
Συμπεριλαμβανομένων πρόσθετων χαρακτηριστικών
Για να βελτιώσετε περαιτέρω το σύστημα υγείας, μπορείτε να ενσωματώσετε πρόσθετες λειτουργίες. Παρακάτω είναι ένα παράδειγμα:
Power-ups
Προσδιορίστε τα χαρακτηριστικά του power-up, όπως τις διαστάσεις και τη θέση του. Επίσης, ορίστε μια τιμή υγείας που θα κερδίσει ο παίκτης όταν συγκρούεται με το power-up.
Εντός του βρόχου παιχνιδιού, ανιχνεύστε συγκρούσεις μεταξύ του παίκτη και του power-up. Εάν συμβεί σύγκρουση, αυξήστε την υγεία του παίκτη κατά την τιμή υγείας του power-up, φροντίζοντας να μην υπερβαίνει τη μέγιστη υγεία. Στη συνέχεια, τοποθετήστε ξανά την ενεργοποίηση τυχαία στην οθόνη. Τέλος, σχεδιάστε το αντικείμενο ενεργοποίησης στην οθόνη χρησιμοποιώντας ένα μπλε ορθογώνιο.
Δημιουργήστε ένα νέο αρχείο με όνομα power-up.py και προσθέστε τον κωδικό με τις παρακάτω ενημερώσεις:
# Καθορίστε χαρακτηριστικά ενεργοποίησης
power_up_width, power_up_height = 30, 30
power_up_x, power_up_y = 200,200
power_up_health_value = 50# Μέσα στον βρόχο παιχνιδιού, μετά την ενημέρωση της θέσης του παίκτη
# Ανίχνευση σύγκρουσης μεταξύ παίκτη και ενεργοποίησης
αν player_x < power_up_x + power_up_width και\
player_x + player_width > power_up_x \
και player_y < power_up_y + power_up_height\
και player_y + player_height > power_up_y:
παίκτης_υγεία += power_up_health_value
αν player_health > max_health:
παίκτης_υγεία = max_health
power_up_x, power_up_y = 200,200
# Σχεδιάστε το αντικείμενο ενεργοποίησης
pygame.draw.rect (παράθυρο, (0, 0, 255),
(power_up_x, power_up_y,
power_up_width,
power_up_height))
Παρακάτω είναι η έξοδος:
Για κάθε πρόσθετο χαρακτηριστικό, μπορείτε να ορίσετε τις απαραίτητες μεταβλητές και σταθερές και να εφαρμόσετε τους αντίστοιχους μηχανισμούς εντός του βρόχου του παιχνιδιού.
Βέλτιστες Πρακτικές για το Σύστημα Υγείας
Κατά την εφαρμογή ενός συστήματος υγείας στο PyGame, έχετε υπόψη σας τις ακόλουθες βέλτιστες πρακτικές:
Εφαρμογή Συστημάτων που βασίζονται σε συμβάντα
Αντί να ελέγχετε συνεχώς για συγκρούσεις ή αλλαγές υγείας εντός του βρόχου του παιχνιδιού, σκεφτείτε να χρησιμοποιήσετε συστήματα που βασίζονται σε συμβάντα. Το PyGame παρέχει δυνατότητες χειρισμού συμβάντων, επιτρέποντάς σας να ενεργοποιείτε ενέργειες που σχετίζονται με την υγεία με βάση συγκεκριμένα συμβάντα, όπως συμβάντα σύγκρουσης ή συμβάντα λήψης ενέργειας.
Ισορροπία Αξίες Υγείας
Προσαρμόστε τις τιμές υγείας, τις τιμές ζημιάς και τα ποσοστά επούλωσης στο παιχνίδι σας για να εξασφαλίσετε μια ισορροπημένη εμπειρία παιχνιδιού. Η δοκιμή αναπαραγωγής και η συλλογή σχολίων από τους παίκτες μπορούν να σας βοηθήσουν να βελτιώσετε αυτές τις τιμές για βέλτιστο παιχνίδι.
Παρέχετε σχόλια
Βεβαιωθείτε ότι ο παίκτης λαμβάνει σαφή και ουσιαστικά σχόλια σχετικά με την κατάσταση της υγείας του. Εμφανίστε τη γραμμή υγείας σε εμφανές σημείο στην οθόνη, χρησιμοποιήστε οπτικές ενδείξεις όπως αλλαγές χρώματος ή κινούμενα σχέδια για να υποδείξετε τη βλάβη ή την επούλωση και παρέχουν ακουστικές ή οπτικές ενδείξεις όταν η υγεία του παίκτη φτάσει σε κρίσιμα επίπεδα.
Ακολουθώντας αυτές τις βέλτιστες πρακτικές, μπορείτε να δημιουργήσετε ένα ισχυρό και συναρπαστικό σύστημα υγείας που συμβάλλει σε μια καθηλωτική εμπειρία παιχνιδιού.
Κάντε τα παιχνίδια πιο ελκυστικά με το Health Bar
Η εφαρμογή ενός συστήματος υγείας όχι μόνο προσθέτει ένα επίπεδο πρόκλησης αλλά επίσης κάνει τα παιχνίδια πιο ελκυστικά για τους παίκτες. Ενσωματώνοντας οπτικές αναπαραστάσεις της υγείας, όπως μπάρες υγείας, οι παίκτες μπορούν εύκολα να αξιολογήσουν την τρέχουσα κατάστασή τους και να λάβουν στρατηγικές αποφάσεις. Επιπλέον, η προσθήκη επιπέδων στο παιχνίδι σας μπορεί να βελτιώσει περαιτέρω την εμπειρία παιχνιδιού.