פרויקט : בניית סביבת משחק ממוחשבת שם התלמידים : תומר עזרא ואופיר ערד מנחה : שי בגון שם המורה המלווה : אלי בן שלום בית ספר : תיכון אחד.
Download
Report
Transcript פרויקט : בניית סביבת משחק ממוחשבת שם התלמידים : תומר עזרא ואופיר ערד מנחה : שי בגון שם המורה המלווה : אלי בן שלום בית ספר : תיכון אחד.
פרויקט :בניית סביבת משחק ממוחשבת
שם התלמידים :תומר עזרא ואופיר ערד
מנחה :שי בגון
שם המורה המלווה :אלי בן שלום
בית ספר :תיכון אחד העם פתח תקווה
כיתה י"א
מועד הגשה11.04.07 :
עיקרי התכנים
•מבוא
•הגדרת הפרויקט ומטרותיו
•אינטליגנציה מלאכותית
•פונקציות בסיסיות
•ממשק גרפי
•תקשורת
•טסטינג
•הצעות לשיפור
תקציר
התכנון -שתי אפליקציות מקושרות שמדמות משחק
ישויות שרת – המרות| תקשורת| חוקים| מצב| הרשימה| בינה מלאכותית
ישויות משתמש -המרות| תקשורת| חוקים| מצב |הרשימה| ממשק גרפי|
שרת
שחקן
שחקן
מבוא ורקע
המשחק ארבע בשורה הינו משחק אסטרטגי בין שני שחקנים
חוקי המשחק –
המטרה ליצור רצף של ארבעה חיילי משחק
בנוסף ,מניעת השגת מצב דומה מהיריב
הראשון אשר יוצר רצף הוא המנצח
שאלות עליהן המערכת עונה
.1איך יוצרים פרוייקט במחשבים?
.2מהו מודל נוח לעבודה?
.3איך מתכננים נכון עבודה בכלל ואיך בצוות?
.4איך משתפים קוד?
.5כיצד להעצים את חויית המשתמש ע"י שימוש
בממשק גרפי ובתקשורת בין אפליקציות?
תיאור מטרות העבודה
•
•
•
•
•
•
•
לתכנת וליצור מודל נוח לעבודה למשחק
ללמוד נושאים חדשים בתחום מדעי המחשב
ועיצוב תוכנה
לתכנן אינטיליגנציה מלאכותית
עבודה בצוות ושיתוף קוד
ליצור תקשורת בין תהליכים שונים.
בדיקת התוכנית לוח העבודה שיצרנו ()testing
מימוש סביבת משחק "ארבע בשורה"
תיאור סביבת העבודה
•
•
•
•
•
Microsoft VISUAL C++ 6.0
(MFC)
(PIPES)
www.sourceforge.net
CVS
ניתוח הבעיה האלגוריתמית
•
•
•
•
יצירת סביבת משחק ממוחשבת מרובת תהליכים
יצירת תקשורת בין שרת-לקוח
יצירת אינטליגנציה מלאכותית
יצירת ממשק נוח למשתמש
חלוקת העבודה
תומר אחראי על:
• התקשורת בין האפליקציות
• אינטליגנציה מלאכותית
אופיר אחראי על:
• ישויות בסיסיות
• ממשק גרפי
אינטליגנציה מלאכותית
• כוללת 2פונקציות
• מינימקס
• הערכת מצב
עץ משחק
•תיאור המהלכים והמצבים האפשריים,
במשחק ע"פ הלוח
•התקדמות מעמיקה לאורך התורות
•התקדמות לסירוגין בין שחקן ויריב
מינימקס
•
•
•
•
עוברת על כל המהלכים למצב מסויים ומחזירה את
מינוס המהלך הטוב ביותר לפי האלגוריתם
המינוס הוא כדי לדמות שכאן תור היריב
מניחה שהיריב בוחר באפשרות הטובה ביותר
בשבילו אחרת יותר טוב
בעצם-עץ משחק
)...
כלשהו
(
מינימקס
עץ
עץ משחק (כלשהו)-ארבע בשורה
מחזיר -17
מחזיר 17
הערכת מצב -17
מחזיר 15
הערכת מצב -15
מחזיר -21
מחזיר 21
הערכת מצב -21
מחזיר 15
הערכת מצב -15
אלגוריתמים קיימים לפתרון הבעיה
•
•
•
•
•
•
רנדומלי
אסטרטגיה קבועה מראש
אסטרטגיה לומדת
מינימקס "עמוק"
מינימקס "מהיר"
שילוב בין אסטרגיות
הערכת מצב
• מטרתה לנקד באופן יחסי כל לוח
• עוברת על כל הרבעיות בלוח
• משלימה את המינימקס
ישויות בסיסיות
• ישות מצב
• ישות חוקים
• ישות הרשימה
• מופיעות גם בלקוח וגם בשרת
• הכרחיות למשחק תקין
ישות מצב
כוללת:
• פונקציות הקשורות בלוח המשחק
• איפוס
• החזרת ערך בנקודה
• העתקת לוח
• ביצוע מהלך
• בטל מהלך
חוקים
•
•
•
•
•
•
•
ישות בה נכללים חוקי המשחק
בין היתר:
בדיקת מנצח
בדיקת תור
גובה הטורים
עדכון מהלכים אופציונליים
עדכון גבהים
הרשימה
•
•
•
•
•
ישות הכוללת רשימת מהלכים אותם אפשרי לבצע
מוסיפה מהלכים לרשימה
יוצרת רשימות
מוחקת אותן
אומרת האם מהלך חוקי (איבר ברשימה)
ממשק גרפי
•
•
•
•
•
תפקידו לקשר בין המשתמש האנושי לבין המחשב
כולל אמצעי פלט וקלט
תצוגה צבעונית דו מימדית (חדשנית ביותר)...
מסך רגיש ללחיצות עכבר
חלונות עזרה ,אודות ואפשרויות
הה מסך
תמונות
תמונות מסך
תמונות מסך
תמונות מסך
תמונות מסך
ישות התקשורת
•
•
•
•
•
•
כוללת בתוכה 3תתי ישויות
שרת
משתמש
ישות עזר -המרות
נמצאת גם בתוכנת הלקוח וגם בתוכנת השרת
כרגע עובדת על PIPE
ישות השרת והמשתמש
•
•
•
•
ישות השרת:
תפקידה להעביר מערך תווים
ישות המשתמש:
תפקידה לקבל מערכי תווים ולהעתיקם
• נעזרות לשם כך בישות ההמרות
סכימה של מהלך במשחק
משתמש 1
התחברות ראשונית
שרת
משתמש 2
התחברות לשרת
התחברות למשתמש 1
שליחת סוג משחק
התחברות ראשונית
התחברות לשרת
התחברות למשתמש 2
בכל לחיצה (ביצוע מהלך)
בכל לחיצה (ביצוע מהלך)
שליחת לוח
שליחת מהלך
שליחת לוח
שליחת מהלך
סכימת ישויות השרת
שרת
ניצחון
ראשי
רשימה
משתמש
חוקי משחק
המרות
הרשימה
מצב
קבועים
אינטליגנציה
מלאכותית
סכימת ישויות הלקוח
שרת
סיווג
לוח
רשימה
משתמש
הרשימה
קבועים
חוקי משחק
מצב
המרות
מאפיינים
עזרה
אודות
טסטינג
• ע"מ להקל בבדיקת הקוד בכל הקבצים יצרנו קבצי
בדיקה
• פונקציות או קלאסים שנועדו לבדוק חלק מסויים
בתוכנה
הצעות לשיפור
•
•
•
•
בדיקת יעילות הסביבה ע"י שינוי אסטרטגיה
שינוי סוג התקשורת ()TCP/IP
שינוי המשחק עצמו
שימוש ב CHILD PROCESS -
ביבליוגרפיה
•
•
•
•
MSDN
www.sourceforge.net
מקורות מידע שונים ברחבי האינטרנט
מדריך למידה של האוניברסיטה הפתוחה לקורס
מספר - 20427מבוא למדעי המחשב שפת ++C
תודה