از طریق منوی جستجو مطلب مورد نظر خود در وبلاگ را به سرعت پیدا کنید
جاوا اسکریپت: ایجاد اعداد تصادفی در محدوده ما به عنوان توسعه دهندگان نرم افزار اغلب در موقعیت هایی قرار می گیریم که باید مقداری تصادفی را در کد خود وارد کنیم. در این مقاله به روش تولید اعداد تصادفی در جاوا اسکریپت خواهیم پرداخت. ما همچنین به چند روش داخلی برای مقابله با اعداد تصادفی خواهیم پرداخت. توسط…
سرفصلهای مطلب
معرفی
ما به عنوان توسعهدهندگان نرمافزار اغلب در موقعیتهایی قرار میگیریم که باید مقداری تصادفی را در کد خود وارد کنیم.
در این مقاله به روش تولید اعداد تصادفی در جاوا اسکریپت خواهیم پرداخت. ما همچنین به چند روش داخلی برای مقابله با اعداد تصادفی خواهیم پرداخت. در پایان، ما از این دانش با نوشتن تابعی برای شبیه سازی یک قالب شش وجهی به خوبی استفاده خواهیم کرد.
تولید اعداد تصادفی در جاوا اسکریپت
Math.random()
در جاوا اسکریپت یک عدد تصادفی ممیز شناور (اعشاری) بین آنها تولید می کند 0
و 1
(شامل 0، اما نه 1). بیایید این را با تماس بررسی کنیم:
console.log(Math.random())
این یک عدد ممیز شناور شبیه به زیر را تولید می کند:
0.9261766792243478
اگر با درصدها سر و کار دارید، مانند هر مقداری که بین آنها وجود دارد، این کار مفید است 0
و 1
، که به دو رقم اعشار گرد شده است، می تواند به عنوان صدک در نظر گرفته شود.
تولید اعداد کامل تصادفی در محدوده
با این حال، ما معمولاً با اعداد ممیز شناور در محدوده 0 تا 1 سروکار نداریم. بنابراین، بیایید به راهی برای گرد کردن اعداد ممیز شناور نگاه کنیم.
ما میتوانیم گرد کردن یک عدد ممیز شناور با استفاده از Math.floor()
. به همین ترتیب، ما می توانیم گرد کردن یک عدد از طریق Math.ceil()
تابع:
console.log(Math.floor(3.6))
console.log(Math.ceil(3.6))
این خروجی را به ما می دهد:
3
4
بیایید یک عدد تصادفی بین آنها تولید کنیم min
و max
، شامل نمیشود max
:
function randomNumber(min, max){
const r = Math.random()*(max-min) + min
return Math.floor(r)
}
متناوبا، میتوانستیم اضافه کنیم max
با Math.ceil()
در عوض عملکرد
ما در حال ضرب شدن با (max-min)
برای تبدیل محدوده (0،1) به (0، max-min
). در مرحله بعد، برای به دست آوردن یک عدد تصادفی در محدوده مورد نیاز، ما اضافه می کنیم min
. در نهایت، ما این را با استفاده از یک عدد صحیح گرد می کنیم Math.floor()
.
بیایید این روش را چند بار فراخوانی کنیم و نتایج را مشاهده کنیم:
for (var i = 0; i < 10; i++) {
console.log(randomNumber(0, 10))
}
این خروجی چیزی شبیه به:
8
3
3
0
1
1
8
2
8
8
نتیجه
تولید اعداد شبه تصادفی در یک برنامه می تواند برای شبیه سازی غیرقابل پیش بینی بودن دشمن در بازی یا برای تصادفی سازی جنگل ها در یک بازی بلوک مانند که همه ما می شناسیم و دوست داریم استفاده شود. همچنین میتوان از آن برای شبیهسازی ورودیهای تصادفی در حین آزمایش برنامه دیگری که نوشتید استفاده کرد.
در هر صورت، تولید یک عدد تصادفی یک ابزار مهم در جعبه ابزار هر مهندس است و باید تا حد امکان با روشها و الگوریتمهای مختلف تولید گسترش یابد. این مقاله تنها اولین گام برای یادگیری تولید اعداد تصادفی بود.
منتشر شده در 1403-01-18 18:36:05