PDA

View Full Version : سوال: تولید اعداد به صورت رندوم و نامساوی



mohammad_chavoshi
دوشنبه 03 اسفند 1394, 14:52 عصر
سلام خسته نباشید
ببخشید یک سوال داشتم
من 4 تا عدد نا مساوی و به صورت رندوم میخاستم از 1 تا 4 هر کاری کردم یا کند عمل کنه یا یک عدد رو پیدا میکرد بقیه رو پیدا نمیکرد این کد من ک دوتا عدد رو چک میکنه:
Random n = new Random();
int a, b, c, d;
a = n.Next(1, 4);
b = n.Next(1, 4);
c = n.Next(1, 4);
d = n.Next(1, 4);
if(a!=b && a!=c && a!=d)
{
label1.Text = a.ToString();
}
else
{
a = n.Next(1, 4);
}
if (b != a && b!= c && b != d)
{
label1.Text = b.ToString();
}
else
{
b = n.Next(1, 4);
}
ممنون

ژیار رحیمی
سه شنبه 04 اسفند 1394, 10:02 صبح
مورد اول برای بازه بزرگتر از چهار

private void button1_Click(object sender, EventArgs e)
{
List<int> numbers = new List<int>();
while (numbers.Count<=4)
{
var item=new Random().Next(1,10);
if(!numbers.Contains(item))
numbers.Add(item);
}
listBox1.DataSource = numbers;

}

مورد دوم حالت Shuffle(بر زدن) یک لیست چهار آیتمی میباشد

private void button1_Click(object sender, EventArgs e)
{
List<int> xList = new List<int>() { 1, 2, 3, 4};
List<int> deck = new List<int>();
var random = new Random();
foreach (int xInt in xList)
deck.Insert(random.Next(0, deck.Count + 1), xInt);
listBox1.DataSource = deck;

}

mohammad_chavoshi
سه شنبه 04 اسفند 1394, 13:16 عصر
مورد اول برای بازه بزرگتر از چهار

private void button1_Click(object sender, EventArgs e)
{
List<int> numbers = new List<int>();
while (numbers.Count<=4)
{
var item=new Random().Next(1,10);
if(!numbers.Contains(item))
numbers.Add(item);
}
listBox1.DataSource = numbers;

}

مورد دوم حالت Shuffle(بر زدن) یک لیست چهار آیتمی میباشد

private void button1_Click(object sender, EventArgs e)
{
List<int> xList = new List<int>() { 1, 2, 3, 4};
List<int> deck = new List<int>();
var random = new Random();
foreach (int xInt in xList)
deck.Insert(random.Next(0, deck.Count + 1), xInt);
listBox1.DataSource = deck;

}


ممنون
من از دومی استفاده کردم
میدونید در کل من پروژه دارم با #c که ی بازی هستش
که به این صورت هستش یک دکمه استارت داره و8 عدد عکس که وقتی روی این دکمه استارت کلیک بشه دوتا عدد چهار رقهمی به صورت رندوم یعنی 4 تا عکس در بالا و 4 تا عکس در پایین فرم دارم میخام وقتی استارت کلیک شد به صورت خودکار چهار عدد رندوم در 4 عکس بالا و متفاوت قرار بگیره و همینطور عکس پایین
بعد کاربر از عکس های بالا که کلیک کرد بعد عکس مثل اون رو در عکس پایین پیدا کنه
خداکنه مفهمومم رو رسونده باشم
مرسی