رفتن به مطلب
  • 0

مشکل با ایجاد عدد رندوم یک تا پنج


vistamobile

سوال

سلام دوستان. خوبین خوشین؟ یه سوال در مورد اعداد رندوم. من میخوام عدد یک تا پنج رو رندوم کنم بین 30 تا باتون. یعنی بصورت رندوم بیاد یک تا پنج رو 6 بار تکرار کنه!! 

لینک ارسال
به اشتراک گذاری در سایت های دیگر

5 پاسخ به این سوال تاکنون داده شده است

ارسال‌های توصیه شده

خب 30 دکمه رو میتونی با دوتا حلقه یکی با 6 گام و یکی با 5 گام انجام بدی

حلقه اول میاد یک ردیف رو کامل مقدار دهی میکنه

حلقه دوم هم تک تک دکمه های اون ردیف

شما توی حلقه دوم عمل رندوم سازی رو انجام بده و مقدارشو بریز توی یک Map

قبل از اینکه عدد رو توی Map  بریزی چک کن عددی که درست شده توی  Map  وجود داره یا خیر، اگه وجود داشت که صرف نظر میکنی و دوباره عمل رندوم سازی.اینکارو برای این انجام میدیم که واسه هر ردیف 5 تایی از دکمه ها عدد تکراری نداشته باشیم.

خب وقتیکه حلقه دوم یک دور کامل تموم شد، شما خارج از حلقه دوم که میشه حلقه ی اولمون، میایی Map  رو خالی می کنی، به نوبه ای Reset  می کنی و همین روال واسه کل ایتم ها تکرار میشه.

اگه متوجه نشدی، بگو تا برات تکه کدی بنویسم.

لینک ارسال
به اشتراک گذاری در سایت های دیگر

در در 20 مهر 1398 در 10:49، vistamobile گفته است :

سلام دوستان. خوبین خوشین؟ یه سوال در مورد اعداد رندوم. من میخوام عدد یک تا پنج رو رندوم کنم بین 30 تا باتون. یعنی بصورت رندوم بیاد یک تا پنج رو 6 بار تکرار کنه!! 

به روش جادویی زیر عمل کنید مختارجان:gamer:

اول کد جاوای زیر رو به اکتیویتی اضافه کنید


#If java
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
public List<String> getRandomList() { 
    List<String> mylist = new ArrayList<String>(); 
    mylist.add("1"); 
    mylist.add("2"); 
    mylist.add("3"); 
    mylist.add("4"); 
    mylist.add("5"); 
    Collections.shuffle(mylist);   
   return mylist;
  
    } 
#End If

ساب زیر رو اضافه کنید. این ساب کارش اینه که 6 دسته 5تایی از اعداد رندوم بین 1 تا 5 میسازه.

Private Sub getRandomNumbers() As List()
	Dim arrayMaps(6) As List
	Dim jo As JavaObject
	jo.InitializeContext
	For i=0 To arrayMaps.Length-1
		Dim l As List=jo.RunMethod("getRandomList",Null)
		arrayMaps(i)=l
	Next
	Return arrayMaps
End Sub

حالا به شکل زیر از اعداد استفاده کنید. اینجا ما اعداد رو لاگ کردیم.

Dim listNumbers() As List=getRandomNumbers
	Dim r As Int=0
	For Each  l As List In listNumbers
		For i=0 To l.Size-1
			Dim val As String=l.Get(i)
			Log("num "&i&" from list "&r&" = "&val) 
		Next
		r=r+1
		LogColor("********************************",Colors.Red)
	Next

 

لینک ارسال
به اشتراک گذاری در سایت های دیگر

در در 21 مهر 1398 در 23:47، محمدرضا شاهپیری گفته است :

به روش جادویی زیر عمل کنید

سلام استاد

آیا این کد جاوا از تابع RND خود بیسیک بهتر عمل میکنه ؟

چون این تابع زیاد جالب عمل نمیکنه و گاهی زیاد یک عدد رو تکرار میکنه...

بنده با تابع RND دو عدد در محدوده یک تا شش تولید میکنم و گاهی روی فرضا 2 و 4 گیر میکنه و دائم تکراری میده !

لینک ارسال
به اشتراک گذاری در سایت های دیگر

در در 21 مهر 1398 در 13:17، محمدرضا شاهپیری گفته است :

به روش جادویی زیر عمل کنید مختارجان:gamer:

اول کد جاوای زیر رو به اکتیویتی اضافه کنید



#If java
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
public List<String> getRandomList() { 
    List<String> mylist = new ArrayList<String>(); 
    mylist.add("1"); 
    mylist.add("2"); 
    mylist.add("3"); 
    mylist.add("4"); 
    mylist.add("5"); 
    Collections.shuffle(mylist);   
   return mylist;
  
    } 
#End If

ساب زیر رو اضافه کنید. این ساب کارش اینه که 6 دسته 5تایی از اعداد رندوم بین 1 تا 5 میسازه.


Private Sub getRandomNumbers() As List()
	Dim arrayMaps(6) As List
	Dim jo As JavaObject
	jo.InitializeContext
	For i=0 To arrayMaps.Length-1
		Dim l As List=jo.RunMethod("getRandomList",Null)
		arrayMaps(i)=l
	Next
	Return arrayMaps
End Sub

حالا به شکل زیر از اعداد استفاده کنید. اینجا ما اعداد رو لاگ کردیم.


Dim listNumbers() As List=getRandomNumbers
	Dim r As Int=0
	For Each  l As List In listNumbers
		For i=0 To l.Size-1
			Dim val As String=l.Get(i)
			Log("num "&i&" from list "&r&" = "&val) 
		Next
		r=r+1
		LogColor("********************************",Colors.Red)
	Next

 

سلام استاد عزیز. چک کردم اونی نشد که میخوام. خیلی تکراری میده. من یه چیزی میخوام شبیه این بشه :

random_2.gif

لینک ارسال
به اشتراک گذاری در سایت های دیگر

بایگانی شده

این موضوع بایگانی و قفل شده و دیگر امکان ارسال پاسخ نیست.

  • کاربران آنلاین در این صفحه   0 کاربر

    • هیچ کاربر عضوی،در حال مشاهده این صفحه نیست.
×
×
  • اضافه کردن...