איקס עיגול ייאוש

היי
קראתי אני חושבת את התרגיל מאות פעמים ועדיין לא הבנתי עד הסוף מה צריך לעשות (בחלק של make_turn)

האם בתוך הפונקציה הנל צריך לקבל קלט מהמשתמש?
מאיפה הפונקציה אמורה לקבל X או O ואת הלוח?
האם כל תור מודפס הלוח מחדש בצורתו החדשה?
אשמח לקצת הבהרה כי אני לא מסתדרת כלכך
תודה

היי דנה,
קודם כל - אל יאוש! זה תרגיל מורכב מאוד
השאלה שלך היא גם לא שאלה שיש לה תשובה אחת. מתכנתים שונים יסדרו את הקוד שלהם בצורה שונה וזה בסדר.
באופן אישי אני משתדל להמנע ככל האפשר מקבלת קלט מהמתמש בתוך פונקציות, אלא אם כן זאת ממש המטרה של הפונקציה, כמו במקרה שלנו :slight_smile:

אנסה לעשות קצת סדר:
בכל תור, עד שהמשחק נגמר (כי מישהו ניצח? או אולי תיקו?), אנחנו רוצים שהמשתמש יכניס את המיקום שהוא היה רוצה לסמן על הלוח. אז בכל make_turn (תור) נבקש מהשתמש את המיקום שהוא רוצה לסמן.
אנחנו רוצים לוודא שהקלט שלו נכון (אז make_turn תממש בעצמה בדיקה כזאת, או תקרא לפונקציה אחרת שתעשה זאת עבורה [עדיף!])
במידה והקלט תקין נרצה לסמן את המקום המבוקש בלוח המשחק שלנו. בשביל לסמן על הלוח,make_turn צריכה שיהיה לה הלוח כמובן! אז היא כנראה צריכה לקבל אותו. אותו הדבר גם לגבי הסימן של השתמש שזה התור שלו.
בסוף כל תור (make_turn) נרצה לבדוק אם המשחק נגמר (ומה התוצאה) ולכן make_turn תצטרך לבדוק את מצב הלוח, ומכיוון שיש פה הרבה דברים לבדוק, כדאי לעשות את זה בפונקציות אחרות ורק לקרוא להן מתוך make_turn.

ממליץ לשבת עם דף ועט (כן כן, כמו פעם) ולעשות סקיצה של הפונצקיות שאת הולכת לממש בלי הקוד עצמו - רק מה כל פונקציה תקבל ומה היא תחזיר.
בהצלחה!

4 לייקים

אוסיף על התשובה הנפלאה שמעלי: אפשר לקרוא גם את המשך התרגיל כדי לראות את כל התמונה.

תודה
אני עדיין תקועה על התרגיל
אני בלי רקע בתכנות בכלל ועד עכשיו הצלחתי לעמוד בכל ההגשות (היה לא פשוט)
אבל התרגיל הזה פשוט שבר אותי
אם מישהו יוכל להסתכל על מה שעשיתי ולנסות לעזור אני אודה לו מאוד
ממש מבאס שאם לא אגיש תרגיל אחד במהלך כל הקורס כי לא הצלחתי(נראה לי שהגיוני שיקרה) לא אהיה זכאית לתעודה
בכל אופן, אשמח לעזרה מעמיקה יותר
תודה

לייק 1

היי דנה, מועד ההגשה כבר עבר, אבל בכל אופן מה שחשוב לי הוא שלא תתיאשי מתרגילים.
מוזמנת לשלוח לי הודעה בפרטי עם הקוד שלך ואנסה לעזור

4 לייקים

כפי שמפורט פה הסמכה לתעודה במקרים חריגים, יש לך אפשרות להגיש 3 פעמים במהלך הקורס תרגיל נוסף שיפצה על תרגיל שלא הגשת/שלא עבד. אם את רוצה את התעודה אני ממליצה לך לעבור אל התרגיל הרלוונטי - לפני שמועד ההגשה שלו יעבור גם כן - ולחזור לאיקס עיגול לאחר שתגישי אותו.

3 לייקים

תודה לכם!
הגשתי תרגיל נוסף במקום אבל לגבי האיקס עיגול אני עדיין לא חזרתי אליו… מקווה שהשבוע אסיים את המטלות מוקדם ואוכל לחזור להתעסק בו
תודה רבה

עלה אתמול תרגול מעולה עם פתרון מודרך ל-4 בשורה, ממליצה לך מאוד לצפות בו ובטוחה שהוא יועיל לך להמשך התרגיל הזה :slight_smile:
ובכל מקרה אל תתייאשי :muscle:

לייק 1