othello game

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

Upload: colby-reed

Post on 01-Jan-2016

79 views

Category:

Documents


4 download

DESCRIPTION

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

TRANSCRIPT

Page 1: Othello Game

Othello GameOthello Game

Final project in java course

Generated by:

Nahum Vishne,

Gadi Friedman,

Ishai Rosenberg

Page 2: Othello Game

המשחק כללישחקן 1. לכל כאשר מתחיל חיילים 2המשחק

. בתמונה המתואר במצב

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

יש 3. האדום צדי משני כאשר אדום הופך אפור. אפורים חיילים

הוא 4. בו במקום רק חייל להציב רשאי האפור. אדום הופך

המצבים 5. משלושת באחד מסתיים המשחקהבאים:

Page 3: Othello Game

. . שוויון יתכן מלא הלוח

יכול לא שחקן אף . נוסף חייל לשים

. שוויון יתכן

Page 4: Othello Game

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

Page 5: Othello Game

אלגוריתם מינימום-מקסימוםאלגוריתם מינימום-מקסימום

.תיאור כללי.1

.Othello מימוש עבור.2

.חקר ביצועים.3

Page 6: Othello Game

:MinMaxתיאור כללי של אלגוריתם 1.

- הגדרת ניקוד מוחלט לכל מצב של הלוח.

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

)ללא תלות בשחקן שכרגע תורו(.

. השני נקרא Minimum שני שחקנים, האחד נקרא -Maximum.

שואף להביא את מצב המשחק לניקוד Minimumהשחקן .מינימלי

שואף להביא את מצב המשחק לניקוד Maximumהשחקן .מקסימלי

Page 7: Othello Game

: - המשךMinMaxתיאור כללי של אלגוריתם 1.

כל שחקן "יודע" שהשחקן האחר שואף לניקוד עם סימן הפוך -ממנו.

בניית עץ של כל המסעים האפשריים עד לעומק מסוים.-

)גובה העץ נקבע לפי רמת המשחק(.

Page 8: Othello Game

: Othelloמימוש עבור .2

הגדרת ניקוד מוחלט לכל מצב של הלוח:-

:א( קביעת ערך לכל משבצת בלוח המשחק

80-1020202020-1080-10-30-2-2-2-2-30-10

20-23113-220

20-21111-220

20-21111-220

20-23113-220

-10-30-2-2-2-2-30-10

80-1020202020-1080

שימו לב לניקוד הגבוה של הערה:הפינות.

Page 9: Othello Game

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

= 1משבצת עם דיסק אפור =

= 0משבצת ריקה =

=00000000

00000000

00011101001-1-1-1-10

00011-100

00000100

00000100

00000000

Page 10: Othello Game

:ג( ניקוד מצב הלוחלוח הניקוד:

80-1020202020-1080

-10-30-2-2-2-2-30-10

20-23113-220

20-21111-220

20-21111-220

20-23113-220

-10-30-2-2-2-2-30-10

80-1020202020-1080הכפלה

סיכום

00000000

00000000

00011101

001-1-1-1-10

00011-100

00000100

00000100

00000000

00000000

00000000

000113020

001-1-1-1-2-0

00011-100

00000300

000002-00

00000000

21

:לוח המצב

Page 11: Othello Game

ד( בדיקת כל המסעים : האפשריים

2דוגמא: משחק ברמה :

MAX

MIN

MAX

2,4

1,5 5,68,1

15-12 40

15-

Page 12: Othello Game

10 5-15

11540 -1512 10 1420

MAX

MIN

MAX

2,4

1,5 5,68,1

4,61,5

2,5

Selected move is 4,6

4,51,7 1,2 2,4

ד( בדיקת כל המסעים : האפשריים

2דוגמא: משחק ברמה :

10

Page 13: Othello Game

:חקר ביצועים.3

ב( מחשב נגד מחשב ברמות .שונות

א( מחשב נגד מחשב עם לוחות ניקוד .שונים

Page 14: Othello Game

11111111

11111111

11111111

11111111

11111111

11111111

11111111

11111111

לוח עם ניקוד יתר לפינות:•הלוח הטריוויאלי:

200100-100100100100100-200

100-200--10-10-10-10-200-100

100-105225-10100

100-102112-10100

100-102112-10100

100-105225-10100

100-200--10-10-10-10-200-100

200100-100100100100100-200

שני הלוחות הפסידו ברוב מוחלט של המשחקים נגד הלוח ניקוד שכבר הוצג גם כאשר שחקו ברמה גבוהה יותר.

ב"רוב" ולא בכל כיון שיש גורם אקראי בבחירה הערה: בין מסעים שונים עם אותו ניקוד

א( מחשב נגד מחשב עם לוחות ניקוד :שונים

Page 15: Othello Game

ב( מחשב נגד מחשב ברמות .שונות

כאשר שני השחקנים משתמשים בלוח הניקוד שניבחר, - השחקן ברמה הגבוה יותר ניצח ברוב מוחלט של

המשחקים.

תזכורת: לוח הניקוד שניבחר:

80-1020202020-1080-10-30-2-2-2-2-30-10

20-23113-220

20-21111-220

20-21111-220

20-23113-220

-10-30-2-2-2-2-30-10

80-1020202020-1080

Page 16: Othello Game

חקר ביצועים – מסקנות..3

רמת המשחק נקבעת לפי הסעיפים הבאים:

)הסעיפים מסודרים לפי סדר חשיבות(

לוח הניקוד•

(level גובה העץ )•

מי משחק ראשון – כנראה לא משפיע בכלל •)בגלל גורם האקראיות של האלגוריתם(

Page 17: Othello Game

מאפייני המשחקמאפייני המשחק

.המשחק )mode( מצב.1

.רמת המשחק.2

.הוספות.3

Page 18: Othello Game

המשחק 1. :מצב

, משתמש מצב מצבים בשני להתנהל יכול המשחק. מחשב ומצב

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

. נגדו ישחק שהמחשב

. כרגיל לשחק מיועד זה מצב

מחשב והן במצב באדומים הן משחק המחשברמתו, את לקבוע המשתמש על כאשר באפורים

. הצדדים מן אחד כל של

" , י ע האלגוריתם ביצועי את לבדוק מיועד זה מצב , בין השוואה שונות משחק רמות שתי בין השוואה

.' וכו שונים ניקוד לוחות

Page 19: Othello Game

.2: המשחק רמת

. " משחק כל בתחילת המשתמש י ע נקבעת המשחק רמת

בין נעה -2היא . 5ל

- מ . 2בפחות הלאה חושב לא בעצם המחשב

- מ .5ביותר מדי איטי המשחק

Page 20: Othello Game

:הוספות3.

ישנם הלוח .3על תפריטים

, gameבתפריט המשחק את לעצור אפשרות ישנה , לבצע ריצתו את המהלך undoלהמשיך עבור

. , ) חדש) משחק להתחיל או האחרון הכפול

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

המהלך ) Optionsבתפריט רמז לבקש אפשרות ישנהכל ( את לראות או משחק היה המחשב שאותו

. האפשריים המהלכים

Page 21: Othello Game

: תפריטOptions

מסעים רמז.אפשריים.

מהלך אחרון שבוצע.

Page 22: Othello Game

נתונים ) DataבסיסBase)

משתמש כל עבור נתונים מחזיק הנתונים בסיס ) רמת) כולל המשחק בתחילת שמו את שהכניס

.) המשחק ) בסוף כמה כמה והתוצאה המשחק

. ממוינת השיאים עשרת רשימת תתוחזק כן כמו

Page 23: Othello Game

ביישומון: )שאילתא . appletמתבצעת נפרד( : שאילתות סוגי שני לשאול ניתן

,) תוצאות ) כל את הכולל שם לפי אישי מידע. שחקן אותו של המשחקים

, השיאים עשרת רשימת , “ המשחק רמת פ ע כל קודם נקבע ציון כאשר

. התוצאה לפי מכן לאחר ורק

: גישות שתי יש הנתונים לבסיס

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

השחקן אם ורק משתמש במצב רק זמין. שמו את הכניס

Page 24: Othello Game

: התוכנית חלקי

1. Graphic design )GUI(.

2. The algorithm.

3. Game manager.

4. Implementation of the game board.

5. Data Base design.

6. Web site.

Page 25: Othello Game

Othello-על- אחראי

Game manager(Flow manager) GUI

(Dialogs, Board)

MinMax

BoardMove

Actions Listener

DataBaseButtonsהנתונים- לבסיס שאילתא

Page 26: Othello Game

Web site:

www.tau.ac.il/~vishnena

www.tau.ac.il/~gedal2

Research version: