משחק סנייק... - תכנות - HWzone פורומים
עבור לתוכן
  • צור חשבון

משחק סנייק...


OmerS

Recommended Posts

אני רוצה לעשות משחק סנייק לדוס..

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

בתודה מראש,

עומר..

קישור לתוכן
שתף באתרים אחרים

  • 2 שבועות מאוחר יותר...

עשיתי פעם משחק כזה גם ב VB וגם ב C .

ב C הרעיון הכללי הוא לולאה אין סופית שמקבלת מקשים (ASCI) והנחש ממשיך באותו כיוון כל עוד הוא לא קיבל מקש שונה.

עוד טיפ: נגיד והנחש פונה שמאלה והוא מורכב כבר מ 20 איברים והמשתמש לוחץ בזריזות ללא הפסקה על למעלה,ימינה,למעלה ,שמאלה.

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

תחשוב על זה ותבין.

קישור לתוכן
שתף באתרים אחרים

יותר מאיך לעשות חשוב שתבין איפה הבעיה

כשאתה מבקש מהמחשב לחכות לפעולת מקלדת יש לך (ברוב שפות התכנות)

כמה סוגים של פקודות (blocking & not Blocking)

כךומר פקודות שמחכות עד לקבלת מקש כל שהוא (או תו אחד או enter)

ופקודות שרק בודקות אם מקש כלשהוא נלחץ והמידע של המקש נצא בבפר (buffer)

של מערכת ההפעלה.

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

דרך אגב - אתה יכול גם לבנות את זה בצורה של שני תהליכים (או טרדים)

ויהיה תהליך אחד שיחכה ללחיצות המשתמש והשני פשוט יריץ את המשחק כל עוד התהליך השני לא נתן לא איזו הודעה (אבל למשחק פשוט כזה זה פיתרון עמוס מדי)

קישור לתוכן
שתף באתרים אחרים

ארכיון

דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.

×
  • צור חדש...