diff --git a/app/src/main/java/com/helldivers/app/ActivityGame.java b/app/src/main/java/com/helldivers/app/ActivityGame.java
index 4b7c1ac..e3ab84f 100644
--- a/app/src/main/java/com/helldivers/app/ActivityGame.java
+++ b/app/src/main/java/com/helldivers/app/ActivityGame.java
@@ -10,6 +10,7 @@ import android.widget.FrameLayout;
import android.widget.ImageButton;
import android.widget.ImageView;
import android.widget.LinearLayout;
+import android.widget.ProgressBar;
import android.widget.TextView;
import androidx.appcompat.app.AppCompatActivity;
@@ -194,6 +195,8 @@ private static final String[] NAMES = {
private LinearLayout sequenceContainer;
private ImageButton btnUp, btnDown, btnLeft, btnRight;
private android.widget.Button btnVolver;
+ private ProgressBar progressBar;
+ private ImageView ivFailure;
private int[] sequence;
private int playerIndex = 0;
@@ -201,6 +204,7 @@ private static final String[] NAMES = {
private boolean esperando = false;
private boolean juegoActivo = true;
private int currentStratagemIndex = 0;
+ private boolean bloqueado = false;
@Override
protected void onCreate(Bundle savedInstanceState) {
@@ -218,6 +222,8 @@ private static final String[] NAMES = {
btnLeft = findViewById(R.id.btn_left);
btnRight = findViewById(R.id.btn_right);
btnVolver = findViewById(R.id.btn_volver);
+ progressBar = findViewById(R.id.progress_bar);
+ ivFailure = findViewById(R.id.iv_failure);
btnVolver.setOnClickListener(v -> finish());
@@ -245,6 +251,10 @@ private static final String[] NAMES = {
currentStratagemIndex = idx;
playerIndex = 0;
juegoActivo = true;
+ bloqueado = false;
+
+ if (progressBar != null) progressBar.setVisibility(View.GONE);
+ if (ivFailure != null) ivFailure.setVisibility(View.GONE);
if (ivStratagemIcon != null) {
try {
@@ -258,7 +268,7 @@ private static final String[] NAMES = {
secuenciaMostrar();
handler.removeCallbacksAndMessages(null);
- handler.postDelayed(() -> { esperando = true; }, 1200);
+ esperando = true;
}
private static final String ARROW_CHARS = "\u2191\u2193\u2190\u2192";
@@ -293,7 +303,8 @@ private static final String[] NAMES = {
}
private void onInput(int dir) {
- if (!juegoActivo || !esperando) return;
+ if (!juegoActivo || !esperando || bloqueado) return;
+ bloqueado = true;
if (dir == sequence[playerIndex]) {
playerIndex++;
@@ -313,13 +324,22 @@ private static final String[] NAMES = {
completadas++;
if (tvCounter != null) tvCounter.setText(String.valueOf(completadas));
esperando = false;
- handler.postDelayed(this::nuevaRonda, 1200);
+ if (progressBar != null) {
+ progressBar.setVisibility(View.VISIBLE);
+ handler.postDelayed(() -> {
+ if (progressBar != null) progressBar.setVisibility(View.GONE);
+ }, 300);
+ }
+ handler.postDelayed(this::nuevaRonda, 300);
+ } else {
+ bloqueado = false;
}
} else {
if (soundManager != null) {
try { soundManager.playFailure(); } catch (Exception e) {}
}
juegoActivo = false;
+ if (ivFailure != null) ivFailure.setVisibility(View.VISIBLE);
handler.postDelayed(this::nuevaRonda, 1500);
}
}
diff --git a/app/src/main/res/drawable/ic_failure.xml b/app/src/main/res/drawable/ic_failure.xml
new file mode 100644
index 0000000..fae86a7
--- /dev/null
+++ b/app/src/main/res/drawable/ic_failure.xml
@@ -0,0 +1,20 @@
+
+
+
+
+
+
+
+
diff --git a/app/src/main/res/layout/activity_game.xml b/app/src/main/res/layout/activity_game.xml
index 00fd361..6663b46 100644
--- a/app/src/main/res/layout/activity_game.xml
+++ b/app/src/main/res/layout/activity_game.xml
@@ -205,4 +205,22 @@
android:scaleType="fitCenter"
android:src="@drawable/stratagemas_icon" />
+
+
+
+
+
+
\ No newline at end of file