Subversion Repositories AndroidProjects

Rev

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());
                }
        }*/


}