הצג אלמנטים כגון נזק לשחקנים, מכניקת ריפוי ועוד על ידי שילוב מערכת בריאות במשחקים שלך.
הטמעת מערכת בריאות במשחק יכולה לשפר מאוד את חווית המשחק ולהוסיף שכבה נוספת של אתגר ואסטרטגיה. PyGame מספקת קבוצה חזקה של כלים ופונקציות לשילוב מערכת הבריאות, מה שמקל על יצירת חוויות אינטראקטיביות.
צור משחק פשוט
לפני שמתחילים, ודא שיש לך pip מותקן במערכת שלך. השתמש בפקודה זו כדי להתקין את pygame סִפְרִיָה:
pip להתקין pygame
לאחר מכן, צור קובץ בשם simple-game.py והתחל ביצירת משחק פשוט שבו השחקן יכול לנוע ימינה ושמאלה.
הקוד המשמש במאמר זה זמין כאן מאגר GitHub והוא בחינם עבורך לשימוש תחת רישיון MIT.
בלולאת המשחק הבסיסית הזו, המטרה של השחקן תהיה להימנע מהתנגשות באויב.
יְבוּא pygame
יְבוּא אַקרַאִי# אתחול PyGame
pygame.init()# הגדר את חלון המשחק
window_width, window_height = 800, 600
window = pygame.display.set_mode((window_width, window_height))
pygame.display.set_caption("הדגמה של מערכת הבריאות")# תכונות שחקן
player_width, player_height = 50, 50
player_x, player_y = window_width // 2, window_height - player_height - 10
player_speed = 1# תכונות אויב
enemy_width, enemy_height = 50, 50
enemy_x, enemy_y = random.randint(0, window_width - enemy_width), 0
enemy_speed = 0.3# לולאת משחק
פועל = נָכוֹן
בזמן רץ:
ל מִקרֶה ב pygame.event.get():
אם event.type == pygame. לְהַפְסִיק:
פועל = שֶׁקֶר# הזז את הנגן שמאלה או ימינה
keys = pygame.key.get_pressed()
אם keys[pygame. K_LEFT] ו player_x > 0:
player_x -= player_speed
אם keys[pygame. K_RIGHT] ו player_x < window_width - player_width:
player_x += player_speed# הזיזו את האויב כלפי מטה
enemy_y += enemy_speed# צייר חפצי משחק
window.fill((0, 0, 0)) # נקה את המסך
pygame.draw.rect (window, (255, 0, 0),
(player_x, player_y,
player_width, player_height))
pygame.draw.rect (window, (0, 255, 0),
(אויב_x, enemy_y,
enemy_width, enemy_height)) # צייר אויב
pygame.display.update()
pygame.quit()
הפעל את הקוד, ותראה חלון עם דמות שחקן שאתה יכול לשלוט בו באמצעות מקשי החצים שמאלה וימינה.
כעת, לאחר שיש לך הגדרת משחק בסיסית, הגדר את המשתנים והקבועים הקשורים לבריאות השחקן. אתה יכול להשתמש במערכת בריאות פשוטה שבה אתה יכול לייצג את בריאותו של שחקן לפי ערך מספרי. אתה יכול גם להגדיר קבועים לבריאות המקסימלית של השחקן ולכמות הנזק שנגרם על ידי האויב.
הגדר את בריאות השחקן הראשונית ל-100, הגדר את הבריאות המקסימלית כ-100, והגדר את הנזק של האויב ל-20. ניתן להתאים ערכים אלה בהתאם לצרכים הספציפיים של המשחק שלך.
# בריאות השחקן
player_health = 100
max_health = 100
enemy_damage = 20
יישום מכניקת נזקים וריפוי
כדי להציג מכניקת נזק וריפוי, עליך לזהות התנגשויות בין השחקן לאויב ולטפל בשינויים הבריאותיים המתאימים. אתה יכול גם ליישם מנגנון לריפוי השחקן כאשר הוא זז מהמסך.
בדוק אם יש א התנגשות בין השחקן והאויב על ידי השוואת המלבנים התוחמים שלהם. אם מזוהה התנגשות, הפחת את ערך הנזק של האויב מבריאותו של השחקן.
בנוסף, אם הנגן זז מהחלק העליון של המסך (שחקן_י < 0), הוסיפו 10 לבריאותם והבטיחו שזה לא יעלה על הבריאות המקסימלית. זה יוצר מכונאי ריפוי ומאפס את מיקומו של השחקן לתחתית המסך.
צור קובץ חדש בשם damage-and-healing.py והוסיפו את הקוד עם העדכונים הבאים:
# בתוך לולאת המשחק, לאחר עדכון עמדת האויב
# זיהוי התנגשות בין שחקן לאויב
אם player_x < enemy_x + enemy_width ו \
player_x + player_width > enemy_x ו \
player_y < enemy_y + enemy_height \
ו player_y + player_height > enemy_y:
player_health -= נזק_אויב
הדפס (בריאות_שחקן)
# רפא את השחקן כאשר הוא זז מהמסך
אם player_y < 0:
player_health += 10
הדפס (בריאות_שחקן)
אם player_health > max_health:
player_health = max_health
player_y = window_height - player_height - 10
להלן הפלט:
ניהול תרחישי מוות ומשחק על שחקנים
כדי לטפל בתרחישי המוות והמשחק של השחקן, עליך לבדוק אם מצבו הבריאותי של השחקן מגיע לאפס. אם כן, הצג את א סוף המשחק הודעה והפעל מחדש את המשחק.
הוסף סימון כדי לראות אם מצבו הבריאותי של השחקן נמוך או שווה לאפס. אם תנאי זה נכון, הדפס סוף המשחק ולאפס את בריאותו ומיקומו של השחקן.
צור קובץ חדש בשם manage-player-death.py ושנה את הקוד עם העדכונים שלהלן:
# לאחר עדכון מיקום השחקן
# בדוק אם מצבו הבריאותי של השחקן מגיע לאפס
אם player_health <= 0:
הדפס("סוף המשחק")
player_health = max_health
player_x = window_width // 2
player_y = window_height - player_height - 10
כולל תכונות נוספות
כדי לשפר עוד יותר את מערכת הבריאות, אתה יכול לשלב תכונות נוספות. להלן דוגמה:
כוח-אפים
הגדר את התכונות של ההפעלה, כגון מימדיו ומיקומו. כמו כן, הגדר ערך בריאות שהשחקן יקבל בעת התנגשות עם ההפעלה.
בתוך לולאת המשחק, זהה התנגשויות בין השחקן לבין ההפעלה. אם מתרחשת התנגשות, הגדל את בריאותו של השחקן בערך הבריאותי של ההפעלה, וודא שהוא לא חורג מהמצב המקסימלי. לאחר מכן מקם מחדש את ההפעלה באופן אקראי על המסך. לבסוף, צייר את אובייקט ההפעלה על המסך באמצעות מלבן כחול.
צור קובץ חדש בשם 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:
player_health += power_up_health_value
אם player_health > max_health:
player_health = max_health
power_up_x, power_up_y = 200,200
# צייר אובייקט הפעלה
pygame.draw.rect (window, (0, 0, 255),
(power_up_x, power_up_y,
power_up_width,
power_up_height))
להלן הפלט:
עבור כל תכונה נוספת, אתה יכול להגדיר את המשתנים והקבועים הדרושים, וליישם את המכניקה המתאימה בתוך לולאת המשחק.
שיטות עבודה מומלצות למערכת הבריאות
בעת הטמעת מערכת בריאות ב-PyGame, זכור את השיטות המומלצות הבאות:
הטמעת מערכות מונעות אירועים
במקום לבדוק ללא הרף התנגשויות או שינויים בריאותיים בתוך לולאת המשחק, שקול להשתמש במערכות מונעות אירועים. PyGame מספקת יכולות טיפול באירועים, המאפשרות לך להפעיל פעולות הקשורות לבריאות בהתבסס על אירועים ספציפיים, כגון אירועי התנגשות או אירועי איסוף כוח.
איזון ערכי בריאות
התאם את ערכי הבריאות, ערכי הנזק ושיעורי הריפוי במשחק שלך כדי להבטיח חווית משחק מאוזנת. בדיקות משחק ואיסוף משוב משחקנים יכולים לעזור לך לכוונן ערכים אלה למשחק אופטימלי.
ספק משוב
ודא שהשחקן מקבל משוב ברור ומשמעותי לגבי מצבו הבריאותי. הצג את סרגל הבריאות בצורה בולטת על המסך, השתמש ברמזים חזותיים כגון שינויי צבע או אנימציות כדי לציין נזק או ריפוי, וכן לספק רמזים אודיו או חזותיים כאשר בריאותו של השחקן מגיעה לרמות קריטיות.
על ידי ביצוע שיטות עבודה מומלצות אלה, תוכל ליצור מערכת בריאות חזקה ומרתקת שתורמת לחוויית משחק סוחפת.
הפוך את המשחקים למעניינים יותר עם סרגל הבריאות
הטמעת מערכת בריאות לא רק מוסיפה רובד של אתגר אלא גם הופכת את המשחקים למרתקים יותר עבור השחקנים. על ידי שילוב ייצוגים חזותיים של בריאות, כגון ברים בריאות, שחקנים יכולים להעריך בקלות את מצבם הנוכחי ולקבל החלטות אסטרטגיות. יתר על כן, הוספת רמות למשחק שלך יכולה לשפר עוד יותר את חווית המשחק.