diff --git a/app/src/main/java/com/example/android/unscramble/ui/game/GameViewModel.kt b/app/src/main/java/com/example/android/unscramble/ui/game/GameViewModel.kt index 1fc176c0437eb52d5d4d6cb6b9830f1cce4ff548..dcde4b3092f4afc0c66332150c95c2d2aacc4711 100644 --- a/app/src/main/java/com/example/android/unscramble/ui/game/GameViewModel.kt +++ b/app/src/main/java/com/example/android/unscramble/ui/game/GameViewModel.kt @@ -10,12 +10,16 @@ class GameViewModel: ViewModel() { private var _currentWordCount = 0 val currentWordCount: Int get() = _currentWordCount - private var _currentScrambledWord = "test" + + private lateinit var _currentScrambledWord: String val currentScrambledWord: String get() = _currentScrambledWord + private var wordsList: MutableList<String> = mutableListOf() + private lateinit var currentWord: String init { Log.d("GameFragment", "GameViewModel created!") + getNextWord() } override fun onCleared() { @@ -23,4 +27,27 @@ class GameViewModel: ViewModel() { Log.d("GameFragment", "GameViewModel destroyed!") } + fun getNextWord() { + currentWord = allWordsList.random() + val tempWord = currentWord.toCharArray() + tempWord.shuffle() + while (String(tempWord).equals(currentWord, false)) { + tempWord.shuffle() + } + if (wordsList.contains(currentWord)) { + getNextWord() + } else { + _currentScrambledWord = String(tempWord) + ++_currentWordCount + wordsList.add(currentWord) + } + } + + fun nextWord(): Boolean { + return if (currentWordCount < MAX_NO_OF_WORDS) { + getNextWord() + true + } else false + } + } \ No newline at end of file