Ajout du menu + MAJ de l'arborescence
This commit is contained in:
@@ -0,0 +1,124 @@
|
||||
package sae.chuzzle;
|
||||
|
||||
import android.app.Activity;
|
||||
import android.os.Bundle;
|
||||
import android.view.View;
|
||||
import android.widget.ArrayAdapter;
|
||||
import android.widget.Button;
|
||||
import android.widget.RadioButton;
|
||||
import android.widget.Spinner;
|
||||
import android.widget.TextView;
|
||||
import android.widget.Toast;
|
||||
|
||||
import sae.chuzzle.EtatJeu;
|
||||
import sae.chuzzle.VueGrille;
|
||||
|
||||
public class MainActivity extends Activity implements View.OnClickListener {
|
||||
|
||||
private EtatJeu etatJeu;
|
||||
private VueGrille vueGrille;
|
||||
private TextView tvScore;
|
||||
private TextView tvCoups;
|
||||
private RadioButton rbLigne;
|
||||
private RadioButton rbDroite;
|
||||
private Spinner spinnerIndex;
|
||||
private Button btnJouer;
|
||||
|
||||
@Override
|
||||
protected void onCreate(Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
setContentView(R.layout.activity_main);
|
||||
|
||||
// - Lire la graine et les options
|
||||
long graine = getIntent().getLongExtra("graine", System.currentTimeMillis());
|
||||
boolean daltonien = getSharedPreferences("chuzzle_prefs", MODE_PRIVATE)
|
||||
.getBoolean("daltonien", false);
|
||||
boolean hardMode = getSharedPreferences("chuzzle_prefs", MODE_PRIVATE)
|
||||
.getBoolean("hard_mode", false);
|
||||
|
||||
// - Modèle
|
||||
etatJeu = new EtatJeu(graine, hardMode);
|
||||
|
||||
// - Récupérer les vues depuis le XML
|
||||
tvScore = findViewById(R.id.tvScore);
|
||||
tvCoups = findViewById(R.id.tvCoups);
|
||||
vueGrille = findViewById(R.id.vueGrille);
|
||||
rbLigne = findViewById(R.id.rbLigne);
|
||||
rbDroite = findViewById(R.id.rbDroite);
|
||||
spinnerIndex = findViewById(R.id.spinnerIndex);
|
||||
btnJouer = findViewById(R.id.btnJouer);
|
||||
|
||||
// - Configurer la vue
|
||||
vueGrille.definirGrille(etatJeu.obtenirGrille());
|
||||
vueGrille.definirVerrous(etatJeu.obtenirVerrous());
|
||||
vueGrille.definirModeDaltonien(daltonien);
|
||||
|
||||
// - Configurer le spinner
|
||||
String[] indices = {"0", "1", "2", "3", "4", "5"};
|
||||
ArrayAdapter<String> adaptateur = new ArrayAdapter<>(
|
||||
this,
|
||||
android.R.layout.simple_spinner_item,
|
||||
indices
|
||||
);
|
||||
adaptateur.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
|
||||
spinnerIndex.setAdapter(adaptateur);
|
||||
|
||||
// --- Bouton jouer ---
|
||||
btnJouer.setOnClickListener(this);
|
||||
}
|
||||
|
||||
|
||||
// GESTION DES CLICS
|
||||
|
||||
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
if (v == btnJouer) {
|
||||
gererCoupJoueur();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// COORDINATION
|
||||
|
||||
|
||||
private void gererCoupJoueur() {
|
||||
boolean estLigne = rbLigne.isChecked();
|
||||
int index = spinnerIndex.getSelectedItemPosition();
|
||||
|
||||
int sens;
|
||||
if (rbDroite.isChecked()) {
|
||||
sens = +1;
|
||||
} else {
|
||||
sens = -1;
|
||||
}
|
||||
|
||||
boolean accepte = etatJeu.appliquerCoup(estLigne, index, sens);
|
||||
|
||||
if (!accepte) {
|
||||
Toast.makeText(
|
||||
this,
|
||||
"Coup invalide : aucune serie creee !",
|
||||
Toast.LENGTH_SHORT
|
||||
).show();
|
||||
}
|
||||
|
||||
rafraichirAffichage();
|
||||
|
||||
if (etatJeu.estTerminee()) {
|
||||
Toast.makeText(
|
||||
this,
|
||||
"Partie terminee ! Score final : " + etatJeu.obtenirScore(),
|
||||
Toast.LENGTH_LONG
|
||||
).show();
|
||||
btnJouer.setEnabled(false);
|
||||
}
|
||||
}
|
||||
|
||||
private void rafraichirAffichage() {
|
||||
tvScore.setText("Score : " + etatJeu.obtenirScore());
|
||||
tvCoups.setText("Coups : " + etatJeu.obtenirNbCoups());
|
||||
vueGrille.definirGrille(etatJeu.obtenirGrille());
|
||||
vueGrille.definirVerrous(etatJeu.obtenirVerrous());
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user