Transcript
Page 1: פרויקט: בניית סביבת משחק ממוחשבת

פרויקט: בניית סביבת משחק ממוחשבת

שם התלמידים: תומר עזרא ואופיר ערדמנחה: שי בגון

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

כיתה י"א11.04.07מועד הגשה:

Page 2: פרויקט: בניית סביבת משחק ממוחשבת

עיקרי התכנים

מבוא •הגדרת הפרויקט ומטרותיו•אינטליגנציה מלאכותית•פונקציות בסיסיות•ממשק גרפי•תקשורת•טסטינג•הצעות לשיפור•

Page 3: פרויקט: בניית סביבת משחק ממוחשבת

תקציר

התכנון- שתי אפליקציות מקושרות שמדמות משחק

ישויות שרת – המרות| תקשורת| חוקים| מצב| הרשימה| בינה מלאכותית

ישויות משתמש- המרות| תקשורת| חוקים| מצב |הרשימה| ממשק שרתגרפי|

שחקן שחקן

Page 4: פרויקט: בניית סביבת משחק ממוחשבת

מבוא ורקע

המשחק ארבע בשורה הינו משחק אסטרטגי בין שני שחקנים

חוקי המשחק –

המטרה ליצור רצף של ארבעה חיילי משחק

בנוסף, מניעת השגת מצב דומה מהיריב

הראשון אשר יוצר רצף הוא המנצח

Page 5: פרויקט: בניית סביבת משחק ממוחשבת

. איך יוצרים פרוייקט במחשבים? 1

. מהו מודל נוח לעבודה? 2

. איך מתכננים נכון עבודה בכלל ואיך בצוות? 3

. איך משתפים קוד?4

. כיצד להעצים את חויית המשתמש ע"י שימוש 5בממשק גרפי ובתקשורת בין אפליקציות?

שאלות עליהן המערכת עונה

Page 6: פרויקט: בניית סביבת משחק ממוחשבת

לתכנת וליצור מודל נוח לעבודה למשחק•ללמוד נושאים חדשים בתחום מדעי המחשב •

ועיצוב תוכנהלתכנן אינטיליגנציה מלאכותית•עבודה בצוות ושיתוף קוד•ליצור תקשורת בין תהליכים שונים.•בדיקת התוכנית לוח העבודה שיצרנו •

(testing) מימוש סביבת משחק "ארבע בשורה"•

תיאור מטרות העבודה

Page 7: פרויקט: בניית סביבת משחק ממוחשבת

• Microsoft VISUAL C++ 6.0

• )MFC(

• )PIPES(

• www.sourceforge.net

• CVS

תיאור סביבת העבודה

Page 8: פרויקט: בניית סביבת משחק ממוחשבת

יצירת סביבת משחק ממוחשבת מרובת •תהליכים

יצירת תקשורת בין שרת-לקוח•

יצירת אינטליגנציה מלאכותית•

יצירת ממשק נוח למשתמש•

ניתוח הבעיה האלגוריתמית

Page 9: פרויקט: בניית סביבת משחק ממוחשבת

תומר אחראי על:

התקשורת בין האפליקציות•

אינטליגנציה מלאכותית•

אופיר אחראי על:

ישויות בסיסיות•

ממשק גרפי•

חלוקת העבודה

Page 10: פרויקט: בניית סביבת משחק ממוחשבת

פונקציות2כוללת •

מינימקס•

הערכת מצב•

אינטליגנציה מלאכותית

Page 11: פרויקט: בניית סביבת משחק ממוחשבת

עץ משחק

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

התקדמות מעמיקה לאורך התורות•

התקדמות לסירוגין בין שחקן ויריב•

עץ משחק

Page 12: פרויקט: בניית סביבת משחק ממוחשבת

עוברת על כל המהלכים למצב מסויים ומחזירה •את מינוס המהלך הטוב ביותר לפי האלגוריתם

המינוס הוא כדי לדמות שכאן תור היריב•

מניחה שהיריב בוחר באפשרות הטובה ביותר •בשבילו אחרת יותר טוב

בעצם-עץ משחק•

מינימקס

Page 13: פרויקט: בניית סביבת משחק ממוחשבת

עץ משחק )כלשהו(-ארבע בשורה )כלשהו...(עץ מינימקס

-15הערכת מצב -21הערכת מצב -15הערכת מצב -17הערכת מצב

21מחזיר 17מחזיר 15מחזיר 15מחזיר

-21מחזיר -17מחזיר

Page 14: פרויקט: בניית סביבת משחק ממוחשבת

רנדומלי •

אסטרטגיה קבועה מראש •

אסטרטגיה לומדת •

מינימקס "עמוק" •

מינימקס "מהיר" •

שילוב בין אסטרגיות•

אלגוריתמים קיימים לפתרון הבעיה

Page 15: פרויקט: בניית סביבת משחק ממוחשבת

מטרתה לנקד באופן יחסי כל לוח •

עוברת על כל הרבעיות בלוח•

משלימה את המינימקס•

הערכת מצב

Page 16: פרויקט: בניית סביבת משחק ממוחשבת
Page 17: פרויקט: בניית סביבת משחק ממוחשבת
Page 18: פרויקט: בניית סביבת משחק ממוחשבת

ישות מצב•

ישות חוקים•

ישות הרשימה•

מופיעות גם בלקוח וגם בשרת•

הכרחיות למשחק תקין•

ישויות בסיסיות

Page 19: פרויקט: בניית סביבת משחק ממוחשבת

כוללת:

פונקציות הקשורות בלוח המשחק•

איפוס•

החזרת ערך בנקודה•

העתקת לוח•

ביצוע מהלך•

בטל מהלך•

ישות מצב

Page 20: פרויקט: בניית סביבת משחק ממוחשבת

ישות בה נכללים חוקי המשחק•

בין היתר:•

בדיקת מנצח•

בדיקת תור•

גובה הטורים•

עדכון מהלכים אופציונליים•

עדכון גבהים•

חוקים

Page 21: פרויקט: בניית סביבת משחק ממוחשבת

ישות הכוללת רשימת מהלכים אותם אפשרי •לבצע

מוסיפה מהלכים לרשימה•

יוצרת רשימות•

מוחקת אותן•

אומרת האם מהלך חוקי )איבר ברשימה(•

הרשימה

Page 22: פרויקט: בניית סביבת משחק ממוחשבת

תפקידו לקשר בין המשתמש האנושי לבין •המחשב

כולל אמצעי פלט וקלט•

תצוגה צבעונית דו מימדית )חדשנית ביותר...(•

מסך רגיש ללחיצות עכבר•

חלונות עזרה, אודות ואפשרויות•

ממשק גרפי

Page 23: פרויקט: בניית סביבת משחק ממוחשבת

תמונות מסךהה

Page 24: פרויקט: בניית סביבת משחק ממוחשבת

תמונות מסך

Page 25: פרויקט: בניית סביבת משחק ממוחשבת

תמונות מסך

Page 26: פרויקט: בניית סביבת משחק ממוחשבת

תמונות מסךתמונות מסך

Page 27: פרויקט: בניית סביבת משחק ממוחשבת

תמונות מסך

Page 28: פרויקט: בניית סביבת משחק ממוחשבת

תתי ישויות3כוללת בתוכה •

שרת•

משתמש•

ישות עזר- המרות•

נמצאת גם בתוכנת הלקוח וגם בתוכנת השרת•

PIPEכרגע עובדת על •

ישות התקשורת

Page 29: פרויקט: בניית סביבת משחק ממוחשבת

ישות השרת:•

תפקידה להעביר מערך תווים•

ישות המשתמש:•

תפקידה לקבל מערכי תווים ולהעתיקם•

נעזרות לשם כך בישות ההמרות•

ישות השרת והמשתמש

Page 30: פרויקט: בניית סביבת משחק ממוחשבת

סכימה של מהלך במשחק

משתמש שרת2

משתמש 1

התחברות ראשונית

התחברות ראשונית

התחברות לשרת

התחברות למשתמש 1

שליחת סוג משחקהתחברות לשרת

התחברות למשתמש 2

בכל לחיצה )ביצוע מהלך(

בכל לחיצה )ביצוע מהלך(שליחת לוח

שליחת מהלך

שליחת לוח

שליחת מהלך

Page 31: פרויקט: בניית סביבת משחק ממוחשבת

סכימת ישויות השרתניצחו

ראשין

הרשימה

רשימה

מצבקבועים

אינטליגנציה

שרת

משתמש

משחק חוקי

המרותמלאכותית

Page 32: פרויקט: בניית סביבת משחק ממוחשבת

סכימת ישויות הלקוחסיווג

לוח

הרשימה

רשימה

מצבקבועים

מאפיינים

אודות עזרה

שרת

משתמש

משחק חוקי

המרות

Page 33: פרויקט: בניית סביבת משחק ממוחשבת

ע"מ להקל בבדיקת הקוד בכל הקבצים יצרנו •קבצי בדיקה

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

טסטינג

Page 34: פרויקט: בניית סביבת משחק ממוחשבת

בדיקת יעילות הסביבה ע"י שינוי אסטרטגיה•

(IP/TCPשינוי סוג התקשורת )•

שינוי המשחק עצמו•

- CHILD PROCESS שימוש ב•

הצעות לשיפור

Page 35: פרויקט: בניית סביבת משחק ממוחשבת

•MSDN

•www.sourceforge.net

מקורות מידע שונים ברחבי האינטרנט•

מדריך למידה של האוניברסיטה הפתוחה •- מבוא למדעי המחשב 20427לקורס מספר

++Cשפת

ביבליוגרפיה

Page 36: פרויקט: בניית סביבת משחק ממוחשבת

תודה