שאלה על פעולת ההתקפה,
היא הרי מקבלת שם (מחרוזת) ובודקת אם השם קיים בתוך האויבים של השחקן התוקף.
במידה ולא אני צריך להגיד שכל עוד יש אויבים, האויב האחרון יותקף.
ולשאלה, כיוון שאני אמור ליצור מופע לכל שחקן, שחקן הוא self בפני עצמו:
ולכן כיוון שאני לא יכול להתייחס לשחקן לפי השם שלו ( Mr_ButterFly.attack('DragonSlayer) ), האם אני יכול להתייחס לשמות בהתאם כך:
player1.nemeses = [player2.name, player3.name, player4.name] וכן הלאה…
for name in player1.nemeses:
if opponent == name:
opponent = player
הכוונה היא שעפ"י השם של המופע אוכל למצוא את המופע)
ובמידה וכן, א. האם אני קובע לכל משתמש אויבים לפי רצוני (לאחד אין, לשני אחד או שניים לשלישי כולם וכן הלאה), וב. עפ"י הדוגמא שנתתי (ואשמח לשמוע הצעות אחרות אם היא לא מספיק יעילה), איך אני יכול לשלוף את playerX מ- playerX.name.
שאלה הבאה, האם בהכרח שכל שם שקיים בתוך ה- nemeses של שחקן מסויים, הוא שחקן קיים? השאלה נוגעת בשביל הבדיקה שלי, ובהתאם לכך אם שם השחקן שהוזן לא קיים, האם אני צריך ליצור אותו או להחזיר שגיאה.
מנצל את הפוסט לעוד שאלה, אני כבר אחרי התרגיל, אך שאלה על התיעוד של הפונקציה revive.
אני עובד עפ"י התיעוד של גוגל, ובמקרה של הפונקציה הזאת אין לי args, אין return וכיוון שהיא פועלת מתוך הפונקציה attack, אז גם אין לי raises (כי היא הרי עובדת על self.
אם כך, האם אני בכלל מתעד אותם? אם כן אז לרשום בשלושתם None?
בנוגע ל- raises: האם כיוון שהוא פועל רק מתוך הפונקציה attack אני יכול להניח שהוא לא יעלה שום התראה (בהתחשב בכך ש2 הפונקציות עובדות כראוי)?
נכון לעכשיו הזנתי רק את example, אז מה בנוגע לשאר?
orpazf
אם אין ארגומנטים - אין צורך לרשום כלום. אם אין שגיאות שעלולות לעוף - נהדר, גם אין צורך לרשום זאת.
אתה יכול להניח שהוא לא יעלה שום התראה אם בכל מצב שהוא הפונקציה תסיים את ריצתה התקינה, מה שאכן אמור לקרות בפונקציה הזו אם היא כתובה כראוי.
אבל, כל פונקציה מחזירה משהו תמיד, ולכן כן צריך לכתוב מה היא מחזירה - גם אם זה None.
5 לייקים
reimaoz
באמת מאוד עזרה ההבהרה לגבי קבלה של מופע של שחקן ולא השם שלו אבל אם לא הועבר מופע של שחקן לפעולה, היא מתקיפה את השחקן האחרון ברשימת האויבים. אז רשימת האויבים אמורה להכיל מופעים שלהם או רק את השמות?
orpazf
תגיד לי אתה מה אתה חושב ולמה
לייק 1
reimaoz
יהיה הרבה יותר נוח אם זו תהיה רשימה של מופעים של אויבים אבל אינטואיטיבית זה נראה לי מוזר שחלק מהמאפיינים של שחקן יהיו מופעים של שחקנים אחרים. אולי אני צריך להקריב את האינטואיציה שלי על מזבח הנוחות…
orpazf
זה אכן יותר הגיוני שזה יהיה מופע ולא שם
א. כי ייתכן שיש שני שחקנים באותו שם - ואז איך תדע מי האויב שלך ומי לא?
ב. אם אתה לא שומר את השחקנים בצורה מאוד מסוימת, למשל מיפוי שם לשחקן במילון, אתה לא תוכל למצוא את האויב שלך כשתרצה לתקוף אותו