From a59f5d36e5197249c1b5dd269df3f75186b4f218 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?La=C3=ABtitia=20VAL?= Date: Thu, 19 Mar 2026 13:01:02 +0100 Subject: [PATCH] Correction bug Main Activity --- src/main/java/sae/chuzzle/MainActivity.java | 59 +++++---------------- 1 file changed, 13 insertions(+), 46 deletions(-) diff --git a/src/main/java/sae/chuzzle/MainActivity.java b/src/main/java/sae/chuzzle/MainActivity.java index b42a626..1e48cd3 100644 --- a/src/main/java/sae/chuzzle/MainActivity.java +++ b/src/main/java/sae/chuzzle/MainActivity.java @@ -3,7 +3,6 @@ package sae.chuzzle; import android.app.Activity; import android.content.Intent; import android.os.Bundle; -import android.os.CountDownTimer; import android.view.View; import android.widget.Button; import android.widget.RadioButton; @@ -12,15 +11,13 @@ import android.widget.TextView; public class MainActivity extends Activity implements View.OnClickListener { - private static final long DUREE_HARD_MS = 60_000L; // 1 minute + private Controleur controleur; private Button btnJouer; private Button btnMenu; - private TextView tvTimer; - private CountDownTimer compteARebours; - private long tempsRestantMs; + private boolean hardMode; private EtatJeu etatJeu; @@ -41,18 +38,13 @@ public class MainActivity extends Activity implements View.OnClickListener { // --- Restauration si retour de pause --- if (savedInstanceState != null) { etatJeu.restaurerEtat(savedInstanceState); - if (hardMode) { - tempsRestantMs = savedInstanceState.getLong("tempsRestantMs", DUREE_HARD_MS); - } - } else { - tempsRestantMs = DUREE_HARD_MS; } // --- Vue --- VueGrille vueGrille = findViewById(R.id.vueGrille); vueGrille.definirModeDaltonien(daltonien); - tvTimer = findViewById(R.id.tvTimer); + // --- Controleur --- btnJouer = findViewById(R.id.btnJouer); @@ -72,7 +64,8 @@ public class MainActivity extends Activity implements View.OnClickListener { (RadioButton) findViewById(R.id.rbLigne), (RadioButton) findViewById(R.id.rbDroite), (Spinner) findViewById(R.id.spinnerIndex), - btnJouer + btnJouer, + hardMode ); // --- Gestion tactile --- @@ -80,39 +73,14 @@ public class MainActivity extends Activity implements View.OnClickListener { new GestionnaireTactile(vueGrille, etatJeu, controleur); vueGrille.setOnTouchListener(gestionnaireTactile); - // --- Timer hard mode --- - if (hardMode && !etatJeu.estTerminee()) { - demarrerTimer(tempsRestantMs); - } else if (hardMode && etatJeu.estTerminee()) { - tvTimer.setVisibility(View.VISIBLE); - tvTimer.setText("⏱ 0s"); + // --- Logique Hard mode --- + if (hardMode) { + // TODO: Ajouter la nouvelle fonctionnalité pour le hard mode ici (en remplacement du timer) } } // - - // TIMER - - private void demarrerTimer(long dureeMs) { - tvTimer.setVisibility(View.VISIBLE); - - compteARebours = new CountDownTimer(dureeMs, 1000) { - - @Override - public void onTick(long millisRestants) { - tempsRestantMs = millisRestants; - long secondes = millisRestants / 1000; - tvTimer.setText("⏱ " + secondes + "s"); - } - - @Override - public void onFinish() { - tvTimer.setText("⏱ 0s"); - // Forcer la fin de partie par le temps - etatJeu.forcerFinDePartie(); - controleur.verifierFinDePartie(); - } - }.start(); - } + // // - // CYCLE DE VIE @@ -123,17 +91,15 @@ public class MainActivity extends Activity implements View.OnClickListener { if (etatJeu != null) { etatJeu.sauvegarderEtat(outState); } - if (hardMode) { - outState.putLong("tempsRestantMs", tempsRestantMs); + if (controleur != null) { + controleur.sauvegarderEtat(outState); } } @Override protected void onDestroy() { super.onDestroy(); - if (compteARebours != null) { - compteARebours.cancel(); - } + } @Override @@ -142,6 +108,7 @@ public class MainActivity extends Activity implements View.OnClickListener { controleur.gererCoupJoueur(); } if (v == btnMenu) { + etatJeu.forcerFinDePartie(); Intent intent = new Intent(this, MenuActivity.class); startActivity(intent); }