ABA


"שאלה בקשר לסנייק ו-C#."
גירסת הדפסה        
קבוצות דיון פיתוח, תיכנות ובניית אתרים נושא #13936 מנהל    סגן המנהל    מפקח   Winner    צל"ש   מומחה  
אשכול מספר 13936
TheBinary

   10:03   22.02.07   
אל הפורום  
  שאלה בקשר לסנייק ו-C#.  
 
   ערכתי לאחרונה בתאריך 22.02.07 בשעה 10:10 בברכה, TheBinary
 
אז ככה, בניתי סנייק ב-C#, הוא עובד מעולה, אבל יש בעיה קטנה:
ה"רשת" נשמרת במערך תלת מימדי.
זה הולך ככה:
grid{ROW_NUMBER}{CELL_NUMBER}{0,1}
כשהמימד האחרון 0, הוא מציין מה מכיל התא (0 - כלום, 1 - גוף של הסנייק, 2 - תפוח)
כשהמימד האחרון 1, הוא מציין מה הכיוון של התא. (0 - ימין, 1 - שמאל, 2 - למעלה, 3 - למטה).

עכשיו עשיתי THREAD שקולט מקש, ואם הוא חץ אז הוא משנה את הכיוון של התא שהוא כרגע הראש של הסנייק.

ז"א, במילים פשוטות, ה-THREAD קולט מקשים ובהתאם לכך הוא משנה את כיוון התזוזה של הסנייק.

עכשיו הבעיה - לפעמים יש דיליי בין קליטת המקש עד לשינוי הכיוון.
מה לעשות?

מצורף המשחק המקומפל (EXE) והקוד מקור.


תודה רבה.


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

  האשכול     מחבר     תאריך כתיבה     מספר  
  הצעה בשבילך איך לעשות בלי Thread Sn00py  22.02.07 11:51 1
     לא ממש הבנתי, אתה יכול לפרט קצת יותר? TheBinary 22.02.07 15:05 2
         מה לא הבנת? Sn00py  22.02.07 16:32 3
             אוקי, תודה, אני אנסה לעבוד על זה מחר :) TheBinary 22.02.07 20:40 7
  יש לי נורטון אנטיוירוס וזה התריע לי על HackTool על ה-EX Nesher  22.02.07 19:38 4
     לי יש NOD32, ולא. Sn00py  22.02.07 19:58 5
     WTF... אין לי מושג למה. מצידי תקמפל את הקוד מקור ותריץ :O TheBinary 22.02.07 20:39 6
  לא צריך thread במקרה שלך Net_Boy  23.02.07 14:27 8

       
Sn00py 
חבר מתאריך 1.8.02
2954 הודעות
   11:51   22.02.07   
אל הפורום  
  1. הצעה בשבילך איך לעשות בלי Thread  
בתגובה להודעה מספר 0
 
   מה שיכול לפתור לך את הבעיה....
אתה יכול להשתמש ב Console.KeyAvailable שבודק אם יש מקש זמין, ומחזיר true או flase בהתאם, ואז אתה יכול לעשות לולאה שבודקת את התנאי...
משהו דומה לזה:


while (go.Key != ConsoleKey.Escape)
{
while (!Console.KeyAvailable)
{
// Do BlaBlaBla
}
go = Console.ReadKey(true);
}


תגיד אם הסתדרת, ובהצלחה

\x6C\x65\x65\x74\x68\x61\x78\x30
\x72\x3A\x2D\x29
tresp4sser


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

   15:05   22.02.07   
אל הפורום  
  2. לא ממש הבנתי, אתה יכול לפרט קצת יותר?  
בתגובה להודעה מספר 1
 
  


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
Sn00py 
חבר מתאריך 1.8.02
2954 הודעות
   16:32   22.02.07   
אל הפורום  
  3. מה לא הבנת?  
בתגובה להודעה מספר 2
 
   פשוט תבדוק אם יש KEY זמין, כלומר נלחץ, ואם כן תפעל בהתאם.

\x6C\x65\x65\x74\x68\x61\x78\x30
\x72\x3A\x2D\x29
tresp4sser


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

   20:40   22.02.07   
אל הפורום  
  7. אוקי, תודה, אני אנסה לעבוד על זה מחר :)  
בתגובה להודעה מספר 3
 
  


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
Nesher  לחץ כאן להצגת דירוג המשתמש
חבר מתאריך 2.7.02
2 הודעות, 24 פידבק
   19:38   22.02.07   
אל הפורום  
  4. יש לי נורטון אנטיוירוס וזה התריע לי על HackTool על ה-EX  
בתגובה להודעה מספר 0
 
לעוד מישהו זה קרה??


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
Sn00py 
חבר מתאריך 1.8.02
2954 הודעות
   19:58   22.02.07   
אל הפורום  
  5. לי יש NOD32, ולא.  
בתגובה להודעה מספר 4
 
  

\x6C\x65\x65\x74\x68\x61\x78\x30
\x72\x3A\x2D\x29
tresp4sser


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

   20:39   22.02.07   
אל הפורום  
  6. WTF... אין לי מושג למה. מצידי תקמפל את הקוד מקור ותריץ :O  
בתגובה להודעה מספר 4
 
  


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
Net_Boy  לחץ כאן להצגת דירוג המשתמש
חבר מתאריך 1.4.02
17151 הודעות, 1 פידבק
   14:27   23.02.07   
אל הפורום  
  8. לא צריך thread במקרה שלך  
בתגובה להודעה מספר 0
 
   וכדי לבצע סינכרון אני לא יודע C# או דברים כאלה אבל יש לך פונקציה של
windows api שנקראת WaitForSingleObject שבעצם עד שהthread לא יסתיים לא תהיה הזזה במקרה שלך.


בהצלחה


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

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

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



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