אהלן,
יש לי תוכנית ב-C עם רובוט שבודק תנאי מסויים (אם הוא רואה לבן או שחור ברצפה).
ברגע שהוא רואה לבן, אני נכנס ללולאה שהמטרה שלה היא עצירה למשך זמן מסויים.
בזמן שהוא רואה שחור הוא צריך לרוץ כרגיל.
יש לי טיימר שבניתי, שמודד במילי שניות והנה התוכנית הספציפית.:
בקיצור, מה שקורה, זה שברגע נתון הוא רואה לבן ונכנס ללולאה - אבל עד שמתבצעת העצירה הוא כבר עבר את הלבן ורואה שחור שוב, ומה שחסר לי בתוכנית זה דרך להגיד לו שברגע שהוא רואה לבן, שייכנס ל-IF ולא ייצא ממנו עד שהזמן יהיה 3 שניות (ms<3000).קוד HTML:{ if(רואה לבן) { timers(); (טיימר מתחיל) if(ms<3000) (אם זמן קטן מ3 שניות) { כבר מנועים; } } else { ms=0; סע כרגיל(); } }
מה שקורה בפועל זה שהטיימר מתחיל והתנאי מתקיים אבל התוכנית עוברת לIF השני הרבה לפני שעוברות 3 שניות (כי הוא כבר רואה שחור).
אשמח לעזרה, תודה רבה!








עוד אין לך

