package com.me.missingwords.actors;
import java.util.ArrayList;
import com.badlogic.gdx.scenes.scene2d.Touchable;
import com.me.missingwords.MissingWords;
/**
*
* Representa al jugador humano.
*
*/
public class HumanPlayer extends Player {
private ArrayList<String> playedWords;
public HumanPlayer(String name, MissingWords missingWords) {
super(name, missingWords);
/* Creamos el array con las palabras jugadas por el jugador */
playedWords = new ArrayList<>();
}
/*
* playTurn(): m�todo con el que el jugador juega su turno. Confirma la palabra creada
* y juega el minijuego.
*/
public void playTurn() {
playMinigame(); // Juega el minijuego
/* Restablecemos el score */
missingWords.getGameScreen().getWordScore().setScore(0);
setMyTurn(false); // Acaba su turno
/* Si la cpu falla. ??????
int result = new Random().nextInt(10 - 1 + 1) + 1; // max = 10 y min = 1
if (result <= 9) {
Label confused = new Label("NPC is confused and don't remember any word. So it's your turn again :)", new LabelStyle(new BitmapFont(), Color.BLACK));
confused.setPosition((MissingWords.VIEWPORT_WIDTH - confused.getMinWidth()) / 2, 50);
confused.addAction(Actions.fadeOut(5));
missingWords.getGameScreen().getStage().addActor(confused);
missingWords.getGameScreen().getNpc().setMyTurn(false);
}*/
/* Activamos el turno de la m�quina. Solo para el modo PLAYER VS CPU */
if (!missingWords.isSinglePlayer()) {
missingWords.getGameScreen().getNpc().setTurnFinished(true);
missingWords.getGameScreen().getNpc().setMyTurn(true);
}
}
/* touchScreen(): controla si el jugador puede interactuar con la pantalla */
public void touchScreen(Touchable touchable) {
missingWords.getGameScreen().getTileBox().setTouchable(touchable);
missingWords.getGameScreen().getSubmitBox().setTouchable(touchable);
missingWords.getGameScreen().getLetterClue().setTouchable(touchable);
missingWords.getGameScreen().getLengthClue().setTouchable(touchable);
missingWords.getGameScreen().getTranslationClue().setTouchable(touchable);
missingWords.getGameScreen().getSubmit().setTouchable(touchable);
}
/* addPlayedWord(): a�ade una palabra a la lista de palabras jugadas */
public void addPlayedWord(String word) {
if (!playedWords.contains(word))
playedWords.add(word);
}
/* -------------- Getters and Setters -------------- */
public ArrayList<String> getPlayedWords() {
return playedWords;
}
}