séparation class main - respect model MVC
This commit is contained in:
@@ -1,97 +1,79 @@
|
|||||||
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.widget.Button;
|
||||||
import android.view.View;
|
import android.widget.TextView;
|
||||||
import android.widget.Button;
|
|
||||||
import android.widget.RadioButton;
|
public class MainActivity extends Activity {
|
||||||
import android.widget.Spinner;
|
|
||||||
import android.widget.TextView;
|
private Controleur controleur;
|
||||||
|
private boolean hardMode;
|
||||||
public class MainActivity extends Activity implements View.OnClickListener {
|
private EtatJeu etatJeu;
|
||||||
|
|
||||||
private Controleur controleur;
|
private Button btnMenu;
|
||||||
private Button btnMenu;
|
private VueGrille vueGrille;
|
||||||
private boolean hardMode;
|
|
||||||
private EtatJeu etatJeu;
|
|
||||||
|
|
||||||
@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
|
||||||
|
if (savedInstanceState != null) {
|
||||||
// --- Restauration si retour de pause ---
|
etatJeu.restaurerEtat(savedInstanceState);
|
||||||
if (savedInstanceState != null) {
|
}
|
||||||
etatJeu.restaurerEtat(savedInstanceState);
|
|
||||||
}
|
// --- Vue
|
||||||
|
vueGrille = findViewById(R.id.vueGrille);
|
||||||
// --- Vue ---
|
|
||||||
VueGrille vueGrille = findViewById(R.id.vueGrille);
|
// --- Controleur métier
|
||||||
|
controleur = new Controleur(
|
||||||
// --- Controleur ---
|
this,
|
||||||
|
etatJeu,
|
||||||
btnMenu = findViewById(R.id.btnMenu);
|
vueGrille,
|
||||||
btnMenu.setOnClickListener(this);
|
graine,
|
||||||
|
(TextView) findViewById(R.id.tvScore),
|
||||||
|
(TextView) findViewById(R.id.tvCoups),
|
||||||
controleur = new Controleur(
|
hardMode
|
||||||
this,
|
);
|
||||||
etatJeu,
|
|
||||||
vueGrille,
|
// --- INITIALISATION DE L'OBJECTIF
|
||||||
graine,
|
controleur.initialiserObjectif(savedInstanceState);
|
||||||
(TextView) findViewById(R.id.tvScore),
|
|
||||||
(TextView) findViewById(R.id.tvCoups),
|
// --- Gestion tactile
|
||||||
hardMode
|
GestionnaireTactile gestionnaireTactile =
|
||||||
);
|
new GestionnaireTactile(vueGrille, etatJeu, controleur);
|
||||||
|
vueGrille.setOnTouchListener(gestionnaireTactile);
|
||||||
// --- INITIALISATION DE L'OBJECTIF ---
|
|
||||||
// "Objectif : ..." remplacé par le vrai énoncé
|
// --- Controleur
|
||||||
controleur.initialiserObjectif(savedInstanceState);
|
btnMenu = findViewById(R.id.btnMenu);
|
||||||
|
MainController mainController = new MainController(this, etatJeu);
|
||||||
// --- Gestion tactile ---
|
btnMenu.setOnClickListener(mainController);
|
||||||
GestionnaireTactile gestionnaireTactile =
|
}
|
||||||
new GestionnaireTactile(vueGrille, etatJeu, controleur);
|
|
||||||
vueGrille.setOnTouchListener(gestionnaireTactile);
|
@Override
|
||||||
|
protected void onSaveInstanceState(Bundle outState) {
|
||||||
}
|
super.onSaveInstanceState(outState);
|
||||||
|
if (etatJeu != null) {
|
||||||
// -
|
etatJeu.sauvegarderEtat(outState);
|
||||||
// CYCLE DE VIE
|
}
|
||||||
|
if (controleur != null) {
|
||||||
@Override
|
controleur.sauvegarderEtat(outState);
|
||||||
protected void onSaveInstanceState(Bundle outState) {
|
}
|
||||||
super.onSaveInstanceState(outState);
|
}
|
||||||
if (etatJeu != null) {
|
|
||||||
etatJeu.sauvegarderEtat(outState);
|
@Override
|
||||||
}
|
protected void onDestroy() {
|
||||||
if (controleur != null) {
|
super.onDestroy();
|
||||||
controleur.sauvegarderEtat(outState);
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
protected void 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