
16-06-2007, 13:09
|
|
|
|
חבר מתאריך: 03.07.05
הודעות: 284
|
|
|
ייצוג "קופת משחק" מה עדיף? מערך או רשימה מקושרת? java
שלום שלום אני אגיע לעניין:
ש לי 54 קלפים: 36 קלפים רגילים(4 מכל סוג *9 סוגים), קלף מספר 9(מופיע 9 פעמים) ועוד 9 קלפים מיוחדים(3 מכל סוג * 3 סוגים).
מקווה שעד כאן אני ברור.
יש לי עוד חפיסת קלפים שבתחילת המשחק היא ריקה, זו הקופה המרכזית של המשחק שאליה זורקים קלפים\משתמשים בקלף.
לשתי הקופות יש פעולות של:
שליפת קלף(הוצאה שלו מהמערך\רשימה ומחיקתו משם),
ברגע שהקופה(הראשונה שדיברתי עליה) מתרוקנת מקלפים, הקופה השניה(קופת המשחק) הופכת להיות הקופה הראשית.
ייצוג שחקן:
לכל שחקן יש 4 קלפים שאותם הוא לוקח מהקופה הראשית(לוקח והקלפים מהקופה נמחקים!)
פעולות שחקן:
הצצה(השחקן רואה את הקלף הראשון ברשימה ואת הקלף האחרון)
החלף(השחקן מחליף בין שני קלפים, זה יכול להיות בין ה"יד" שלו לקופה הראשית או בין ה"יד" שלו לקופת המשחק.
ישנן עוד כמה פעולות מיוחדות אבל לא חשובות כרגע, אחרי שקראתם את זה(מי שהועיל בטובו לקרוא כבר תודה רבה רבה רבה)
באיזו דרך הכי כדאי לי ליישם את המשחק? מערכים או רשימות? אני עד עכשיו מצאתי את רשימה יותר יעיל כי יש לי פעולות של "הצצה" "שליפה" וכן הלאה... + ברשימה שאני משתמש אפשר לגשת לכל איבר ברשימה,
היתרון שמצאתי למערך הוא שיש לי גישה יותר ישירה לאובייקט מסוג Card ולא יודע... זה יותר נוח...
עכשיו שאלה, נניח יש לי במחלקת Card שני משתנים(במידה וסידרתי מתודות) על פי מערך אני עושה כך:
קוד:
Cards[0].GetNum()
ואילו על פי רשימה אני עושה כך:
קוד:
Cards.peek(0)
אבל איך ברשימה אני מגיע לאיבר מסויים באובייקט? כי פה בעצם אני "מציץ על כל האובייקט" איך אני מביט על ערך אחד של המחלקה.
טוב האמת שהופסט הזה יותר בשביל לסדר לי את הראש מאשר למצוא פתרון אבל מי שקרא עד כאן תודה רבה ואני מחכה לשמוע דעות מכם.
תודה מראש!
|