From 706f659adcf7e0ca19fa8b9766d4faffcb580f15 Mon Sep 17 00:00:00 2001 From: juduteyrat Date: Tue, 1 Mar 2022 17:33:35 +0100 Subject: [PATCH] continuation de la soft persistance --- code/.idea/misc.xml | 2 + .../iut/jeu_de_la_vie/launcher/Launcher.java | 40 ++- .../jeu_de_la_vie/model/arbitre/Arbitre.java | 5 + .../model/arbitre/ArbitreConwayStyle.java | 2 + .../boucleDeJeu/observer/ObserverBDJ.java | 4 +- .../model/plateau/PrototypePlateau.java | 4 +- .../app/src/main/res/layout/jeu_de_la_vie.xml | 268 ++++++++++++++++++ .../src/main/res/layout/menu_principal.xml | 8 + code/app/src/main/res/layout/vue_jeu.xml | 33 --- 9 files changed, 319 insertions(+), 47 deletions(-) create mode 100644 code/app/src/main/res/layout/jeu_de_la_vie.xml delete mode 100644 code/app/src/main/res/layout/vue_jeu.xml diff --git a/code/.idea/misc.xml b/code/.idea/misc.xml index a10ccbe..f180756 100644 --- a/code/.idea/misc.xml +++ b/code/.idea/misc.xml @@ -7,7 +7,9 @@ + + diff --git a/code/app/src/main/java/projet/iut/jeu_de_la_vie/launcher/Launcher.java b/code/app/src/main/java/projet/iut/jeu_de_la_vie/launcher/Launcher.java index d1c4726..ec821ce 100644 --- a/code/app/src/main/java/projet/iut/jeu_de_la_vie/launcher/Launcher.java +++ b/code/app/src/main/java/projet/iut/jeu_de_la_vie/launcher/Launcher.java @@ -1,23 +1,29 @@ package projet.iut.jeu_de_la_vie.launcher; +import android.content.Context; import android.graphics.Color; import android.os.Bundle; import android.text.Editable; import android.util.Log; import android.view.View; import android.widget.Button; +import android.widget.CheckBox; import android.widget.EditText; import android.widget.TextView; import androidx.annotation.NonNull; import androidx.annotation.Nullable; import androidx.appcompat.app.AppCompatActivity; +import androidx.constraintlayout.widget.ConstraintLayout; +import androidx.constraintlayout.widget.ConstraintSet; +import java.awt.font.NumericShaper; import java.util.List; import projet.iut.jeu_de_la_vie.R; import projet.iut.jeu_de_la_vie.model.Manager; import projet.iut.jeu_de_la_vie.model.cellule.Cellule; +import projet.iut.jeu_de_la_vie.model.plateau.Plateau; public class Launcher extends AppCompatActivity { @@ -35,29 +41,35 @@ public class Launcher extends AppCompatActivity { super.onCreate(savedInstanceState); manager = new Manager(); setContentView(R.layout.menu_principal); - manager.lancerJeu(); //très moche à enlever plus tard start = findViewById(R.id.startButton); + //manager.lancerJeu(); start.setOnClickListener(l -> { EditText colones = findViewById(R.id.nbColone); - manager.getActualiseurCellule().getArbitre().getPlateau().setColone(Integer.parseInt(colones.getText().toString())); + //manager.getActualiseurCellule().getArbitre().getPlateau().setColone(Integer.parseInt(colones.getText().toString())); EditText lignes = findViewById(R.id.nbLignes); - manager.getActualiseurCellule().getArbitre().getPlateau().setLigne(Integer.parseInt(lignes.getText().toString())); + //manager.getActualiseurCellule().getArbitre().getPlateau().setLigne(Integer.parseInt(lignes.getText().toString())); for (List list : manager.getActualiseurCellule().getArbitre().getPlateau().getGrille()) { for (Cellule cell : list) { Log.d("instances",cell.isAlive().toString()); } } + + //updateGame(); + }); + findViewById(R.id.test).setOnClickListener(y -> { + manager.getActualiseurCellule().getArbitre().getPlateau().setColone(2); + manager.getActualiseurCellule().getArbitre().getPlateau().setLigne(2); + manager.getActualiseurCellule().getArbitre().getPlateau().getCell(1, 1).setAlive(true); }); } - @Override - protected void onRestoreInstanceState(@NonNull Bundle savedInstanceState) { - super.onRestoreInstanceState(savedInstanceState); - manager.getActualiseurCellule().getArbitre().getPlateau().setColone(savedInstanceState.getInt("colonnes")); - manager.getActualiseurCellule().getArbitre().getPlateau().setLigne(savedInstanceState.getInt("lignes")); + public void updateGame (){ + } + + @Override protected void onStop() { @@ -101,9 +113,13 @@ public class Launcher extends AppCompatActivity { @Override protected void onSaveInstanceState(@NonNull Bundle outState) { super.onSaveInstanceState(outState); - int colonnes = manager.getActualiseurCellule().getArbitre().getPlateau().getColone(); - outState.putInt("colonnes",colonnes); - int lignes = manager.getActualiseurCellule().getArbitre().getPlateau().getLigne(); - outState.putInt("lignes",lignes); + outState.putSerializable("manager",manager); } + + @Override + protected void onRestoreInstanceState(@NonNull Bundle savedInstanceState) { + super.onRestoreInstanceState(savedInstanceState); + manager = (Manager) savedInstanceState.getSerializable("manager"); + } + } diff --git a/code/app/src/main/java/projet/iut/jeu_de_la_vie/model/arbitre/Arbitre.java b/code/app/src/main/java/projet/iut/jeu_de_la_vie/model/arbitre/Arbitre.java index 0b170a8..0300be5 100644 --- a/code/app/src/main/java/projet/iut/jeu_de_la_vie/model/arbitre/Arbitre.java +++ b/code/app/src/main/java/projet/iut/jeu_de_la_vie/model/arbitre/Arbitre.java @@ -52,4 +52,9 @@ public abstract class Arbitre { * @see CellState */ public abstract CellState verifierChangementCellules(int x, int y, CellulesVivantes reference); + + public void setPlateau (Plateau plateau){ + this.plateau = plateau; + } + } diff --git a/code/app/src/main/java/projet/iut/jeu_de_la_vie/model/arbitre/ArbitreConwayStyle.java b/code/app/src/main/java/projet/iut/jeu_de_la_vie/model/arbitre/ArbitreConwayStyle.java index 686dc5c..c6bee93 100644 --- a/code/app/src/main/java/projet/iut/jeu_de_la_vie/model/arbitre/ArbitreConwayStyle.java +++ b/code/app/src/main/java/projet/iut/jeu_de_la_vie/model/arbitre/ArbitreConwayStyle.java @@ -66,4 +66,6 @@ public class ArbitreConwayStyle extends Arbitre{ } return false; } + + } diff --git a/code/app/src/main/java/projet/iut/jeu_de_la_vie/model/boucleDeJeu/observer/ObserverBDJ.java b/code/app/src/main/java/projet/iut/jeu_de_la_vie/model/boucleDeJeu/observer/ObserverBDJ.java index 45d8de7..3f75889 100644 --- a/code/app/src/main/java/projet/iut/jeu_de_la_vie/model/boucleDeJeu/observer/ObserverBDJ.java +++ b/code/app/src/main/java/projet/iut/jeu_de_la_vie/model/boucleDeJeu/observer/ObserverBDJ.java @@ -1,11 +1,13 @@ package projet.iut.jeu_de_la_vie.model.boucleDeJeu.observer; +import java.io.Serializable; + /** * Permet d'obbserver une boucle de jeu * @author Yohann Breuil * @author Allan Point */ -public interface ObserverBDJ { +public interface ObserverBDJ extends Serializable { /** * Réaction en cas de notification */ diff --git a/code/app/src/main/java/projet/iut/jeu_de_la_vie/model/plateau/PrototypePlateau.java b/code/app/src/main/java/projet/iut/jeu_de_la_vie/model/plateau/PrototypePlateau.java index 79292bc..5d2bbcf 100644 --- a/code/app/src/main/java/projet/iut/jeu_de_la_vie/model/plateau/PrototypePlateau.java +++ b/code/app/src/main/java/projet/iut/jeu_de_la_vie/model/plateau/PrototypePlateau.java @@ -1,10 +1,12 @@ package projet.iut.jeu_de_la_vie.model.plateau; +import java.io.Serializable; + /** * Abstraction du clonnage de plateau * @author Yohann Breuil * @author Allan Point */ -public interface PrototypePlateau { +public interface PrototypePlateau{ Plateau cloner(); } diff --git a/code/app/src/main/res/layout/jeu_de_la_vie.xml b/code/app/src/main/res/layout/jeu_de_la_vie.xml new file mode 100644 index 0000000..bd094c5 --- /dev/null +++ b/code/app/src/main/res/layout/jeu_de_la_vie.xml @@ -0,0 +1,268 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +