1 / 26

Othello Game

Othello Game. Final project in java course Generated by: Nahum Vishne, Gadi Friedman, Ishai Rosenberg. כללי המשחק. המשחק מתחיל כאשר לכל שחקן 2 חיילים במצב המתואר בתמונה. ניצחון אפור (לדוגמא) מושג כאשר בסיום המשחק רוב הכלים על הלוח הם אפורים.

colby-reed
Télécharger la présentation

Othello Game

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Othello Game Final project in java course Generated by: Nahum Vishne, Gadi Friedman, Ishai Rosenberg

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

  3. הלוח מלא. יתכן שוויון. אף שחקן לא יכול לשים חייל נוסף. יתכן שוויון.

  4. לאחד השחקנים אין כלים.

  5. אלגוריתם מינימום-מקסימום 1.תיאור כללי. 2.מימוש עבור Othello. 3.חקר ביצועים.

  6. תיאור כללי של אלגוריתםMinMax: • - הגדרת ניקוד מוחלט לכל מצב של הלוח. • הגדרת פונקציה שמקבלת לוח בלבד ומחזירה מספר. • (ללא תלות בשחקן שכרגע תורו). • שני שחקנים, האחד נקרא Minimum. השני נקרא Maximum. • השחקן Minimum שואף להביא את מצב המשחק לניקוד מינימלי. • השחקן Maximum שואף להביא את מצב המשחק לניקוד מקסימלי.

  7. תיאור כללי של אלגוריתםMinMax - המשך: • כל שחקן "יודע" שהשחקן האחר שואף לניקוד עם סימן הפוך ממנו. • בניית עץ של כל המסעים האפשריים עד לעומק מסוים. • (גובה העץ נקבע לפי רמת המשחק).

  8. 2. מימוש עבור Othello: • הגדרת ניקוד מוחלט לכל מצב של הלוח: • א) קביעת ערך לכל משבצת בלוח המשחק: הערה: שימו לב לניקוד הגבוה של הפינות.

  9. 2. מימוש MinMaxעבור Othello - המשך: • ב) הגדרת ערך לכל מצב של משבצת בלוח המשחק: משבצת עם דיסק אדום = 1- = משבצת עם דיסק אפור = 1 = משבצת ריקה = 0 =

  10. ג) ניקוד מצב הלוח: • לוח המצב: • לוח הניקוד: הכפלה סיכום 21

  11. ד) בדיקת כל המסעים האפשריים: • דוגמא: משחק ברמה 2: MAX 2,4 15- MIN 1,5 5,6 8,1 12 40 15- MAX

  12. ד) בדיקת כל המסעים האפשריים: • דוגמא: משחק ברמה 2: 10 Selected move is 4,6 MAX 1,5 2,4 4,6 -15 10 5 MIN 1,5 5,6 2,5 1,7 1,2 2,4 8,1 4,5 12 40 -15 20 10 14 5 11 MAX

  13. 3. חקר ביצועים: • א) מחשב נגד מחשב עם לוחות ניקוד שונים. • ב) מחשב נגד מחשב ברמות שונות.

  14. א) מחשב נגד מחשב עם לוחות ניקוד שונים: • לוח עם ניקוד יתר לפינות: הלוח הטריוויאלי: שני הלוחות הפסידו ברוב מוחלט של המשחקים נגד הלוח ניקוד שכבר הוצג גם כאשר שחקו ברמה גבוהה יותר. הערה: ב"רוב" ולא בכל כיון שיש גורם אקראי בבחירה בין מסעים שונים עם אותו ניקוד

  15. ב) מחשב נגד מחשב ברמות שונות. • תזכורת: לוח הניקוד שניבחר: -כאשר שני השחקנים משתמשים בלוח הניקוד שניבחר, השחקן ברמה הגבוה יותר ניצח ברוב מוחלט של המשחקים.

  16. 3. חקר ביצועים – מסקנות. רמת המשחק נקבעת לפי הסעיפים הבאים: (הסעיפים מסודרים לפי סדר חשיבות) • לוח הניקוד • גובה העץ (level) • מי משחק ראשון – כנראה לא משפיע בכלל (בגלל גורם האקראיות של האלגוריתם)

  17. מאפייני המשחק 1.מצב (mode) המשחק. 2.רמת המשחק. 3.הוספות.

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

  19. רמת המשחק: • רמת המשחק נקבעת ע"י המשתמש בתחילת כל משחק. • היא נעה בין 2 ל-5. • בפחות מ-2 המחשב בעצם לא חושב הלאה. • ביותר מ-5 המשחק איטי מדי.

  20. הוספות: • על הלוח ישנם 3 תפריטים. • בתפריט game ישנה אפשרות לעצור את המשחק, להמשיך את ריצתו, לבצע undoעבור המהלך (הכפול) האחרון, או להתחיל משחק חדש. • בתפריט Helpישנה אפשרות ללמוד את כללי המשחק, וכן לקרוא על מתכנני התוכנית. • בתפריט Optionsישנה אפשרות לבקש רמז (המהלך שאותו המחשב היה משחק ) או לראות את כל המהלכים האפשריים.

  21. תפריט :Options רמז. מסעים אפשריים. מהלך אחרון שבוצע.

  22. בסיס נתונים (Data Base) בסיס הנתונים מחזיק נתונים עבור כל משתמש (שהכניס את שמו בתחילת המשחק) כולל רמת המשחק והתוצאה (כמה כמה בסוף המשחק). כמו כן תתוחזק רשימת עשרת השיאים ממוינת.

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

  24. חלקי התוכנית: • Graphic design (GUI). • The algorithm. • Game manager. • Implementation of the game board. • Data Base design. • Web site.

  25. DataBaseButtons -שאילתא לבסיס הנתונים Othello- אחראי-על Game manager (Flow manager) Actions Listener GUI (Dialogs, Board) MinMax Board Move

  26. Web site: www.tau.ac.il/~vishnena Research version: www.tau.ac.il/~gedal2

More Related