ABA


"שאלות בשפת C!"
גירסת הדפסה        
קבוצות דיון פיתוח, תיכנות ובניית אתרים נושא #8364 מנהל    סגן המנהל    מפקח   Winner    צל"ש   מומחה  
אשכול מספר 8364
liranh  לחץ כאן להצגת דירוג המשתמש
חבר מתאריך 16.6.09
4157 הודעות, 1 פידבק, 2 נקודות
   21:11   22.11.02   
אל הפורום  
  שאלות בשפת C!  
 
   תשעמו אנשים אני צריך להכין פרוייקט ב-C, כיתה י"ב, רמה של 3 יח"ל.
עכשיו תיכננתי על המשחק חלליות (זה מהאטארי שאתם משחקים חללית ויורים על אובייקטים נעים), אבל יש לי קצת בעייה.
דבר ראשון (ולא כל כך עקרוני)- תיכננתי ליצור את החללית כמצביע של העכבר ואז להשתמש בו, ולתת לו להזיז את העכבר אך ורק בציר אופקי (הירייה גם מהעכבר כמובן).
אז הבעייה פה בעצם, היא איך ליצור מצביע משלי, של חללית?

דבר שני- הבעייה העקרונית- איך אני יכול שהתוכנית תעשה 2 דברים ביחד??
זה דבר שהרבה זמן אני מנסה להבין! איך אני עושה שלדוגמא אני אזיז את החללית ובו-בזמן כל האובייקטים (שאני צריך לירות עליהם) יזוזו??

תודה מראש!


                                שתף        
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד

  האשכול     מחבר     תאריך כתיבה     מספר  
  לגבי Michael 22.11.02 23:27 1
     תודה על העזרה גבר. שאלה: liranh  23.11.02 00:30 2
         זהו Michael 23.11.02 10:26 3
             אחי את זה אני יודע... liranh  23.11.02 11:56 4
  הנה אחי תראה ניסיתי לעשות תוכנית כזאת liranh  23.11.02 12:45 5
     פשוט Michael 23.11.02 13:59 6
         עריכה liranh  23.11.02 13:59 7
  לגבי מיקבול, dryice 23.11.02 15:28 8
     וואלה רעיון יפה! liranh  23.11.02 17:26 9

       
Michael

דרג אמינות חבר זה
   23:27   22.11.02   
אל הפורום  
  1. לגבי  
בתגובה להודעה מספר 0
 
   הדבר הראשון בעיקרון אתה יכול להשתמש בשיטה מאד פשוטה בכדי לצייר
אתה יכול לצייר את החללית וברגע ההסמן זז אתה מוחק את החללית ומצייר אותה במיקום הנוכחי מחדש
הנה עשיתי דוגמא

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

דרך אגב גם אני בימים אלו כותב פרויקט בC לבית ספר.
וזה חתיכת כאב ראש גדול!!!


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
liranh  לחץ כאן להצגת דירוג המשתמש
חבר מתאריך 16.6.09
4157 הודעות, 1 פידבק, 2 נקודות
   00:30   23.11.02   
אל הפורום  
  2. תודה על העזרה גבר. שאלה:  
בתגובה להודעה מספר 1
 
   איך הפקודה delay תעזור לי בביצוע 2 פעולות בו-זמנית?
וכן, החללית נעה בציר אחד.


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
Michael

דרג אמינות חבר זה
   10:26   23.11.02   
אל הפורום  
  3. זהו  
בתגובה להודעה מספר 2
 
   שאמרתי בכדי ליצור את האשלייה של תנועת החלליות אתה תיהיה צריך להשתמש בפקודה delay ובגלל הdelay הזה תיהיה בעיה עם העכבר.

הנה הכנתי תוכנית שמדגימה לך אנימציה http://rotter.net/User_files/nor/3ddf3aa9547d823f.zip)

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


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
liranh  לחץ כאן להצגת דירוג המשתמש
חבר מתאריך 16.6.09
4157 הודעות, 1 פידבק, 2 נקודות
   11:56   23.11.02   
אל הפורום  
  4. אחי את זה אני יודע...  
בתגובה להודעה מספר 3
 
   הנה גם אני עשיתי תוכנית דומה:

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


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
liranh  לחץ כאן להצגת דירוג המשתמש
חבר מתאריך 16.6.09
4157 הודעות, 1 פידבק, 2 נקודות
   12:45   23.11.02   
אל הפורום  
  5. הנה אחי תראה ניסיתי לעשות תוכנית כזאת  
בתגובה להודעה מספר 0
 
   אבל הבעייה שלי היא- אחרי שה-kbhit() זיהה שהמשתמש הכניס תו, איך הוא יודע מה היה התו?? ניסיתי לעשות ch=kbhit() וזה לא עבד..
תראה את התוכנית..

תודה גבר.


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
Michael

דרג אמינות חבר זה
   13:59   23.11.02   
אל הפורום  
  6. פשוט  
בתגובה להודעה מספר 5
 
   אתה צריך לעשות אחרי הkbhit להוסיף
את הפקודה ch=getch
אז בch יופיע התו שנלחץ


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
liranh  לחץ כאן להצגת דירוג המשתמש
חבר מתאריך 16.6.09
4157 הודעות, 1 פידבק, 2 נקודות
   13:59   23.11.02   
אל הפורום  
  7. עריכה  
בתגובה להודעה מספר 6
 
   עבר עריכה לאחרונה בתאריך 23.11.02 בשעה 14:08
 
וואלה אחי זה עובד תודה (!) אני רק צריך לעשות כמה שיפוצים


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
dryice

דרג אמינות חבר זה
   15:28   23.11.02   
אל הפורום  
  8. לגבי מיקבול,  
בתגובה להודעה מספר 0
 
   כמובן שאי אפשר באמת לעשות הרבה דברים בו זמנית, אבל
אפשר להתקרב, יש לנו כל מיני דברים שאנחנו רוצים לעשות "במקביל"
ולרבים מהם יש קצב משלהם למשל תנועה רוצים לעשות שתהיה בקצב
מסוים.
אנחנו ממש לא רוצים להשתמש בפקודה DELAY בשביל ליצור את אשליית
התנועה כי בזמן הזה אנו נרצה לבדוק דברים אחרים בתוכנית.

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

DRYICE


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
liranh  לחץ כאן להצגת דירוג המשתמש
חבר מתאריך 16.6.09
4157 הודעות, 1 פידבק, 2 נקודות
   17:26   23.11.02   
אל הפורום  
  9. וואלה רעיון יפה!  
בתגובה להודעה מספר 8
 
   אני אנסה אותו תודה אחי!


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד

תגובה מהירה  למכתב מספר: 
 
___________________________________________________________________

___________________________________________________________________
למנהלים:  נעל | תייק בארכיון | מחק | העבר לפורום אחר | מחק תגובות | עגן אשכול
       



© כל הזכויות שמורות ל-רוטר.נט בע"מ rotter.net