public final class Dado {
    public static final int CARAS_POR_DEFECTO = 6;
    private final int caras;
    private int numero;
    public Dado(int numero, int caras) {
        this.numero = numero;
        this.caras = caras;
    }
    public Dado(int numero) {
        this(numero, CARAS_POR_DEFECTO);
    }
    public Dado() {
        this.caras = CARAS_POR_DEFECTO;
        tirarDado();
    }
    public int getCaras() {
        return caras;
    }
    public int getNumero() {
        return numero;
    }
    public int tirarDado() {
        return (numero = (int) (Math.random() * caras + 1));
    }
    @Override
    public String toString() {
        switch (numero) {
            case 1:
                return "---\n   \n o \n   \n---\n";
                // return "\u2680\n";
            case 2:
                return "---\n  o\n   \no  \n---\n";
            case 3:
                return "---\n  o\n o \no  \n---\n";
            case 4:
                return "---\no o\n   \no o\n---\n";
            case 5:
                return "---\no o\n o \no o\n---\n";
            case 6:
                return "---\no o\no o\no o\n---\n";
            default:
                return "" + numero;
        }
    }
}
