.. (לתיקייה המכילה) | ||
האם מותר לנו להשתמש בכל STL? | |
כן |
האם ניתן להשתמש בחופשיות בstd::shared_ptr במהלך התרגיל? או שיש להשתמש בו רק אם לא ניתן להשתמש בstd::unique_ptr וצריך עבור הshared הצדקה מסויימת? | |
בכל מקרה בו ניתן להשתמש ב-unique_ptr (כלומר ישנה בעלות יחידה על האובייקט), יש להשתמש ב-unique_ptr ולא ב-shared_ptr . שימוש ב-shared_ptr במצב זה הוא תכן לא נכון, מהווה מקור לבאגים, ואינו יעיל. החומר נלמד בהרצאות וישנה חשיבות בהבחנה בין shared_ptr ו-unique_ptr. אנחנו מצפים שתקפידו על הנושא. |
במקרה שגם שם השחקן וגם שם הדמות שהוקלדו לא נכונים, עלינו להדפיס את 2 השגיאות או רק את השגיאה של השם כי היא נבדקת קודם? | |
כמו שכתוב במסמך, יש לבדוק אם השם לא תקין ולאחר מכן לבדוק את סוג הדמות. אם השם לא תקין, אז מדפיסים printInvalidName מבלי לבדוק את הסוג. |
האם אפשר לשנות את הקובץ Mtmchkin.h? | |
מותר לשנות את mtmchkin.h. אך אסור לשנות את הממשק הפומבי של mtmhckin שנתון לכם. (פרט למחיקת בנאי העתקה ואופרטור השמה) ניתן להוסיף שדות למחלקה, מתודות עזר פרטיות משלכם, includeים שונים למימוש, וכדומה. |
אפשר להשתמש ב auto ? | |
לא |
האם ניתן ליצור שחקן "כללי" שהוא לא אחת מהדמויות? | |
לא |
האם מותר להוסיף שדות למחלקה player (מעבר למה שמוגדר ב2.2.1)? | |
כן |
האם מותר להוסיף קבצים המכילים מחלקות חדשות בנוסף למחלקות שהוגדרו במסמך? | |
כן |
האם חריגות שאני מגדיר ל Player צריכות להיות מוגדרות ב Player.h או שצריכות להיות מוגדרות ב Exception.h? | |
כל החריגות אמורות להיות בקובץ Exception.h. ומותר לעשות include יחסי. |
למה בMtmchkin.h מקבלים ארגומנטים מטיפוס string במקום std::string? | |
טעות. תוקן. תזכורת: אסור לעשות using בקבצי האדר. |
האם לשחקנים שונים יכול להיות ערך maxHP שונה? | |
ה-HP המקסימלי האפשרי לכולם הוא 100 |
בהנחיות לכתיבת התכן ציינתם שאין צורך לכלול מחלקות המאפיינות collections. מה הכוונה ב- מחלקות המאפיינות collections ? | |
הכוונה ב-collections היא מבני נתונים שמשתמשים בהם בפתרון (קראו לזה data structions בהרצאות). דוגמה לזה היא וקטור, רשימה מקושרת, תור וכו... |
מה לעשות במצב בו שחקן מבקש לקנות נקודות חיים מקלף הסוחר אבל יש לו נקודות חיים מלאות? | |
לאפשר את התשלום ולא לשנות את נקודות החיים |
האם יש מצב שנקבל שם שחקן בגודל אפס? | |
לא ייבדק מקרה כזה. |
בעת הפסד לערפד מאבדים יחידת כוח אחת כאשר הכוח של השחקן הוא 0, מה צריך לעשות? | |
אז נשאר 0 ולא יורד יותר. |
בקובץ utilities יש שימוש באופרטור >> של player אבל בתרגיל לא כתוב שצריך לממש אותו (לא חובה), האם צריך לממש אותו או שזו טעות ב utilities ? | |
צריך לממש אותו |
האם אפשרי לעשות תקייה בתוך תקיית cards או שזה בעייתי מבחינת ההגשה? | |
בעייתי מבחינת ההגשה. יש להגיש במבנה שנתנו לכם. |
לאן אנחנו אמורים לשייך את השימושים של הדפסת פרטי הקלף, האם זו העמסת אופרטור כלשהי? | |
כן, העמסת אופרטור הדפסה. |
1. האם אפשר/צריך/מותר לשנות את היוטיליטיז? | |
1. לא 2. לא 3. בדיוק. |
האם ניתן להניח בקריאת ה deck מהקובץ ש: | |
א. לא ב.לא ג. לא 1. לא, צריך לזרוק חריגה של פורמט לא תקין. 2. לא, כמות הקלפים לא מוגבלת מלמעלה, רק מלמטה - יותר מ5 קלפים. 3. חריגה |
בחלק מפונקציות ההדפסה של הקלפים, יש דבר שלא ברור לי אם הוא במכוון או בטעות. | |
בכל מקום צריך להדפיס לcout. החוסר אחידות בפורמט של הפונקציות הדפסה נובע מטעות שלנו. תעבירו cout בתור ה-ostream. |
מותר להשתמש בפונקציות של string כמו length למשל? | |
כן ברור. בקשה מכל מי שקורא את זה: מותר להשתמש בstl. לא צריך לשאול אותנו על כל מתודה/פונקציה/מחלקה בSTL. |
can we use queue in the standard library or we should use the queue that we implemented in ex3? | |
מה שאתם מעדיפים |
is it possible to get two players with the same name ? | |
כן |
| |
השורה ראשונה היא שורה 1. |
תואר בשאלה שעבור שחקנים מסוג שונה אז יש להם יכולות שונים. | |
לא, ערכי האתחול שווים לכל סוגי השחקנים. |
ה מצופה מאיתנו לעשות במקרה שנקלט שם שאינו נמנה עם הסוגים האפשריים? לזרוק חריגה? | |
אם התקבל שם קלף שלא ברשימת סוגי הקלפים יש לזרוק חריגה DeckFileFormatError |
בקובץ deck | |
1. כן, צריך לזרוק DeckFileFormatError 2. כן, אם זה לא בפורמט הנכון, צריך לזרוק DeckFileFormatError |
במקרה שאין מספיק מטבעות בMerchant, מה עלינו לעשות? | |
1 - לסיים ולעבור לplayer חדש. להדפיס printMerchantInsufficietCoins, לאחר מכן printMerchantSummary ואז לסיים. |
בחלק של הMerchant. | |
א- מדפיסים printMerchantSummary ומסיימים את פעולת הקלף. ב- מדפיסים printMerchantInsufficietCoins ולאחר מכן printMerchantSummary ובסוף מסיימים את פעולת הקלף. |
כאשר גנב נתקל בקלף אוצר, הוא מקבל 20 זהב (10 מהקלף וכפול 2 בגלל העבודה שלו). | |
להשאיר את זה כך למרות שבפועל התקבל 20. יש להדפיס עם printTreasureMessage שהשחקן קיבל 10 מטבעות. |
1. מה המבנה שבו צריך לממש את Exception.h, האם זו תהיה מחלקה שלה יהיו class ריקות ופומביות שהם החריגות? (כמו למשל emptyQueue בתרגיל בית 3), או שצריך להגדיר מחלקה Exception, ואז להגדיר מחלקות לכל 3 החריגות הללו שיירשו מException? | |
1. כל חריגה היא מחלקה נפרדת בפני עצמה שצריכה לרשת מstd::exception. לא מחלקה פנימית למחלקה אחרת. 2. כן |
i want to add an exception of my own , should i add it the exceprion.h file or have it in another file ? | |
exceprion.h |
אם נותר שחקן אחד שלא ניצח או הפסיד (לדוגמא מקבוצה של 5 הפסידו וניצחו 4 שחקנים), האם יש מה להמשיך את המשחק עד שאותו שחקן יגיע לתוצאה של הפסד או ניצחון? | |
ממשיכים את המשחק עד שכל השחקנים הגיעו לרמת 10 או עם HP שווה לאפס. |
בחלקים האינטראקטיביים של התרגיל (לדוגמה קלף Merchant), האם ניתן לקבל שורה ריקה? | |
מדפיסים invalid input ומנסים לקבל קלט שוב |
what is the right way to override std::exception::what function? | |
https://cplusplus.com/reference/exception/exception/what/ |
אם בקובץ טקסט של הקלפים יש לי שם תקין של קלף ולאחריו רווחים, האם צריך להחשיב את זה כקלט תקין או לזרוק שגיאה? | |
יש לזרוק חריגה |
איזה printsummray לבצע אם אין לשחקנית מספיק מטבעות. לעשות את ההדפסה של מה שהיא רוצה עם העלות הנכונה אבל פשוט לא לבצע את הרכישה או הדבר שהיא רוצה עם עלות 0 | |
עם עלות 0 |
1. חידוד הדרישות עבורו - מה מצופה שנבצע שם (להריץ עם deck.txt? לקבל שחקים מהמשתמש?)? הוא מופיע ברשימת קבצים להגשה (ונזרקת שגיאה מהבודק האוטומטי בהעדרו). | |
1.כן בmain שאתם צריכים להגיש אנחנו מצפים שתריצו משחק. תריצו משחק mtmchkin עד שהוא נגמר (אפשר עד שמגיעים ל100 סיבובים - לבחירתכם). המשחק צריך להיות מאותחל עם קובץ הקלפים deck.txt. אם מתרחשת שגיאה כלשהי בזמן המשחק על תוכנית להדפיס את המחרוזת המוחזרת בפונקציית הwhat של אותה חריגה, ולסיים את התוכנית. 2. יתוקן. יש להגיש את הקובץ main.cpp בתוך תיקיית tool. הfinalCheck יעודכן ותתפרסם הודעה על כך. |
האם אפשק לקנות יותר מעותק אחד מה-Merchant | |
לא |