Blame |
Last modification |
View Log
| RSS feed
package com.gebauz.bauzoid.math;
import java.util.Random;
import java.util.Vector;
public class RandomChooser
{
public class PoolEntry
{
private int mIndex
;
public PoolEntry
(int index
)
{
mIndex = index
;
}
public int getIndex
()
{
return mIndex
;
}
}
private Vector<PoolEntry
> mEntries =
new Vector<PoolEntry
>();
private Random mRandomizer =
new Random();
public RandomChooser
()
{
}
public void addEntry
(int index,
int amount
)
{
for (int i =
0; i
< amount
; i++
)
{
mEntries.
add(new PoolEntry
(index
));
}
}
public int chooseEntry
(int whichEntry
)
{
if (whichEntry
< 0)
whichEntry =
0;
if (whichEntry
>= mEntries.
size())
whichEntry = mEntries.
size() -
1;
return mEntries.
get(whichEntry
).
getIndex();
}
public int chooseEntry
()
{
if (mEntries.
size() ==
0)
{
return -
1;
}
return chooseEntry
(mRandomizer.
nextInt(mEntries.
size()));
}
/* public void printDebug()
{
for (int i = 0; i < mEntries.size(); i++)
{
System.out.println("Entry " + mEntries.get(i).getIndex());
}
}*/
}