package com.me.missingwords.data; import java.text.DecimalFormat; import com.badlogic.gdx.Gdx; import com.badlogic.gdx.Preferences; /** * * Almacena las estad�sticas del jugador. * */ public class StatsData { private Preferences prefs; private int maxWords, correctWords, gamesWon, gamesLost, cluesUsed; private int scoreBestWord; private float hits; private String percentageHits; private String largestWord, bestWord; public StatsData() { prefs = Gdx.app.getPreferences("stats"); // Creamos el archivo para guardar las stats /* Iniciazlizamos las stats, si no se encuentran, toman el segundo parametro */ maxWords = prefs.getInteger("maxWords", 0); correctWords = prefs.getInteger("correctWords", 0); percentageHits = prefs.getString("percentageHits", "N/A"); gamesWon = prefs.getInteger("gamesWon", 0); gamesLost = prefs.getInteger("gamesLost", 0); cluesUsed = prefs.getInteger("cluesUsed", 0); largestWord = prefs.getString("largestWord", "N/A"); bestWord = prefs.getString("bestWord", "N/A"); scoreBestWord = prefs.getInteger("scoreBestWord", 0); } /* saveData(): guarda la informaci�n en el fichero de preferencias stats */ public void saveData() { prefs.putString("percentageHits", percentageHits); prefs.putInteger("maxWords", maxWords); prefs.putInteger("correctWords", correctWords); prefs.putInteger("gamesWon", gamesWon); prefs.putInteger("gamesLost", gamesLost); prefs.putInteger("cluesUsed", cluesUsed); prefs.putString("largestWord", largestWord); prefs.putString("bestWord", bestWord); prefs.putInteger("scoreBestWord", scoreBestWord); prefs.flush(); } /* calculatePercentageHits(): calcula el porcentaje de aciertos */ public void calculatePercentageHits() { hits = ((float)correctWords / (float)maxWords) * 100; DecimalFormat decimal = new DecimalFormat("0.00"); percentageHits = String.valueOf(decimal.format(hits)); } public void increaseMaxWords() { ++maxWords; } public void increaseCorrectWords() { ++correctWords; } public void increaseGamesWon() { ++gamesWon; } public void increaseGamesLost() { ++gamesLost; } public void increaseCluesUsed() { ++cluesUsed; } /* -------------- Getters and Setters -------------- */ public int getMaxWords() { return maxWords; } public int getCorrectWords() { return correctWords; } public String getPercentageHits() { return percentageHits; } public int getGamesWon() { return gamesWon; } public int getGamesLost() { return gamesLost; } public int getCluesUsed() { return cluesUsed; } public String getLargestWord() { return largestWord; } public void setLargestWord(String largestWord) { this.largestWord = largestWord; } public String getBestWord() { return bestWord; } public void setBestWord(String bestWord, int score) { if (score > scoreBestWord) { this.bestWord = bestWord; scoreBestWord = score; } } }