Skip to content
Snippets Groups Projects
Commit 67950d88 authored by v.tarantik's avatar v.tarantik
Browse files

#26 Stats for victory screen

parent 6473c635
No related branches found
No related tags found
No related merge requests found
game_nocnisledovani_btncontinue_text=Hotovo
victory_text_window_mistakes=Chybně označená okna:
victory_text_time_mistakes=Chybně nastavený čas:
victory_text_window_mistakes=Chybně označená okna:{0}
victory_text_time_mistakes=Chybně nastavený čas:{0}
game_nocnisledovani_loadingtext=Dávej pozor, která okna se po setmění rozsvítí a v kolik hodin.\nPo rozednění nastav na hodinách čas a označ okna, která byla rozsvícená.
game_nocnisledovani_victory_text_0=To vypadá, že tady někdo usnul na hlídce.
game_nocnisledovani_victory_text_1=U soudu by tyhle důkazy neuspěly. To ale neznamená, že se nemůže zadařit příště!
......
......@@ -14,6 +14,7 @@ import com.badlogic.gdx.scenes.scene2d.utils.ClickListener;
import net.dermetfan.utils.Pair;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashSet;
import java.util.List;
import java.util.Map;
......@@ -40,9 +41,8 @@ public class NightWatchGame extends AbstractTablexiaGame<int[][]> {
public static class GameResultResolver implements GameDefinition.GameResultResolver {
@Override
public GameResult getGameResult(Game game) {
int correctWindows = Integer.valueOf(game.getGameScore(SCORE_CORRECT_WINDOWS));
int correctTimeCount = Integer.valueOf(game.getGameScore(SCORE_CORRECT_TIME));
Log.info(getClass(),"CORRECT WINDOWS: "+correctWindows+", CORRECT TIME: "+correctTimeCount);
int correctWindows = LEVELS_COUNT-Integer.valueOf(game.getGameScore(SCORE_WRONG_WINDOWS));
int correctTimeCount = LEVELS_COUNT-Integer.valueOf(game.getGameScore(SCORE_WRONG_TIME));
return GameRulesHelper.getNumberOfStarsForResult(correctWindows+correctTimeCount);
}
}
......@@ -81,17 +81,20 @@ public class NightWatchGame extends AbstractTablexiaGame<int[][]> {
return null;
}
}
private static final int LEVELS_COUNT = 8;//mox correct windows and time
private static final int SCREEN_WIDTH = TablexiaSettings.getWorldWidth();
private static final int SCREEN_MIN_HEIGHT = TablexiaSettings.getMinWorldHeight();
private static final int INITIAL_BG_TEXTURE_INDEX = 0;
private static final float SOLUTION_VISIBLE_SECONDS = 2.0f;
private static final String SCORE_CORRECT_WINDOWS = "windows_count";
private static final String SCORE_CORRECT_TIME = "time_count";
private static final String SUMMARY_TEXT_WINDOWS_KEY = "victory_text_window_mistakes";
private static final String SUMMARY_TEXT_TIME_KEY = "victory_text_time_mistakes";
private static final String SCORE_WRONG_WINDOWS = "windows_count";
private static final String SCORE_WRONG_TIME = "time_count";
private int correctWindows = 0;
private int correctTime = 0;
private int wrongWindows = 0;
private int wrongTime = 0;
private boolean userPlaying = false;
private int numberOfSelectedWindows;
private Set<Integer> selectedWindows;
......@@ -109,8 +112,8 @@ public class NightWatchGame extends AbstractTablexiaGame<int[][]> {
@Override
protected void gameLoaded(Map<String, String> gameState) {
setGameScore(SCORE_CORRECT_WINDOWS,0);
setGameScore(SCORE_CORRECT_TIME,0);
setGameScore(SCORE_WRONG_WINDOWS,0);
setGameScore(SCORE_WRONG_TIME,0);
contentGroup = new Group();
contentGroup.setSize(SCREEN_WIDTH, SCREEN_MIN_HEIGHT);
getStage().addActor(contentGroup);
......@@ -265,13 +268,11 @@ public class NightWatchGame extends AbstractTablexiaGame<int[][]> {
Solution correctSolution = gameSolutions.get(currentLevel).get(currentRound);
boolean correct = correctSolution.check(windows,userSetTime);
if(correctSolution.checkWindows(windows)){
Log.info(getClass(),"INCREMENTING CW: "+correctWindows);
setGameScore(SCORE_CORRECT_WINDOWS,correctWindows++);
if(!correctSolution.checkWindows(windows)){
setGameScore(SCORE_WRONG_WINDOWS, ++wrongWindows);
}
if(correctSolution.checkTime(userSetTime)){
Log.info(getClass(),"INCREMENTING TIME: "+correctTime);
setGameScore(SCORE_CORRECT_TIME,correctTime++);
if(!correctSolution.checkTime(userSetTime)){
setGameScore(SCORE_WRONG_TIME, ++wrongTime);
}
Log.info(getClass(),"CORRECT: "+correct);
......@@ -400,7 +401,8 @@ public class NightWatchGame extends AbstractTablexiaGame<int[][]> {
@Override
protected List<SummaryMessage> getSummaryMessageForGameResult(Game game) {
return null;
return Arrays.asList(new SummaryMessage(SummaryImage.STATS, getFormattedText(SUMMARY_TEXT_WINDOWS_KEY, game.getGameScore(SCORE_WRONG_WINDOWS, "0"))),
new SummaryMessage(SummaryImage.TIME, getFormattedText(SUMMARY_TEXT_TIME_KEY, game.getGameScore(SCORE_WRONG_TIME, "0"))));
}
@Override
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment