package com.me.missingwords.actors;
import java.util.Random;
import com.badlogic.gdx.graphics.Texture;
import com.badlogic.gdx.graphics.g2d.Batch;
import com.badlogic.gdx.graphics.g2d.TextureRegion;
import com.badlogic.gdx.scenes.scene2d.Actor;
import com.me.missingwords.MissingWords;
/**
*
* Representa el dado del minijuego (1d6).
*
*/
public class Dice extends Actor {
private final int POSITION_X = 490;
private final int POSITION_Y = 55;
private TextureRegion diceTexture; // Textura del dado
private Random r; // Variable que obtendr� el n�mero aleatorio entre 1 y 6
public boolean drawDice; // Booleano que indica si se dibuja el dado o no
private int result; // Resultado obtenido en una tirada
private MissingWords missingWords;
public Dice(MissingWords missingWords) {
r = new Random();
diceTexture = new TextureRegion();
drawDice = false;
this.missingWords = missingWords;
}
@Override
public void draw(Batch batch, float parentAlpha) {
if (drawDice)
batch.draw(diceTexture, POSITION_X, POSITION_Y);
}
/* roll(): realiza una tirada */
public void roll() {
/* Reproducimos el efecto de sonido si est� activo */
missingWords.getSoundFX().getRoll().play(missingWords.getSoundFX().getVolume());
result = r.nextInt(6 - 1 + 1) + 1; // 1d6 -> max = 6 y min = 1
switch (result) {
case 1: diceTexture.setRegion(MissingWords.myManager.get("1.png", Texture.class)); break;
case 2: diceTexture.setRegion(MissingWords.myManager.get("2.png", Texture.class)); break;
case 3: diceTexture.setRegion(MissingWords.myManager.get("3.png", Texture.class)); break;
case 4: diceTexture.setRegion(MissingWords.myManager.get("4.png", Texture.class)); break;
case 5: diceTexture.setRegion(MissingWords.myManager.get("5.png", Texture.class)); break;
case 6: diceTexture.setRegion(MissingWords.myManager.get("6.png", Texture.class)); break;
}
drawDice = true; // Al tirar, indicamos al dado que se dibuje
}
/* -------------- Getters and Setters -------------- */
public int getResult() {
return result;
}
}