עבור לתוכן

צריך בבקשה עזרה בכתיבת קוד ב C++ למשחק מלחמה

Featured Replies

פורסם

היי

יש לי עבודה לכתוב תוכנה למשחק הקלפים מלחמה

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

אני צריך להוציא כל פעם את הקלף הראשון מתוך המערך משני החבילות ולהשוות בניהם

איך אני מוציא את הקלף מהמערך? ואיך אני גורם לכל שאר המערך להתקדם תא???

חייב עזרה

תודה :)

נערך על-ידי Eliran Dahan

פורסם

שלום וברוך הבא לפורום.

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

(לחץ על הלינק "ערוך" בהודעה הראשונה, ושם תוכל לשנות את הכותרת)

פורסם

יותר טוב :)

 

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

פורסם
  • מחבר

עשיתי לכל שחקן מערך של 52 מקומות כי במצב של ניצחון אמור להיות לו את כל ה52 קלפים

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

פורסם

וכשלשחקן יש פחות מ-52 קלפים, איך התוכנה יודעת את זה?

פורסם
  • מחבר

לפני שחילקתי את הקלפים איפסתי את כל המערך

ואני אמור להוסיף COUNTER לכל מערך

פורסם

סבבה. נניח שיש לך עכשיו מערך עם 26 קלפים (דהיינו הערך של המונה הזה הוא 26). איזה קלף אתה יכול "להוציא" מהמערך בלי שתצטרך להזיז אף אחד מהקלפים האחרים ממקומו?

פורסם
  • מחבר

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

 

לפי העבודה שיש לי 

השחקן שמנצח מקבל את הקלפים ככה שהקלף שלו הולך לסוף החבילה והקלף של השחקן שהפסיד מונח אחריו

פורסם

הבעיה היא שכאמור להוציא את הקלף הראשון דורש להזיז את כל שאר הקלפים - קלף 1 הופך להיות קלף 0, קלף 2 הופך להיות קלף 1, וכן הלאה.

אז אני שואל שוב: איזה קלף אתה יכול להוציא בלי שתצטרך להזיז אף קלף אחר?

פורסם
  • מחבר

אבל המרצה רוצה שהקלף הראשון הוא זה שיצא

פורסם

אתה המתכנת. אתה זה שמחליט מהו "הקלף הראשון". אף אחד לא אמר שהקלף הראשון צריך להיות קלף מספר 0 במערך.

פורסם

רמז: הקלף הראשון לא חייב להיות בתא 0

פורסם
  • מחבר

"2. שני השחקנים מגלים את הקלף שנמצא בקצה העליון של החבילה שלהם )התא ה-0( . מי שהוציא קלף גדול יותר – מנצח. התוכנית בודקת מי ניצח, ומעבירה לו את הקלפים בהתאם. ביצוע העברת הקלפים משחקן אחד לשני תיעשה ע"י העברה "

 

זה מה שהוא מבקש הוא רוצה שהקלף הראשון יהיה מתא 0

פורסם

טוב, זה עקום, אבל אם זו הדרישה - זה מה יש.

אז כאמור, הדרך היחידה היא להזיז קלף קלף. קלף 1 צריך לתפוס את מקומו של קלף 0, קלף 2 צריך לתפוס את מקומו של קלף 1, וכן הלאה.

פורסם
  • מחבר

אני בדיוק עובד אל לולאה לזה  מקווה שילך טוב :)

תודה 

ארכיון

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

דיונים חדשים