séparation class main - respect model MVC
This commit is contained in:
@@ -1,49 +1,42 @@
|
|||||||
package sae.chuzzle;
|
package sae.chuzzle;
|
||||||
|
|
||||||
import android.app.Activity;
|
import android.app.Activity;
|
||||||
import android.content.Intent;
|
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import android.view.View;
|
|
||||||
import android.widget.Button;
|
import android.widget.Button;
|
||||||
import android.widget.RadioButton;
|
|
||||||
import android.widget.Spinner;
|
|
||||||
import android.widget.TextView;
|
import android.widget.TextView;
|
||||||
|
|
||||||
public class MainActivity extends Activity implements View.OnClickListener {
|
public class MainActivity extends Activity {
|
||||||
|
|
||||||
private Controleur controleur;
|
private Controleur controleur;
|
||||||
private Button btnMenu;
|
|
||||||
private boolean hardMode;
|
private boolean hardMode;
|
||||||
private EtatJeu etatJeu;
|
private EtatJeu etatJeu;
|
||||||
|
|
||||||
|
private Button btnMenu;
|
||||||
|
private VueGrille vueGrille;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void onCreate(Bundle savedInstanceState) {
|
protected void onCreate(Bundle savedInstanceState) {
|
||||||
super.onCreate(savedInstanceState);
|
super.onCreate(savedInstanceState);
|
||||||
setContentView(R.layout.activity_main);
|
setContentView(R.layout.activity_main);
|
||||||
|
|
||||||
// --- Modèle ---
|
// --- Modèle
|
||||||
long graine = getIntent().getLongExtra("graine", System.currentTimeMillis());
|
long graine = getIntent().getLongExtra("graine", System.currentTimeMillis());
|
||||||
hardMode = getSharedPreferences("chuzzle_prefs", MODE_PRIVATE)
|
hardMode = getSharedPreferences("chuzzle_prefs", MODE_PRIVATE).getBoolean("hard_mode", false);
|
||||||
.getBoolean("hard_mode", false);
|
|
||||||
boolean daltonien = getSharedPreferences("chuzzle_prefs", MODE_PRIVATE)
|
|
||||||
.getBoolean("daltonien", false);
|
|
||||||
|
|
||||||
etatJeu = new EtatJeu(graine, hardMode);
|
etatJeu = new EtatJeu(graine, hardMode);
|
||||||
|
|
||||||
// --- Restauration si retour de pause ---
|
// --- Restauration si retour de pause
|
||||||
if (savedInstanceState != null) {
|
if (savedInstanceState != null) {
|
||||||
etatJeu.restaurerEtat(savedInstanceState);
|
etatJeu.restaurerEtat(savedInstanceState);
|
||||||
}
|
}
|
||||||
|
|
||||||
// --- Vue ---
|
// --- Vue
|
||||||
VueGrille vueGrille = findViewById(R.id.vueGrille);
|
vueGrille = findViewById(R.id.vueGrille);
|
||||||
|
|
||||||
// --- Controleur ---
|
|
||||||
|
|
||||||
btnMenu = findViewById(R.id.btnMenu);
|
|
||||||
btnMenu.setOnClickListener(this);
|
|
||||||
|
|
||||||
|
|
||||||
|
// --- Controleur métier
|
||||||
controleur = new Controleur(
|
controleur = new Controleur(
|
||||||
this,
|
this,
|
||||||
etatJeu,
|
etatJeu,
|
||||||
@@ -54,20 +47,20 @@ public class MainActivity extends Activity implements View.OnClickListener {
|
|||||||
hardMode
|
hardMode
|
||||||
);
|
);
|
||||||
|
|
||||||
// --- INITIALISATION DE L'OBJECTIF ---
|
// --- INITIALISATION DE L'OBJECTIF
|
||||||
// "Objectif : ..." remplacé par le vrai énoncé
|
|
||||||
controleur.initialiserObjectif(savedInstanceState);
|
controleur.initialiserObjectif(savedInstanceState);
|
||||||
|
|
||||||
// --- Gestion tactile ---
|
// --- Gestion tactile
|
||||||
GestionnaireTactile gestionnaireTactile =
|
GestionnaireTactile gestionnaireTactile =
|
||||||
new GestionnaireTactile(vueGrille, etatJeu, controleur);
|
new GestionnaireTactile(vueGrille, etatJeu, controleur);
|
||||||
vueGrille.setOnTouchListener(gestionnaireTactile);
|
vueGrille.setOnTouchListener(gestionnaireTactile);
|
||||||
|
|
||||||
|
// --- Controleur
|
||||||
|
btnMenu = findViewById(R.id.btnMenu);
|
||||||
|
MainController mainController = new MainController(this, etatJeu);
|
||||||
|
btnMenu.setOnClickListener(mainController);
|
||||||
}
|
}
|
||||||
|
|
||||||
// -
|
|
||||||
// CYCLE DE VIE
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void onSaveInstanceState(Bundle outState) {
|
protected void onSaveInstanceState(Bundle outState) {
|
||||||
super.onSaveInstanceState(outState);
|
super.onSaveInstanceState(outState);
|
||||||
@@ -82,16 +75,5 @@ public class MainActivity extends Activity implements View.OnClickListener {
|
|||||||
@Override
|
@Override
|
||||||
protected void onDestroy() {
|
protected void onDestroy() {
|
||||||
super.onDestroy();
|
super.onDestroy();
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onClick(View v) {
|
|
||||||
|
|
||||||
if (v == btnMenu) {
|
|
||||||
etatJeu.forcerFinDePartie();
|
|
||||||
Intent intent = new Intent(this, MenuActivity.class);
|
|
||||||
startActivity(intent);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,25 @@
|
|||||||
|
package sae.chuzzle;
|
||||||
|
|
||||||
|
import android.content.Intent;
|
||||||
|
import android.view.View;
|
||||||
|
|
||||||
|
public class MainController implements View.OnClickListener {
|
||||||
|
|
||||||
|
private final MainActivity activity;
|
||||||
|
private final EtatJeu etatJeu;
|
||||||
|
|
||||||
|
public MainController(MainActivity activity, EtatJeu etatJeu) {
|
||||||
|
this.activity = activity;
|
||||||
|
this.etatJeu = etatJeu;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onClick(View v) {
|
||||||
|
int id = v.getId();
|
||||||
|
if (id == R.id.btnMenu) {
|
||||||
|
etatJeu.forcerFinDePartie();
|
||||||
|
Intent intent = new Intent(activity, MenuActivity.class);
|
||||||
|
activity.startActivity(intent);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user