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

כתיתב משחק שובר קירות ב JAVA


sharpsharp

Recommended Posts

מעוניין לבנות משחק שובר קירות (זה עם הכדור). ב JAVA עם החבילה GRAPHICS (כלומר זאת שמציירת קוים, ריבועים, עיגולים - מינמום גרפיקה)

כמה שאלות.

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

1. איך אני יודע הכדור פגע בלבנה? ואז למחוק אותה?

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

או שהוא פוגע בקירות הצדדים?

קודם כל אם תוכלו לתת לי רעיונות להתחלה כמו מבני נתונים וכדומה ואיך לייצג את אובייקטי המשחק.

ועל השאלות

תודה

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

הידע שלי בקשר לתכנות מאוד בסיסי, אבל לדעתי כדאי לך לחשוב על מטריצה (מערך דו מימדי) שזה "עולם" המשחק שלך.

הכדור יודע לעבור נגיד איפה שיש 0, ואילו איפה שיש 1, התא יגרום לו לעוף לכיוון אחר.

כמובן שכל תא יהיה בנוי מכמה תאים במטריצה (אחרת הכדור שלך יהיה קוביה בעצמו.

ככה אני הייתי ניגש לבעיה הזו בכל אופן...

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

1) רוב המשחקים בנויים מלולאה אינסופית -

קלוט קלט

חשב מיקומים לפי הקלט והזמן שעבר מהפעם האחרונה שחישבת אותם

הצג את כל האובייקטים שלך למסך

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

3) תזרוק כדור על הקיר ותמצא חוקיות (רמז - זוית הפגיעה בקיר שווה לזווית החזרה מהקיר, רק הפוכה).

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

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

כנ"ל כשהכדור פוגע בלבנה.

ודבר נוסף איך אני מזהה שפגעתי בקיר. גם לפי קורדינאטות?

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

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

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

שניצל לא כל כך הבנתי אותך, אם תוכל לתת דוגמא מספרית למשל.

X=V*t אני מכיר, אך איך מכניסים מהירות לתיכנות מה המשמעות של זה ואיך זה משפיע על תזוזת הכדור במשחק?

ובכל זמן אני צריך 2 קורדינאטות לכדור(מרכז הכדור) על מנת שאוכל צייר אותו. זאת אומרת בכל תנועה של הכדור אני אמור לקבוע X ו Y. איך אותם אני קובע לפי ההצעה שלך?

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

שניצל לא כל כך הבנתי אותך, אם תוכל לתת דוגמא מספרית למשל.

X=V*t אני מכיר, אך איך מכניסים מהירות לתיכנות מה המשמעות של זה ואיך זה משפיע על תזוזת הכדור במשחק?

ובכל זמן אני צריך 2 קורדינאטות לכדור(מרכז הכדור) על מנת שאוכל צייר אותו. זאת אומרת בכל תנועה של הכדור אני אמור לקבוע X ו Y. איך אותם אני קובע לפי ההצעה שלך?

על טריגונומטריה שמעת? סינוס וקוסינוס?

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

בשביל סינוס וקונסינוס צריך גם זויות וגם צלע. מאיפה אני משיג את הנתונים האלו.

אם תוכל לתת יותר פירוט למה שהתכוונת זה יעזור.

עם מתמטיקה אין לי בעיה. רק תסביר בבקשה.

אם תוכל לתת דוגמא, של כדור שנמצא בנקודה x,y

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

ואיך אתה מחשב זאת. אילו דברים נתונים, ומה מחשבים.

כולל המקרה ההתחלתי שהכדור רק מתחיל לנוע אילו נתונים יש לי ואיך משם אני מתחיל לחשב.

תודה

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

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

אז איך לפי שיטתך הכדור משנה כיוון?

שים לב לקישור ששמתי http://bulltricker.free.fr/USversion/javagames/play-brick-breaker-breakout-game-1/breakout-1-play-brick-breaker.htm

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

ובכל תנועת הכדור יש חשיבות לזויות . זוית הפגיעה שווה לחזרה.

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

בפגיעה בקיר אנכי, המהירות האנכית נשארת אותו דבר, והמהירות האופקית בדיוק מתהפכת.

לא התכוונת הפוך? בפגיעה בקיר אנכי המהירות האנכית מתהפכת והמהירות האופקית נשארת אותו הדבר.

ושוב איך זה עונה לי על שינויי זוית בפגיה במטקה?

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

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

בשיטה הזו הזוית קבועה! עם התזוזה היא 10 פיקסלים לכל ציר הזויות תמיד 45 ולא משנים אותה! לא בעייתי?

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

ארכיון

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

×
  • צור חדש...