בעיה בפרויקט שחמט ב-C++ - תכנות - HWzone פורומים
עבור לתוכן
  • צור חשבון

בעיה בפרויקט שחמט ב-C++


sos

Recommended Posts

שלום!

אני בונה פרויקט שחמט ב-C++

אני משתמש בממשק של borland

בכל מקרה יש לי בעיה שאני לא מצליח לחשוב איך לסדר אותה....

הבעיה שלי היא לגבי נושא האכילה במשחק...יש לי בעיה לאכול חיל אחר כיוון שאין לי גישה למשבצת של אותו חיל אויב.

אין לי גישה לאותה משבצת כיוון שעשיתי בפונקצית ההליכה של כל חייל שלא יתן לי אפשרות לעלות על משבצת שיש בה חייל.

ואני ממש לא יודע כיצד לפתור את זה...אני לא יכול לשנות משהו בפונקצית ההליכה של כל חייל כי אני יודע שהפונקציה הזאתי בסדר

ויש משהו בפונקצית האכילה שלא חשבתי עליה.

בגלל זה פניתי עליכם שתעזרו לי....אם מישהו ממש מעוניין לעזור לי אז האיסיקיו שלי הוא 167531948 והמסנגר הוא Dryc0s@yahoo.com

ואני אוכל לשלוח לו את הפרויקט והוא יוכל לבדוק באמת מה בעייתי בה.

תודה רבה!

קישור לתוכן
שתף באתרים אחרים

אתה יכול להסתכל על זה ככה שלא החייל אוכל חייל אחר, אלא הלוח מנהל את ה"אכילות".

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

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

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

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

קישור לתוכן
שתף באתרים אחרים

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

קישור לתוכן
שתף באתרים אחרים

מראש ההגדרה שלך שגוייה בנוגע למיקום חיילים על משבצת.

אתה לא אמור לאסור שני חיילים במשבצת, אלא -> לאסור שני חיילים במשבצת תחת תנאי.

בכל מקרה, תבדוק שאתה מגדיר את הממשקים שלך נכון, זה יקל עליך את המימוש של התהליכים:

1. מחלקה המייצגת חייל (מחלקה אבסטרקטית)

2. מחלקה המייצגת סוג של חייל (רגלי, יורשת מחייל. צריח, יורשת מחייל, וכו לכל סוגי המחלקות)

3. מחלקה מסוג לוח שחמט המסוגלת להחזיק אובייקטים מסוג חייל.

בכל מקרה, בהצלחה.

קישור לתוכן
שתף באתרים אחרים

ארכיון

דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.

×
  • צור חדש...