{
int[] array = new int[7];
public int[] GrobA;
public int[] GrobB;
int tru = 0;
// Start is called before the first frame update
void Start()
{
AAA();
BBB();
CCC();
}
void AAA()
{
print("-------------start--------------");
print("-------------45개랜덤--------------");
for (int i = 1; i < array.Length ; )
{
//array[i] = i;
int result = Random.Range(1, 45);
if(tru != result)
{
print(result);
i =i+1;
}
tru = result;
}
}
void BBB()
{
print("-------------GrobA 랜덤--------------");
for (int i = 1; i < array.Length ;)
{
//array[i] = i;
int result = Random.Range(1, GrobA.Length);
if(tru != result)
{
print(GrobA[result]);
i =i+1;
}
tru = result;
}
}
void CCC()
{
print("-------------GrobB 랜덤--------------");
for (int i = 1; i < array.Length ; )
{
//array[i] = i;
int result = Random.Range(1, GrobB.Length);
if(tru != result)
{
print(GrobB[result]);
i =i+1;
}
tru = result;
}
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using UnityEngine;
public class TEST_Num : MonoBehaviour
{
private int[] numbers = Enumerable.Range(1, 45).ToArray();
private List<int> selectedNumbers = new List<int>();
public int SetNumber = 1;
[SerializeField]
private int[] desiredNumbers = new int[] { };
private void Start()
{
SelectNumbers();
DisplaySelectedNumbers();
}
private void SelectNumbers()
{
System.Random random = new System.Random();
while (selectedNumbers.Contains(0) || selectedNumbers.Count < 6)
{
selectedNumbers.Clear();
for (int i = 0; i < Math.Min(desiredNumbers.Length, SetNumber); i++)
{
int requiredNumberIndex = Array.IndexOf(numbers, desiredNumbers[i]);
if (random.NextDouble() < 0.7)
{
selectedNumbers.Add(desiredNumbers[i]);
numbers[requiredNumberIndex] = numbers[numbers.Length - i - 1];
}
}
for (int i = Math.Min(desiredNumbers.Length, 3); i < 6 && selectedNumbers.Count < 6;)
{
int index = random.Next(0, numbers.Length - i);
int selectedNumber = numbers[index];
if (selectedNumber == 0)
{
continue;
}
selectedNumbers.Add(selectedNumber);
numbers[index] = numbers[numbers.Length - i - 1];
i++;
}
}
}
private void DisplaySelectedNumbers()
{
string result = string.Join(", ", selectedNumbers.OrderBy(x => x));
Debug.Log(result);
}
}
'Unity > C#' 카테고리의 다른 글
물체의 랜덤 스케일 (0) | 2021.01.04 |
---|---|
캐릭터 랜덤 애니메이션 (0) | 2021.01.02 |
유리가 깨지는 연출 (0) | 2020.12.15 |
Sin, Cos, Tan (0) | 2020.12.15 |
물체를 회전하고 상하 반복움직임. (0) | 2020.12.11 |