استفاده از تابع راندوم یا random برای تولید اعداد تصادفی در فلش:
سلام دوستان خسته نباشین
من می خوام اینجا که در مورد یه حالت راندوم بحث کردین چیزایی رو در مورد تابع راندوم بگم شاید به دردتون نخوره و اینا رو بدونین ولی اینو واسه آیندگان می نویسم تا شاید به درد کسی خورد.ولی برای گفتن این مطالب باید مقدماتی رو از ++C بگم.
در ++c ما برای تولید عدد راندوم یا تصادفی از تابع ()rand استفاده می کردیم ولی با استفاده از این تابع ، اگه ما در یه حلقه 20 تایی 20 تا عدد راندوم تعیین می کردیم و اعداد رو به ترتیب در یه کاغذ ثبت می کردیم و برنامه رو می بستیم و 40 بار دیگه برنامه رو Run می کردیم و به 20 عدد تولید شده در هر بار نگاه می کردیم، می دیدیم که در هر 40 بار اجرای برنامه ، 20 عدد به ترتیب برابر به ما می داد.
اونم دقیقا به همون ترتیبی که در کاغذ نوشتیم.
برای حل این حالت از ()srand استفاده می کردیم و در اون تابع زمان سیستم کامپیوترمونو پاس می دادیم یعنی می نوشتیم :
و بعد از تابع ()rand استفاده می کردیم و دیگه اعدادمون که با ()rand تولید می شد کاملا تصادفی می شد و تولید دنباله اعداد تصادفی در هر لحظه بستگی به زمان اجرای اون داشت.
در فلش این مشکل به صورت پیش فرض حل شد و دیگه خود فلش به صورت پیش فرض زمان رو در کار تولید اعداد تصادفی دخالت می داد.
در فلش تابعی به نام floor هست که اعداد اعشاری رو می گیره و اونا رو به پایین گرد می کنه.یعنی :
PHP:
Math.floor(2.775) == 2 //true
این مثالها رو که می زنم رو با استفاده از اکشن اسکریپت 3 می نویسم .
در فلش ما با استفاده از یکی از متد های کلاس ریاضیات یا Math می تونیم اعداد اعشاری کاملا تصادفی بین صفر و یک بسازیم:
این تابع یک عدد اعشاری کاملا تصادفی بین 0 و 1 بوجود می یاره و در این حین خود 0 و 1 بوجود نمی یان و این امر غیر ممکن و بعید هست که خود 0 و یا 1 بدست بیان ، چون بین این دو بینهایت عدد اعشاری هست.پس در این مورد معمولا تولید خود 0 و 1 رو غیر ممکن می دونن و صرفنظر می کنن.
ما برای بدست آوردن یک عدد صحیح تصادفی بین 1 تا 8 از کد زیر استفاده می کنیم:
PHP:
Math.floor(Math.random()*8+1);
و برای بدست آوردن یک عدد صحیح تصادفی بین 3 تا 9 می نویسیم :
PHP:
Math.floor(Math.random()*7+3);
علت مثال آخر هم اینه که تابع فلور همراه تابع راندوم ضربدر 7 اعداد تصادفی بین 0 تا 6 تولید می کنه و با جمع اون با 3 ، یه عدد صحیح بدست می یاد که حداقل 3 و حداکثر 9 بدست می یاد.
خوب با یاد گیری این مطلب می شه کارهای تصادفی خیلی زیادی کرد از جمله همون چیزی که خواستین یعنی بازی کلمات و امثال اینا .
شما برای تولید بازی کلمات از این روش استفاده می کنین :
یه مووی کلیپ با مثلا 8 تا فریم که تک تک فریم ها با استفاده از F6 جدا از همند و روی هر فریم کلیک کرده و در اون سوالات و جواب ها رو می نویسین.فرض کنین رو هر فریم یه سوال با 4 گزینه جواب داشته باشیم.خوب یه لایه دیگه برا اکشن طراحی می کنیم و فریم فریم لایه اکشن رو با فشار F6 از هم جدا می کنیم و در هر فریم اکشن دستور ()stop به اضافه دستوراتی برای اجرای بعد از انتخاب گزینه و فشار کلید تایید رو می نویسیم. حالا نوبت می رسه به مرحله انتخاب تصادفی .کافیه بنویسین :
PHP:
var i:Number= Math.floor(Math.random()*8+1);
myQuestionMovie.gotoAndStop(i);
با این کار می تونین یکی از این سوالات رو تصادفی ببینیم .
منطق کار اینه حالا هر جوری و هر چند تا که می خوایین از این تابع استفاده کنین و از این سوالا رو انتخاب کنین...
در ضمن من با استفاده از تابع راندوم مثالی رو درست کردم که برا دانلود الحاق کردم حتما دانلود کنین خوشتون می یاد.
بای...