Reputation: 1
Currently I'm developing a game using C# and Unity3d for my project at school
I'm trying to figure out how to generate random numbers based on a specific number. My Game Runs like this for example you were given a base number of "6", I need some tips on how to generate possible combination of numbers based on number "6" using addition for example it will generate numbers 2+2+2 = 6
or 1+1+4 = 6
or 3+3 = 6
and so on
Currently I am using this code to generate random number but i have no idea how to make it generate random number based on a seed
randNumber = Mathf.RoundToInt(Random.Range(0.0f,8.0f));
need help thx in advance sorry just a newbie
Upvotes: 0
Views: 161
Reputation: 6246
Following is a pseudo code :-
randlist = []
int target = 5;
while(target > 0) {
int rand = Random(1,target);
target = target-rand;
randlist.add(rand);
}
print randlist
Note:- Random(1,target)
generates a random number between (1,target) both inclusive.
Upvotes: 0
Reputation: 2061
Randomly pick a number from 1 to the number, add it to a list, and then subtract the drawn number. Repeat until the number reaches 0. Here is an example:
static Random rand = new Random();
private static List<int> GetRandomNums(int number)
{
List<int> list = new List<int>();
while (number != 0)
{
int addend = rand.Next(1, number + 1);
list.Add(addend);
number -= addend;
}
return list;
}
Upvotes: 1