diff --git a/app/src/main/java/me/chester/minitruco/android/PreferenceUtils.java b/app/src/main/java/me/chester/minitruco/android/PreferenceUtils.java index 1ab65de5..8c092e1b 100644 --- a/app/src/main/java/me/chester/minitruco/android/PreferenceUtils.java +++ b/app/src/main/java/me/chester/minitruco/android/PreferenceUtils.java @@ -11,12 +11,20 @@ import me.chester.minitruco.R; public class PreferenceUtils { + public static Boolean isServidorLocal(Context context) { + return getPreferences(context).getBoolean("servidorLocal", false); + } + + public static Boolean isValeUm(Context context) { + return getPreferences(context).getBoolean("valeUm", false); + } + public static String getLetraDoModo(Context context) { return getPreferences(context).getString("modo", "P"); } public static String getServidor(Context context) { - return getPreferences(context).getBoolean("servidorLocal", false) ? + return isServidorLocal(context) ? context.getString(R.string.opcoes_default_servidor_local) : context.getString(R.string.opcoes_default_servidor); } diff --git a/app/src/main/java/me/chester/minitruco/android/TituloActivity.java b/app/src/main/java/me/chester/minitruco/android/TituloActivity.java index 650df9bb..82761bb4 100644 --- a/app/src/main/java/me/chester/minitruco/android/TituloActivity.java +++ b/app/src/main/java/me/chester/minitruco/android/TituloActivity.java @@ -362,6 +362,9 @@ private void promoveJogoInternet(boolean repete) { @Override public Partida criaNovaPartida(JogadorHumano jogadorHumano) { String modo = getLetraDoModo(this); + if (PreferenceUtils.isValeUm(this)) { + modo = "1"; + } boolean humanoDecide = preferences.getBoolean("humanoDecide", true); boolean jogoAutomatico = preferences.getBoolean("jogoAutomatico", false); Partida novaPartida = new PartidaLocal(humanoDecide, jogoAutomatico, modo); diff --git a/app/src/main/java/me/chester/minitruco/android/multiplayer/internet/ClienteInternetActivity.java b/app/src/main/java/me/chester/minitruco/android/multiplayer/internet/ClienteInternetActivity.java index 02773ac2..8bfccb80 100644 --- a/app/src/main/java/me/chester/minitruco/android/multiplayer/internet/ClienteInternetActivity.java +++ b/app/src/main/java/me/chester/minitruco/android/multiplayer/internet/ClienteInternetActivity.java @@ -1,7 +1,6 @@ package me.chester.minitruco.android.multiplayer.internet; import static android.text.InputType.TYPE_CLASS_NUMBER; - import static me.chester.minitruco.android.PreferenceUtils.getLetraDoModo; import static me.chester.minitruco.android.PreferenceUtils.getServidor; @@ -31,6 +30,7 @@ import me.chester.minitruco.BuildConfig; import me.chester.minitruco.android.CriadorDePartida; import me.chester.minitruco.android.JogadorHumano; +import me.chester.minitruco.android.PreferenceUtils; import me.chester.minitruco.android.SalaActivity; import me.chester.minitruco.android.TrucoActivity; import me.chester.minitruco.android.multiplayer.PartidaRemota; @@ -230,6 +230,12 @@ private void processaNotificacoes() { } switch (line.charAt(0)) { case 'N': // Nome foi aceito + // Caso as configurações de desenvolvimento sejam para usar o + // servidor local, respeita a opção de valer 1 ponto + if (PreferenceUtils.isServidorLocal(this) && PreferenceUtils.isValeUm(this)) { + enviaLinha("E PUB 1"); + break; + } // Já vamos entrar de cara numa sala pública (se a pessoa quiser // fazer outra coisa, ela usa o botão apropriado) enviaLinha("E PUB " + getLetraDoModo(this)); diff --git a/app/src/main/res/xml/opcoes.xml b/app/src/main/res/xml/opcoes.xml index 8dc4034d..f09abc7e 100644 --- a/app/src/main/res/xml/opcoes.xml +++ b/app/src/main/res/xml/opcoes.xml @@ -59,5 +59,10 @@ android:key="jogoAutomatico" android:summary="Joga uma carta ou pede truco automaticamente (e aleatoriamente) apenas em jogo local" android:title="Jogo Automático" /> + diff --git a/core/src/main/java/me/chester/minitruco/core/Modo.java b/core/src/main/java/me/chester/minitruco/core/Modo.java index e0cfbfaf..146f4d5a 100644 --- a/core/src/main/java/me/chester/minitruco/core/Modo.java +++ b/core/src/main/java/me/chester/minitruco/core/Modo.java @@ -26,6 +26,8 @@ static Modo fromString(String modoStr) { return new ModoManilhaVelha(); case "L": return new ModoBaralhoLimpo(); + case "1": + return new ModoFinalizaEm1(); default: throw new IllegalArgumentException("Modo deve ser M, P, V ou L"); } diff --git a/core/src/main/java/me/chester/minitruco/core/ModoFinalizaEm1.java b/core/src/main/java/me/chester/minitruco/core/ModoFinalizaEm1.java new file mode 100644 index 00000000..01e5d5df --- /dev/null +++ b/core/src/main/java/me/chester/minitruco/core/ModoFinalizaEm1.java @@ -0,0 +1,13 @@ +package me.chester.minitruco.core; + +/** + * Modo de jogo igual ao Paulista, mas a partida termina em 1 ponto. + *

+ * APENAS PARA TESTES + */ +public class ModoFinalizaEm1 extends ModoPaulista { + + public int pontuacaoParaMaoDeX() { + return 0; + } +} diff --git a/core/src/main/java/me/chester/minitruco/core/Partida.java b/core/src/main/java/me/chester/minitruco/core/Partida.java index 4f66e0a2..5040a679 100644 --- a/core/src/main/java/me/chester/minitruco/core/Partida.java +++ b/core/src/main/java/me/chester/minitruco/core/Partida.java @@ -117,6 +117,7 @@ public static String textoModo(String modo) { case "M": return "Truco Mineiro"; case "L": return "Baralho Limpo"; case "V": return "Manilha Velha"; + case "1": return "DEBUG: Finaliza em 1"; } return null; }