מציאת נתיב

erezor

New member
מציאת נתיב

לפרוייקט שאני עובד עליו אני צריך למצוא נתיב עבור כלי רכב. אני קצת עצלן בשלב הזה, ואין לי כוח להתחיל לבנות אלגוריתמים בעצמי. מישהו מכיר משהו מוכן שאפשר להיעזור בו עבור פלאש AS3? תודה!
 

erezor

New member
A*

הבעיה היא שרוב המדריכים והמחלקות של A* מתייחסים ללוח עם משבצות/מעויינים, ואני צריך משהו "חופשי" יותר - כמו, למשל, במשחקי RTS.
 

erezor

New member
כשאני אומר מעויינים...

אני מתכוון למשושים. קשה לי לעשות מעברים בין עברית ו-actionscript.
 

De-Panther

New member
לכן הצעתי וואיפוינטס. מה שזה אומר זה לקבוע...

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

erezor

New member
הצלחתי...

מה שעשיתי בסוף היה לשרטט קו בין הרכב ליעד שלו (רוחב הקו שווה לרוחב הרכב), ולבדוק אם יש collision בין הקו לבין פריטים אחרים. אם יש, המשחק מחשב את רוחב האובייקט שמסתיר, בוחר בנתיב הקצר ביותר ומשרטט מהנקודה הזו קו חדש אל היעד, ושוב בודק אם יש התנגשות. כל התהליך הוא רקורסיבי, כמובן, עד שמתקבל נתיב ליעד. יכולתי לייעל את זה עוד יותר, אבל באמת שלא ראיתי שום צורך כרגע להוסיף אלגוריתם מתוחכם יותר (שבודק את כל הנתיבים האפשריים, למשל - כרגע הוא תמיד יבחר במקטעים הקצרים ביותר, ולא בהכרח בדרך הכוללת הקצרה ביותר). זה מספיק טוב כרגע.
 
למעלה