/*
 * Created on 03.01.2005
 *
 * $Id: Roulette.java,v 1.1 2005/06/24 13:56:05 boehm Exp $
 */
package casino;

import java.util.Random;

/**
 * @author <a href="mailto:boehm@javatux.de">oliver</a>
 * @since 03.01.2005
 * @version $revision$
 */
public class Roulette {

    private Random random = new Random();

    /** protected deswegen, damit RouletteTest darauf zugreifen darf */
    protected int wurf;
    
    /**
     * Es wird eine virtuelle Kugel in den Kreisel geworfen und eine Zahl
     * zwischen 0 und 36 zurückgegeben.
     * 
     * @author <a href="mailto:boehm@javatux.de">oliver</a>
     * @since  03.01.2005
     */
    public int werfeKugel() {
        wurf = random.nextInt(37);
        return wurf;
    }
    
    public int getWurf() {
        return wurf;
    }
    
    /**
     * "Pair" sind die geraden Zahlen.
     * @return true bei "Pair"
     */
    public boolean isPair() {
        return ((wurf != 0) && ((wurf % 2) == 0));
    }

    /**
     * "Impair" sind die ungeraden Zahlen.
     * @return true bei "Impair"
     */
    public boolean isImpair() {
        return ((wurf % 2) != 0);
    }

    /**
     * "Manque" sind die Zahlen zwischen 1 und 18
     * @return true bei "Manque"
     */
    public boolean isManque() {
        return ((wurf >= 1) && (wurf <= 18));
    }

    /**
     * "Passe" sind die Zahlen zwischen 19 und 36
     * @return true bei "Passe"
     */
    public boolean isPasse() {
        return (wurf >= 19);
    }

    public String toString() {
        String s = "Nummer " + wurf;
        if (isPair())   s = s + ", PAIR";
        if (isImpair()) s = s + ", IMPAIR";
        if (isManque()) s = s + ", MANQUE";
        if (isPasse())  s = s + ", PASSE";
        return s;
    }

}
