diff --git a/app/src/main/java/dev/lucasnlm/antimine/cloud/CloudSaveManager.kt b/app/src/main/java/dev/lucasnlm/antimine/cloud/CloudSaveManager.kt
index 29b27c74..601a441b 100644
--- a/app/src/main/java/dev/lucasnlm/antimine/cloud/CloudSaveManager.kt
+++ b/app/src/main/java/dev/lucasnlm/antimine/cloud/CloudSaveManager.kt
@@ -40,18 +40,21 @@ class CloudSaveManager(
squareRadius = preferencesRepository.squareRadius(),
squareSize = preferencesRepository.squareSizeMultiplier(),
touchTiming = preferencesRepository.customLongPressTimeout().toInt(),
- questionMark = if (preferencesRepository.useQuestionMark()) 1 else 0,
- gameAssistance = if (preferencesRepository.useFlagAssistant()) 1 else 0,
- help = if (preferencesRepository.useHelp()) 1 else 0,
- hapticFeedback = if (preferencesRepository.useHapticFeedback()) 1 else 0,
- soundEffects = if (preferencesRepository.isSoundEffectsEnabled()) 1 else 0,
+ questionMark = preferencesRepository.useQuestionMark().toInt(),
+ gameAssistance = preferencesRepository.useFlagAssistant().toInt(),
+ help = preferencesRepository.useHelp().toInt(),
+ hapticFeedback = preferencesRepository.useHapticFeedback().toInt(),
+ soundEffects = preferencesRepository.isSoundEffectsEnabled().toInt(),
stats = statsRepository.getAllStats(minId).map { it.toHashMap() },
- premiumFeatures = if (preferencesRepository.isPremiumEnabled()) 1 else 0,
+ premiumFeatures = preferencesRepository.isPremiumEnabled().toInt(),
controlStyle = preferencesRepository.controlStyle().ordinal,
+ noGuessing = preferencesRepository.useNoGuessingAlgorithm().toInt(),
)
}
} catch (e: Exception) {
return null
}
}
+
+ private fun Boolean.toInt() = if (this) 1 else 0
}
diff --git a/app/src/main/java/dev/lucasnlm/antimine/splash/viewmodel/SplashViewModel.kt b/app/src/main/java/dev/lucasnlm/antimine/splash/viewmodel/SplashViewModel.kt
index 587a0d49..90045ad6 100644
--- a/app/src/main/java/dev/lucasnlm/antimine/splash/viewmodel/SplashViewModel.kt
+++ b/app/src/main/java/dev/lucasnlm/antimine/splash/viewmodel/SplashViewModel.kt
@@ -54,6 +54,7 @@ class SplashViewModel(
setSquareMultiplier(cloudSave.squareSize)
setCustomLongPressTimeout(cloudSave.touchTiming.toLong())
setQuestionMark(cloudSave.questionMark != 0)
+ setNoGuessingAlgorithm(cloudSave.noGuessing != 0)
setFlagAssistant(gameAssistance != 0)
setHapticFeedback(hapticFeedback != 0)
setHelp(help != 0)
diff --git a/app/src/test/java/dev/lucasnlm/antimine/mocks/MockPreferencesRepository.kt b/app/src/test/java/dev/lucasnlm/antimine/mocks/MockPreferencesRepository.kt
index 81eabb17..f39f4112 100644
--- a/app/src/test/java/dev/lucasnlm/antimine/mocks/MockPreferencesRepository.kt
+++ b/app/src/test/java/dev/lucasnlm/antimine/mocks/MockPreferencesRepository.kt
@@ -97,6 +97,10 @@ class MockPreferencesRepository : IPreferencesRepository {
override fun useAnimations(): Boolean = false
+ override fun setNoGuessingAlgorithm(value: Boolean) { }
+
+ override fun useNoGuessingAlgorithm(): Boolean = true
+
override fun useQuestionMark(): Boolean = false
override fun setQuestionMark(value: Boolean) { }
diff --git a/common/src/main/java/dev/lucasnlm/antimine/common/level/GameController.kt b/common/src/main/java/dev/lucasnlm/antimine/common/level/GameController.kt
index e27c3464..7c34ff68 100644
--- a/common/src/main/java/dev/lucasnlm/antimine/common/level/GameController.kt
+++ b/common/src/main/java/dev/lucasnlm/antimine/common/level/GameController.kt
@@ -26,6 +26,7 @@ class GameController {
private var gameControl: GameControl = GameControl.Standard
private var useQuestionMark = true
private var useOpenOnSwitchControl = true
+ private var useNoGuessing = true
val seed: Long
@@ -70,7 +71,7 @@ class GameController {
val fieldCopy = field.map { it.copy() }.toMutableList()
val minefieldHandler = MinefieldHandler(fieldCopy, false)
minefieldHandler.openAt(safeId, false)
- } while (solver.keepTrying() && !solver.trySolve(minefieldHandler.result().toMutableList()))
+ } while (useNoGuessing && solver.keepTrying() && !solver.trySolve(minefieldHandler.result().toMutableList()))
firstOpen = FirstOpen.Position(safeId)
}
@@ -322,6 +323,10 @@ class GameController {
this.useQuestionMark = useQuestionMark
}
+ fun useNoGuessing(noGuessing: Boolean) {
+ this.useNoGuessing = noGuessing
+ }
+
fun useOpenOnSwitchControl(useOpen: Boolean) {
this.useOpenOnSwitchControl = useOpen
}
diff --git a/common/src/main/java/dev/lucasnlm/antimine/common/level/viewmodel/GameViewModel.kt b/common/src/main/java/dev/lucasnlm/antimine/common/level/viewmodel/GameViewModel.kt
index 9f24285d..50a45fa9 100644
--- a/common/src/main/java/dev/lucasnlm/antimine/common/level/viewmodel/GameViewModel.kt
+++ b/common/src/main/java/dev/lucasnlm/antimine/common/level/viewmodel/GameViewModel.kt
@@ -349,6 +349,7 @@ open class GameViewModel(
updateGameControl(gameControl)
useQuestionMark(preferencesRepository.useQuestionMark())
+ useNoGuessing(preferencesRepository.useNoGuessingAlgorithm())
}
}
}
diff --git a/common/src/main/java/dev/lucasnlm/antimine/common/level/widget/FixedGridLayoutManager.kt b/common/src/main/java/dev/lucasnlm/antimine/common/level/widget/FixedGridLayoutManager.kt
index f70fe787..143a878f 100644
--- a/common/src/main/java/dev/lucasnlm/antimine/common/level/widget/FixedGridLayoutManager.kt
+++ b/common/src/main/java/dev/lucasnlm/antimine/common/level/widget/FixedGridLayoutManager.kt
@@ -431,7 +431,9 @@ class FixedGridLayoutManager : RecyclerView.LayoutManager() {
*/
measureChildWithMargins(view, 0, 0)
layoutDecorated(
- view, leftOffset, topOffset,
+ view,
+ leftOffset,
+ topOffset,
leftOffset + mDecoratedChildWidth,
topOffset + mDecoratedChildHeight
)
@@ -821,7 +823,9 @@ class FixedGridLayoutManager : RecyclerView.LayoutManager() {
measureChildWithMargins(child, 0, 0)
layoutDecorated(
- child, layoutLeft, layoutTop,
+ child,
+ layoutLeft,
+ layoutTop,
layoutLeft + mDecoratedChildWidth,
layoutTop + mDecoratedChildHeight
)
diff --git a/common/src/main/java/dev/lucasnlm/antimine/core/preferences/IPreferencesRepository.kt b/common/src/main/java/dev/lucasnlm/antimine/core/preferences/IPreferencesRepository.kt
index fef970db..075ceccf 100644
--- a/common/src/main/java/dev/lucasnlm/antimine/core/preferences/IPreferencesRepository.kt
+++ b/common/src/main/java/dev/lucasnlm/antimine/core/preferences/IPreferencesRepository.kt
@@ -69,6 +69,9 @@ interface IPreferencesRepository {
fun useAnimations(): Boolean
+ fun setNoGuessingAlgorithm(value: Boolean)
+ fun useNoGuessingAlgorithm(): Boolean
+
fun useQuestionMark(): Boolean
fun setQuestionMark(value: Boolean)
diff --git a/common/src/main/java/dev/lucasnlm/antimine/core/preferences/PreferencesRepository.kt b/common/src/main/java/dev/lucasnlm/antimine/core/preferences/PreferencesRepository.kt
index 04514cd9..d1a86a79 100644
--- a/common/src/main/java/dev/lucasnlm/antimine/core/preferences/PreferencesRepository.kt
+++ b/common/src/main/java/dev/lucasnlm/antimine/core/preferences/PreferencesRepository.kt
@@ -69,6 +69,13 @@ class PreferencesRepository(
override fun useAnimations(): Boolean =
preferencesManager.getBoolean(PREFERENCE_ANIMATION, true)
+ override fun setNoGuessingAlgorithm(value: Boolean) {
+ preferencesManager.putBoolean(PREFERENCE_NO_GUESSING, value)
+ }
+
+ override fun useNoGuessingAlgorithm(): Boolean =
+ preferencesManager.getBoolean(PREFERENCE_NO_GUESSING, true)
+
override fun useQuestionMark(): Boolean =
preferencesManager.getBoolean(PREFERENCE_QUESTION_MARK, false)
@@ -266,6 +273,7 @@ class PreferencesRepository(
private const val PREFERENCE_VIBRATION = "preference_vibration"
private const val PREFERENCE_ASSISTANT = "preference_assistant"
private const val PREFERENCE_ANIMATION = "preference_animation"
+ private const val PREFERENCE_NO_GUESSING = "preference_no_guessing"
private const val PREFERENCE_AREA_SIZE = "preference_area_size"
private const val PREFERENCE_QUESTION_MARK = "preference_use_question_mark"
private const val PREFERENCE_USE_HELP = "preference_use_help"
diff --git a/common/src/main/res/values-af-rZA/strings.xml b/common/src/main/res/values-af-rZA/strings.xml
index 52d83cf3..50462d31 100644
--- a/common/src/main/res/values-af-rZA/strings.xml
+++ b/common/src/main/res/values-af-rZA/strings.xml
@@ -69,6 +69,7 @@
Werkverrigting
OK
Gebruik die vraagteken
+ \'No guessing\' mode
Kontrole
➞
Enkele tik
diff --git a/common/src/main/res/values-ar-rSA/strings.xml b/common/src/main/res/values-ar-rSA/strings.xml
index bd170391..905d6115 100644
--- a/common/src/main/res/values-ar-rSA/strings.xml
+++ b/common/src/main/res/values-ar-rSA/strings.xml
@@ -69,6 +69,7 @@
أداء
حسناً
استخدام علامة السؤال
+ وضع \"لا تخمين\"
التحكم
🠨
نقرة واحدة
diff --git a/common/src/main/res/values-bg-rBG/strings.xml b/common/src/main/res/values-bg-rBG/strings.xml
index 234075f1..f0036cd8 100644
--- a/common/src/main/res/values-bg-rBG/strings.xml
+++ b/common/src/main/res/values-bg-rBG/strings.xml
@@ -69,6 +69,7 @@
Изпълнение
ОК
Въпросителен знак
+ \'No guessing\' mode
Управление
➞
Едно натискане
diff --git a/common/src/main/res/values-ca-rES/strings.xml b/common/src/main/res/values-ca-rES/strings.xml
index 17c2f961..c8b68537 100644
--- a/common/src/main/res/values-ca-rES/strings.xml
+++ b/common/src/main/res/values-ca-rES/strings.xml
@@ -69,6 +69,7 @@
Rendiment
OK
Utilitza l\'interrogant
+ \'No guessing\' mode
Controls
➞
Un sol clic
diff --git a/common/src/main/res/values-cs-rCZ/strings.xml b/common/src/main/res/values-cs-rCZ/strings.xml
index 57f9268a..4cd5f9b3 100644
--- a/common/src/main/res/values-cs-rCZ/strings.xml
+++ b/common/src/main/res/values-cs-rCZ/strings.xml
@@ -69,6 +69,7 @@
Výkon
OK
Použít otazníky
+ \'No guessing\' mode
Ovládání
➞
Jedno klepnutí
diff --git a/common/src/main/res/values-da-rDK/strings.xml b/common/src/main/res/values-da-rDK/strings.xml
index 99562c7d..87b8066e 100644
--- a/common/src/main/res/values-da-rDK/strings.xml
+++ b/common/src/main/res/values-da-rDK/strings.xml
@@ -69,6 +69,7 @@
Ydeevne
OK
Brug flag med spørgsmålstegn
+ \'No guessing\' mode
Controls
➞
Enkelt tryk
diff --git a/common/src/main/res/values-de-rDE/strings.xml b/common/src/main/res/values-de-rDE/strings.xml
index aadda191..86390654 100644
--- a/common/src/main/res/values-de-rDE/strings.xml
+++ b/common/src/main/res/values-de-rDE/strings.xml
@@ -69,6 +69,7 @@
Erfolgsergebnis
Ok
Fragezeichen benutzen
+ \'No guessing\' mode
Steuerung
➞
Einzelklick
diff --git a/common/src/main/res/values-el-rGR/strings.xml b/common/src/main/res/values-el-rGR/strings.xml
index e11a9535..5f821a48 100644
--- a/common/src/main/res/values-el-rGR/strings.xml
+++ b/common/src/main/res/values-el-rGR/strings.xml
@@ -69,6 +69,7 @@
Επίδοση
Εντάξει
Χρήση ερωτηματικών
+ \'No guessing\' mode
Ελεγχος
➞
Με ένα κλικ
diff --git a/common/src/main/res/values-en-rUS/strings.xml b/common/src/main/res/values-en-rUS/strings.xml
index d4549257..748c83e3 100644
--- a/common/src/main/res/values-en-rUS/strings.xml
+++ b/common/src/main/res/values-en-rUS/strings.xml
@@ -69,6 +69,7 @@
Performance
OK
Use Question Mark
+ \'No guessing\' mode
Controls
➞
Single Click
diff --git a/common/src/main/res/values-es-rES/strings.xml b/common/src/main/res/values-es-rES/strings.xml
index 1a634299..9745c02e 100644
--- a/common/src/main/res/values-es-rES/strings.xml
+++ b/common/src/main/res/values-es-rES/strings.xml
@@ -69,6 +69,7 @@
Desempeño
OK
Usar signo de interrogación
+ Modo \'Sin adivinación\'
Controles
➞
Un clic
diff --git a/common/src/main/res/values-fi-rFI/strings.xml b/common/src/main/res/values-fi-rFI/strings.xml
index 0c1ee4eb..6cd62bcb 100644
--- a/common/src/main/res/values-fi-rFI/strings.xml
+++ b/common/src/main/res/values-fi-rFI/strings.xml
@@ -69,6 +69,7 @@
Suorituskyky
OK
Käytä kysymysmerkkiä
+ \'No guessing\' mode
Kontrollit
➞
Napautus
diff --git a/common/src/main/res/values-fr-rFR/strings.xml b/common/src/main/res/values-fr-rFR/strings.xml
index e9e0beb4..767b6dd2 100644
--- a/common/src/main/res/values-fr-rFR/strings.xml
+++ b/common/src/main/res/values-fr-rFR/strings.xml
@@ -69,6 +69,7 @@
Performance
OK
Utiliser des drapeaux points d’interrogation
+ \'No guessing\' mode
Contrôles
➞
Clic simple
diff --git a/common/src/main/res/values-hi-rIN/strings.xml b/common/src/main/res/values-hi-rIN/strings.xml
index 729b8d91..13e4d0b6 100644
--- a/common/src/main/res/values-hi-rIN/strings.xml
+++ b/common/src/main/res/values-hi-rIN/strings.xml
@@ -69,6 +69,7 @@
प्रदर्शन
ओके
\"मैं सुनिश्चित नहीं हूं\" झंडे का उपयोग करें
+ \'No guessing\' mode
नियंत्रण
➞
सिंगल क्लिक
diff --git a/common/src/main/res/values-hu-rHU/strings.xml b/common/src/main/res/values-hu-rHU/strings.xml
index 8776c572..9c75b5b1 100644
--- a/common/src/main/res/values-hu-rHU/strings.xml
+++ b/common/src/main/res/values-hu-rHU/strings.xml
@@ -69,6 +69,7 @@
Teljesítmény
Rendben
Kérdőjel használata
+ \'No guessing\' mode
Irányítások
➞
Egyszeri kattintás
diff --git a/common/src/main/res/values-in-rID/strings.xml b/common/src/main/res/values-in-rID/strings.xml
index fa5bf84a..19ae1d99 100644
--- a/common/src/main/res/values-in-rID/strings.xml
+++ b/common/src/main/res/values-in-rID/strings.xml
@@ -69,6 +69,7 @@
Peforma
OK
Pakai Bendera Tanda Tanya
+ \'No guessing\' mode
Kontrol
➞
Satu klik
diff --git a/common/src/main/res/values-it-rIT/strings.xml b/common/src/main/res/values-it-rIT/strings.xml
index 9393a803..616fe144 100644
--- a/common/src/main/res/values-it-rIT/strings.xml
+++ b/common/src/main/res/values-it-rIT/strings.xml
@@ -69,6 +69,7 @@
Prestazione
OK
Usa il Punto Interrogativo
+ \'No guessing\' mode
Comandi
➞
Singolo click
diff --git a/common/src/main/res/values-iw-rIL/strings.xml b/common/src/main/res/values-iw-rIL/strings.xml
index aa6a87ac..2e79a786 100644
--- a/common/src/main/res/values-iw-rIL/strings.xml
+++ b/common/src/main/res/values-iw-rIL/strings.xml
@@ -69,6 +69,7 @@
ביצועים
OK
סימן שאלה
+ \'No guessing\' mode
פקדים
🠨
לחיצה בודדת
diff --git a/common/src/main/res/values-ja-rJP/strings.xml b/common/src/main/res/values-ja-rJP/strings.xml
index 6c9d8c7d..ee4e7ae5 100644
--- a/common/src/main/res/values-ja-rJP/strings.xml
+++ b/common/src/main/res/values-ja-rJP/strings.xml
@@ -69,6 +69,7 @@
パフォーマンス
OK
クエスチョンマークを使う
+ \'No guessing\' mode
コントロール
➞
タップ
diff --git a/common/src/main/res/values-ko-rKR/strings.xml b/common/src/main/res/values-ko-rKR/strings.xml
index 5c1b6eca..ba6a0635 100644
--- a/common/src/main/res/values-ko-rKR/strings.xml
+++ b/common/src/main/res/values-ko-rKR/strings.xml
@@ -69,6 +69,7 @@
퍼포먼스
OK
물음표 깃발 사용
+ \'No guessing\' mode
컨트롤
➞
단일 클릭
diff --git a/common/src/main/res/values-nl-rNL/strings.xml b/common/src/main/res/values-nl-rNL/strings.xml
index 12e48665..1eec3374 100644
--- a/common/src/main/res/values-nl-rNL/strings.xml
+++ b/common/src/main/res/values-nl-rNL/strings.xml
@@ -69,6 +69,7 @@
Prestatie
Oké
Gebruik vraagteken
+ \'No guessing\' mode
Besturing
➞
Enkele klik
diff --git a/common/src/main/res/values-no-rNO/strings.xml b/common/src/main/res/values-no-rNO/strings.xml
index 6f49c4dc..c6c1c715 100644
--- a/common/src/main/res/values-no-rNO/strings.xml
+++ b/common/src/main/res/values-no-rNO/strings.xml
@@ -69,6 +69,7 @@
Ytelse
OK
Bruk Spørsmålstegn
+ \'No guessing\' mode
Styring
➞
Enkeltklikk
diff --git a/common/src/main/res/values-pl-rPL/strings.xml b/common/src/main/res/values-pl-rPL/strings.xml
index 2f78cccc..fe14d0f8 100644
--- a/common/src/main/res/values-pl-rPL/strings.xml
+++ b/common/src/main/res/values-pl-rPL/strings.xml
@@ -69,6 +69,7 @@
Skuteczność
OK
Używaj Znaku zapytania
+ \'No guessing\' mode
Sterowanie
➞
Pojedyncze kliknięcie
diff --git a/common/src/main/res/values-pt-rBR/strings.xml b/common/src/main/res/values-pt-rBR/strings.xml
index a358677e..6c66505e 100644
--- a/common/src/main/res/values-pt-rBR/strings.xml
+++ b/common/src/main/res/values-pt-rBR/strings.xml
@@ -69,6 +69,7 @@
Desempenho
OK
Usar Ponto de Interrogação
+ Modo \"Sem adivinhação\"
Controles
➞
Unico Clique
diff --git a/common/src/main/res/values-pt-rPT/strings.xml b/common/src/main/res/values-pt-rPT/strings.xml
index 5249917b..c1df7156 100644
--- a/common/src/main/res/values-pt-rPT/strings.xml
+++ b/common/src/main/res/values-pt-rPT/strings.xml
@@ -69,6 +69,7 @@
Desempenho
OK
Usar Ponto de Interrogação
+ Modo \"Sem adivinhação\"
Controlos
➞
Toque Único
diff --git a/common/src/main/res/values-ro-rRO/strings.xml b/common/src/main/res/values-ro-rRO/strings.xml
index f9b07543..3f0ebcef 100644
--- a/common/src/main/res/values-ro-rRO/strings.xml
+++ b/common/src/main/res/values-ro-rRO/strings.xml
@@ -69,6 +69,7 @@
Performanță
OK
Folosește Semn de Întrebare
+ \'No guessing\' mode
Controale
➞
Atingere simplă
diff --git a/common/src/main/res/values-ru-rRU/strings.xml b/common/src/main/res/values-ru-rRU/strings.xml
index 02913521..fe05ce82 100644
--- a/common/src/main/res/values-ru-rRU/strings.xml
+++ b/common/src/main/res/values-ru-rRU/strings.xml
@@ -69,6 +69,7 @@
Производительность
OK
Использовать знак вопроса
+ \'No guessing\' mode
Управление
➞
Одно нажатие
diff --git a/common/src/main/res/values-sv-rSE/strings.xml b/common/src/main/res/values-sv-rSE/strings.xml
index a5e84440..a11e82f8 100644
--- a/common/src/main/res/values-sv-rSE/strings.xml
+++ b/common/src/main/res/values-sv-rSE/strings.xml
@@ -69,6 +69,7 @@
Prestanda
Okej
Använd frågetecken
+ \'No guessing\' mode
Kontroller
➞
Enkel klick
diff --git a/common/src/main/res/values-th-rTH/strings.xml b/common/src/main/res/values-th-rTH/strings.xml
index 1ff04ae5..89804de1 100644
--- a/common/src/main/res/values-th-rTH/strings.xml
+++ b/common/src/main/res/values-th-rTH/strings.xml
@@ -69,6 +69,7 @@
ประสิทธิภาพ
ตกลง
เครื่องหมายคำถาม
+ \'No guessing\' mode
การควบคุม
➞
แตะครั้งเดียว
diff --git a/common/src/main/res/values-tr-rTR/strings.xml b/common/src/main/res/values-tr-rTR/strings.xml
index 5ef47242..7bcc087b 100644
--- a/common/src/main/res/values-tr-rTR/strings.xml
+++ b/common/src/main/res/values-tr-rTR/strings.xml
@@ -69,6 +69,7 @@
Performans
Tamam
Soru İşareti Kullan
+ \'No guessing\' mode
Kontroller
➞
Tek Tıklama
diff --git a/common/src/main/res/values-uk-rUA/strings.xml b/common/src/main/res/values-uk-rUA/strings.xml
index fbfbf325..d248e976 100644
--- a/common/src/main/res/values-uk-rUA/strings.xml
+++ b/common/src/main/res/values-uk-rUA/strings.xml
@@ -69,6 +69,7 @@
Ефективність
Гаразд
Використовувати прапорці «?»
+ \'No guessing\' mode
Елементи керування
➞
Одинарний клік
diff --git a/common/src/main/res/values-vi-rVN/strings.xml b/common/src/main/res/values-vi-rVN/strings.xml
index 4d76fc9d..caaa1a83 100644
--- a/common/src/main/res/values-vi-rVN/strings.xml
+++ b/common/src/main/res/values-vi-rVN/strings.xml
@@ -69,6 +69,7 @@
Hiệu năng
OK
Dùng cờ câu hỏi
+ \'No guessing\' mode
Điều khiển
➞
Một lần bấm
diff --git a/common/src/main/res/values-zh-rCN/strings.xml b/common/src/main/res/values-zh-rCN/strings.xml
index 576d4633..4842986e 100644
--- a/common/src/main/res/values-zh-rCN/strings.xml
+++ b/common/src/main/res/values-zh-rCN/strings.xml
@@ -69,6 +69,7 @@
性能
确定
使用问号标记
+ “没有猜测”模式
控制
➞
单击
@@ -122,9 +123,9 @@
标记已移除!
去除广告
帮助
- Show windows
- Switch: Flag and Open
- Use button to switch between Flag and Open
+ 显示窗口
+ 切换:标记并打开
+ 使用按钮在标记和打开之间切换
你需要清除一个隐藏着地雷的矩形面板,不能使任何地雷爆炸。
扫雷 (踩地雷) - Antimine
diff --git a/common/src/main/res/values/strings.xml b/common/src/main/res/values/strings.xml
index a9313739..8c655781 100644
--- a/common/src/main/res/values/strings.xml
+++ b/common/src/main/res/values/strings.xml
@@ -69,6 +69,7 @@
Performance
OK
Use Question Mark
+ \'No guessing\' mode
Controls
➞
Single Click
diff --git a/common/src/main/res/xml/preferences.xml b/common/src/main/res/xml/preferences.xml
index a3e006d4..13c94a75 100644
--- a/common/src/main/res/xml/preferences.xml
+++ b/common/src/main/res/xml/preferences.xml
@@ -21,6 +21,13 @@
android:title="@string/enable_automatic_flags"
app:iconSpaceReserved="false" />
+
+
>,
val premiumFeatures: Int,
val controlStyle: Int,
+ val noGuessing: Int,
)
fun CloudSave.toHashMap(): HashMap = hashMapOf(
@@ -31,6 +32,7 @@ fun CloudSave.toHashMap(): HashMap = hashMapOf(
"stats" to stats,
"premiumFeatures" to premiumFeatures,
"controlStyle" to controlStyle,
+ "noGuessing" to noGuessing,
)
@Suppress("UNCHECKED_CAST")
@@ -50,4 +52,5 @@ fun cloudSaveOf(id: String, data: Map) =
data["stats"] as List>,
data["premiumFeatures"].toString().toInt(),
data["controlStyle"].toString().toInt(),
+ (data["noGuessing"] ?: 1).toString().toInt(),
)