@SuppressWarnings("unchecked") public void init() { paint = new Paint(Paint.ANTI_ALIAS_FLAG); this.rows = board.rows; this.cols = board.cols; gridPoints = board.gridPoints; balls = (HashMap<Point, Integer>) board.ball.clone(); boardStatus = board.boardStatus; ballPosition = new HashMap<Point, Point>(); canBallMove = new HashMap<Point, Boolean>(); newPoints = new HashMap<Point, Integer>(); gridSize = board.gridSize; trigger = new String(); isMoving = false; upTriggred = true; gameEnd = false; // hints view.totalHintsLeft = view.savedState.getInt("totalHintsLeft", 10); hint = new Hint(this); hint.hints = board.hints; state = new GameState(this); view.buttonAction.mbRedo.disable(); view.buttonAction.mbUndo.disable(); }
public void setMessageHintsAndMoves() { mdCompleted.active = true; // game ends if (view.savedState.getInt("hintGained_" + view.pack + "_level_" + view.currentLevel, 0) == 0) { // add hint view.editor.putInt("hintGained_" + view.pack + "_level_" + view.currentLevel, 1); view.editor.commit(); if (moves <= view.savedState.getInt( "bestMove_level_" + view.currentLevel + "_pack_" + view.pack, board.bestMove)) { if (view.savedState.getInt("statusMove" + view.pack + "_" + view.currentLevel, 0) != 2) { view.editor.putInt("statusMove" + view.pack + "_" + view.currentLevel, 2); view.editor.commit(); } view.editor.putInt("bestMove_level_" + view.currentLevel + "_pack_" + view.pack, moves); view.totalHintsLeft += 2; view.editor.putInt("totalHintsLeft", view.totalHintsLeft); view.editor.putInt("pack" + view.pack + "_level" + view.currentLevel + "moves", moves); view.editor.putString(view.pack + "level" + view.currentLevel, moves + ""); view.editor.commit(); // show dialog after game is completed in best time plus 2 hints if (view.currentLevel < view.maxLevel) { mdCompleted.set( endGame[0], new String[] { endGame[2], view.context.getResources().getString(R.string.in_the_best_move_and_got_2_hints) }, new String[] {nextLevelPlayAgain[1], nextLevelPlayAgain[0]}); } else { mdCompleted.set( endGame[0], new String[] { endGame[2], view.context.getResources().getString(R.string.in_the_best_move_and_got_2_hints) }, new String[] {playAgainQuit[0], playAgainQuit[1]}); } } else { if (view.savedState.getInt("statusMove" + view.pack + "_" + view.currentLevel, 0) < 1) { view.editor.putInt("statusMove" + view.pack + "_" + view.currentLevel, 1); view.editor.commit(); } view.totalHintsLeft++; view.editor.putInt("totalHintsLeft", view.totalHintsLeft); view.editor.putInt("pack" + view.pack + "_level" + view.currentLevel + "moves", moves); view.editor.putString(view.pack + "level" + view.currentLevel, moves + ""); view.editor.commit(); // set total moves in the dialog box plus 1 hint String countMove_hint1 = view.context.getResources().getString(R.string.countMove_moves_and_got_1_hint); countMove_hint1 = countMove_hint1.replace("{COUNT_MOVES}", moves + ""); // show dialog box after game completion if (view.currentLevel < view.maxLevel) { mdCompleted.set( view.context.getResources().getString(R.string.Perfect), new String[] { view.context.getResources().getString(R.string.You_completed_the_level), countMove_hint1 }, new String[] {nextLevelPlayAgain[1], nextLevelPlayAgain[0]}); } else { mdCompleted.set( endGame[0], new String[] { view.context.getResources().getString(R.string.You_completed_the_level), countMove_hint1 }, new String[] {playAgainQuit[0], playAgainQuit[1]}); } } } else { // hint already added if (moves <= view.savedState.getInt( "bestMove_level_" + view.currentLevel + "_pack_" + view.pack, board.bestMove)) { if (view.savedState.getInt("statusMove" + view.pack + "_" + view.currentLevel, 0) != 2) { view.editor.putInt("statusMove" + view.pack + "_" + view.currentLevel, 2); view.editor.commit(); } view.editor.putInt("bestMove_level_" + view.currentLevel + "_pack_" + view.pack, moves); view.editor.putInt("pack" + view.pack + "_level" + view.currentLevel + "moves", moves); view.editor.putString(view.pack + "level" + view.currentLevel, moves + ""); view.editor.commit(); // show dialog after game is completed in best time but no hints if (view.currentLevel < view.maxLevel) { mdCompleted.set( endGame[0], new String[] { endGame[2], view.context.getResources().getString(R.string.in_the_best_move) }, new String[] {nextLevelPlayAgain[1], nextLevelPlayAgain[0]}); } else { mdCompleted.set( endGame[0], new String[] { endGame[2], view.context.getResources().getString(R.string.in_the_best_move) }, new String[] {playAgainQuit[0], playAgainQuit[1]}); } } else { // set total moves in the dialog box in random time String countMoves = view.context.getResources().getString(R.string.in_countMove_moves); countMoves = countMoves.replace("{COUNT_MOVES}", moves + ""); if (view.savedState.getInt("statusMove" + view.pack + "_" + view.currentLevel, 0) < 1) { view.editor.putInt("statusMove" + view.pack + "_" + view.currentLevel, 1); view.editor.commit(); } if (moves <= view.savedState.getInt( "pack" + view.pack + "_level" + view.currentLevel + "moves", moves)) { view.editor.putInt("pack" + view.pack + "_level" + view.currentLevel + "moves", moves); view.editor.putString(view.pack + "level" + view.currentLevel, moves + ""); view.editor.commit(); } if (view.currentLevel < view.maxLevel) { mdCompleted.set( view.context.getResources().getString(R.string.Perfect), new String[] { view.context.getResources().getString(R.string.You_completed_the_level), countMoves }, new String[] {nextLevelPlayAgain[1], nextLevelPlayAgain[0]}); } else { mdCompleted.set( endGame[0], new String[] { view.context.getResources().getString(R.string.You_completed_the_level), countMoves }, new String[] {playAgainQuit[0], playAgainQuit[1]}); } } } }