ערכתי לאחרונה בתאריך 13.02.04 בשעה 01:48 בברכה, EviLGuY
אוקיי אז ככה הפרוויקט שלי זה בעצם המשחק scorched earth (המשחק שהיה לפני וורמס) למי שלא מכיר הנה תמונה:
http://www.the-underdogs.org/game.php?gameid=1984אז ככה יש לי כבר רעיון איך לבצע את הכל בכליליות אבל אני בכל זאת רוצה לשמוע את דעתכם... אז ככה הרעיון הוא שאני אעבוד עם פיקסלים (כן מבאס אבל זה הדרך היחידה שאני רואה) הרעיון הוא שיש שני טנקים אחד מול השני וכל אחד צריך לקבוע זווית ועוצמה וככה לשלח פגז אל עבר טנק האויב זהו בגדול כשהפגז פוגע במישור הוא צריך לגרום לו נזק וכן גם לטנק אם הפיצוץ הוא בטווח שלו.
אז מה שאני חושב לעשות זה לתרגם את כל המסך למטריצה בגודל של 640X480. בנייה של כל מישור תעשה ע"י לולאות של בניית קווים הרעיון הוא שכל קו יעשה ע"י תתי קווים שכל אחד מהם באורך פיקסל וככה אני אמלא במטריצה את מיקום הקו במסך למשל ב-1 לוגי לכל נקודת ה-x וה-y שלו במסך וגם מתחתיו...
החלק השני זה בעצם סרטוט הגרף למי שמבין קצת בפיסיקה הנוסחאות בקינמטיקה למציאת נקודות x או y כפונקציה של הזמן הם:
x=v·cosα·t y=v·sinα·t-½at²
|
באמצעות הפונקציות האלו אני יקבע כל פעם שהזמן (t) יעלה בערך קבוע וככה אני אצייר אוביקט בתחילת המסלול יעשה עליו bar בצבע של המסך ויסרטט אותו מחדש עם הערכים החדשים שלו לאחר הזמן הקבוע שהגדרתי לו וכך חלילה וחלילה... לעומת זאת מישהו אמר לי שיש לי אפשרות לצייר את הגרף באמצעות פונקציית arc אבל הבעייה שלי שאם אני מצייר את זה באמת עם arc אין לי ערך לבדוק מתי זה יפגע במישור לעומת זאת אם אני מצייר את זה בעזרת הדרך הראשונה שהסברתי אני יכול כל פעם לבדוק במטריצה אם הערך של המטריצה בפיקסל הזה במסך שווה ל-1 לוגי ואם כן אני מגיע לשלב הבא...
השלב הבא בעצם מחולק לשני חלקים כאשר האובייקט פוגע במישור הוא צריך להתפוצץ אני מתכוון למחוק את האובייקט ובמקומו לצייר עיגול שיתרחב וככה כל הערכים שיהיו בתוך העגול יהפכו מ-1 לוגי ל-0 וככה בעצם העגול שיווצר לא יהיה שייך יותר למישור ואני אצבע אותו בצבע הרקע החלק השני זה שבעצם אני צריך לבדוק אם אחד הטנקים נמצא בתוך העגול וככה בעזרת case אני יקבע את הערך שירד לו מהכוח אם ההטנק כולו בתוך העגול אני יצטרך להפיל אותו למטה שקודקודיו יגעו בעגול...
זהו זה קצת מסובך אבל אני מאמין שזאת הדרך הטובה ביותר שאני יכול לפעול אתם חושבים שזה בר ביצוע? אם יש לכם רעיונות אחרים או רעיונות לשיפור אני אשמח לשמוע כי אני פשוט כבר צריך להגיש תוכנית עבודה ולהתחיל לעבוד....