עזרה לוגית:)

mayan456

New member
עזרה לוגית:)

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


Timer=new timer (500,8);
Counter=0;
Timer.addEventListener(TimerEvent.TIMER,loterry);
Public function loterry(e:TimerEvent):void
Num=math.random()*3+1;
arrMyNumber[counter]=num;
cםunter++;

זה כנראה לא הפתרון... ניסיתי לחשוב על משהו אחר ולא הצלחתי...
עזרה מישהו? :)
 

erezor

New member
כמה הסברים

מה שהפונקציה שלך עושה זה פשוט להכניס מספר אקראי שאינו שלם (תמיד ייצא לך שבר לפי מה שכתבת בקוד, כי Math.random מחזיר מספר בין 0 ל-1), ואת עושה את זה 8 פעמים, בהפרשים של חצי שניה.
יש כמה דרכים לשפר את הקוד (למשל, אין לך צורך במשתנה counter, כי את יכולה להוסיף משתנים חדשים למערך באמצעות פקודת push).
עכשיו, אם רצית שהסימון יעבור בין כל התשובות, אני הייתי עושה משהו אחר. למשל:
1. מגריל את התשובה שהיא "בחירת הקהל"
2. מתחיל את הסימון בתשובה הראשונה, ואז עובר על כולן פעם אחת לפי הסדר. בסיבוב השני, הייתי עושה בדיקה האם התשובה היא זו שנבחרה, ואז עוצר שם.
 
למעלה