הרשם שאלות ותשובות רשימת חברים לוח שנה הודעות מהיום

חזור   הוסטס - פורום אחסון האתרים הגדול בישראל > עיצוב גראפי, תכנות על כל שפותיו וקידום ושיווק אתרים > פורום תיכנות

   
|!|

השב
 
כלים לאשכול תצורת הצגה
ישן 06-06-12, 22:32   # 1
WDeveloper
חבר בקהילה
 
מיני פרופיל
תאריך הצטרפות: Nov 2011
הודעות: 73

WDeveloper לא מחובר  

פרסום| משחק שבניתי - איקס עיגול - C#

שלום.

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

http://pastebin.com/5g2j7zei

ביקורות בונות יתקבלו בשמחה (אבל בונות באמת..).

אשמח גם לרעיונות לאיפה להמשיך עכשיו.

תודה
__________________
,Ron Biton
.Web Developer
  Reply With Quote
ישן 06-06-12, 23:02   # 2
OrPol
א.פורום תוכנה
עסק רשום
 
OrPol's Avatar
 
מיני פרופיל
תאריך הצטרפות: Aug 2006
הודעות: 1,979

OrPol לא מחובר  

לא ראיתי פה שימוש בOOP.

מתוך עניין, מה הייתה מטרת כתיבת המשחק? לימוד? או סתם לכיף?

ולמה השתמשת בstatic בכל המתודות?
  Reply With Quote
ישן 06-06-12, 23:12   # 3
WDeveloper
חבר בקהילה
 
מיני פרופיל
תאריך הצטרפות: Nov 2011
הודעות: 73

WDeveloper לא מחובר  

ציטוט:
נכתב במקור על ידי Or Polaczek צפה בהודעה
לא ראיתי פה שימוש בOOP.

מתוך עניין, מה הייתה מטרת כתיבת המשחק? לימוד? או סתם לכיף?

ולמה השתמשת בstatic בכל המתודות?
1. בשביל מה OOP?..
2. לימוד, אני בתחילת דרכי בC#.
3. האמת שאין לי מושג, התחלתי ככה וככה זה המשיך, תוכל להגיד לי למה לא?


תודה על התגובה
__________________
,Ron Biton
.Web Developer
  Reply With Quote
ישן 07-06-12, 02:28   # 4
OrPol
א.פורום תוכנה
עסק רשום
 
OrPol's Avatar
 
מיני פרופיל
תאריך הצטרפות: Aug 2006
הודעות: 1,979

OrPol לא מחובר  

C# היא שפת תכנות מונחית עצמים.
לתכנת בה ״סקריפטאית״ זה אמנם יחסית נח אבל לא נכון.

לצורך העניין היית יכול ליצור class של המשחק, שירוץ על שרת למשל.
כשאתה משתמש בstatic הנתונים עבור כל המופעים (instances) של אותו קלאס נשמרים באותו מקום בזיכרון (במקרה הזה מתןדות),

כך שבשימוש בstatic השרת שלך יעבוד מול מקום יחיד בזיכרון ולא תוכל להשתמש בקלאס במספר מופעים בלי שיהיו לך התנגשויות.

אם תוריד מכולם את הstatic (לא עברתי על הקוד לעומק אבל לא נראה לי שיש מניעה), תוכל לספק ללקוח משחק ״מולטי פלייר״,
כאשר עבור כל שחקן כל מה שתצטרך לעשות זה
Tictactoe tc = new Tictactor() וזהו.


בהצלחה!
  Reply With Quote
ישן 07-06-12, 14:31   # 5
WDeveloper
חבר בקהילה
 
מיני פרופיל
תאריך הצטרפות: Nov 2011
הודעות: 73

WDeveloper לא מחובר  

ציטוט:
נכתב במקור על ידי Or Polaczek צפה בהודעה
C# היא שפת תכנות מונחית עצמים.
לתכנת בה ״סקריפטאית״ זה אמנם יחסית נח אבל לא נכון.

לצורך העניין היית יכול ליצור class של המשחק, שירוץ על שרת למשל.
כשאתה משתמש בstatic הנתונים עבור כל המופעים (instances) של אותו קלאס נשמרים באותו מקום בזיכרון (במקרה הזה מתןדות),

כך שבשימוש בstatic השרת שלך יעבוד מול מקום יחיד בזיכרון ולא תוכל להשתמש בקלאס במספר מופעים בלי שיהיו לך התנגשויות.

אם תוריד מכולם את הstatic (לא עברתי על הקוד לעומק אבל לא נראה לי שיש מניעה), תוכל לספק ללקוח משחק ״מולטי פלייר״,
כאשר עבור כל שחקן כל מה שתצטרך לעשות זה
Tictactoe tc = new Tictactor() וזהו.


בהצלחה!
אוקיי, אקח לתשומת ליבי.
תודה
__________________
,Ron Biton
.Web Developer
  Reply With Quote
ישן 13-06-12, 02:43   # 6
daromri
עסק רשום [?]
 
מיני פרופיל
תאריך הצטרפות: Aug 2006
מיקום: נתניה
גיל: 30
הודעות: 590

daromri לא מחובר  

מה הקשר?
הוא השתמש בstatic בגלל שמדובר בקוד שנעשה בסביבות Console Application, כל הפונקציות שרצות שמה - חייבות להיות פונקציות סטטיות,
כיוון שהן נוצרות עם הפעלת הקוד.
חבל שעשית את זה בConsole Application, היית יכול לעשות משהו נחמד יותר ומגניב יותר בסביבת WINFORMS.
לקוד עצמו -
נחמד מאוד בכללי, רואים שהשקעת, בין אם זה מחשבה לבין אם זה ידע, אבל יש הרבה דברים שיכולת לקצר ולייעל את הפונקציות שיישמת,
למשל:
public static int getWinner(string[,] var)
מרפרוף אני רואה שיכולת לשלוח int כלשהו בנוסף ולבדוק איזה INT חוזר וככה לראות מי המנצח בדרך שתחצה את הקוד בפנים ל-2 (במקום לבדוק 2 מקרים תבדוק 1)

יפה, נחמד מאוד.

תבנה דמקה אם משעמם לך ובהצלחה
  Reply With Quote
ישן 13-06-12, 10:56   # 7
OrPol
א.פורום תוכנה
עסק רשום
 
OrPol's Avatar
 
מיני פרופיל
תאריך הצטרפות: Aug 2006
הודעות: 1,979

OrPol לא מחובר  

ציטוט:
נכתב במקור על ידי daromri צפה בהודעה
מה הקשר?
הוא השתמש בstatic בגלל שמדובר בקוד שנעשה בסביבות Console Application, כל הפונקציות שרצות שמה - חייבות להיות פונקציות סטטיות,
כיוון שהן נוצרות עם הפעלת הקוד.
חבל שעשית את זה בConsole Application, היית יכול לעשות משהו נחמד יותר ומגניב יותר בסביבת WINFORMS.
לקוד עצמו -
נחמד מאוד בכללי, רואים שהשקעת, בין אם זה מחשבה לבין אם זה ידע, אבל יש הרבה דברים שיכולת לקצר ולייעל את הפונקציות שיישמת,
למשל:
public static int getWinner(string[,] var)
מרפרוף אני רואה שיכולת לשלוח int כלשהו בנוסף ולבדוק איזה INT חוזר וככה לראות מי המנצח בדרך שתחצה את הקוד בפנים ל-2 (במקום לבדוק 2 מקרים תבדוק 1)

יפה, נחמד מאוד.

תבנה דמקה אם משעמם לך ובהצלחה
הוא יכל להוציא את זה לCLASS חיצוני (הCLASS של הקונסול סטטי),
קונסול יודע להריץ קלאסים לא סטטיים, ולכן כל מה שאמרתי רלוונטי גם לדימוי של ה "MULTI PLAYER"....
  Reply With Quote
השב

חברים פעילים הצופים באשכול זה: 1 (0 חברים ו- 1 אורחים)
 


חוקי פירסום
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is מופעל
סמיילים הם מופעל
[IMG] קוד מופעל
קוד HTML מכובה

קפיצה לפורום


כל הזמנים הם GMT +2. הזמן כעת הוא 13:25.

מופעל באמצעות VBulletin גרסה 3.8.6
כל הזכויות שמורות ©
כל הזכויות שמורות לסולל יבוא ורשתות (1997) בע"מ