diff --git a/code/app/src/main/java/projet/iut/jeu_de_la_vie/model/Manager.java b/code/app/src/main/java/projet/iut/jeu_de_la_vie/model/Manager.java index 8dcee5f..51f041c 100644 --- a/code/app/src/main/java/projet/iut/jeu_de_la_vie/model/Manager.java +++ b/code/app/src/main/java/projet/iut/jeu_de_la_vie/model/Manager.java @@ -127,4 +127,8 @@ public class Manager implements ObserverBDJ { public void setCellsColor(int color){ Cellule.setLivingColor(color); } + + public Boolean isJeuLance(){ + return jeuLance; + } } diff --git a/code/app/src/main/java/projet/iut/jeu_de_la_vie/view/GameActivity.java b/code/app/src/main/java/projet/iut/jeu_de_la_vie/view/GameActivity.java index 39f2127..613e547 100644 --- a/code/app/src/main/java/projet/iut/jeu_de_la_vie/view/GameActivity.java +++ b/code/app/src/main/java/projet/iut/jeu_de_la_vie/view/GameActivity.java @@ -13,7 +13,7 @@ public class GameActivity extends AppCompatActivity { @Override public void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); - setContentView(R.layout.game_activity); + setContentView(R.layout.fragment_plateau); plateauView = findViewById(R.id.plateauView); } diff --git a/code/app/src/main/java/projet/iut/jeu_de_la_vie/view/LauncherActivity.java b/code/app/src/main/java/projet/iut/jeu_de_la_vie/view/LauncherActivity.java index 7fd02bd..e176e3d 100644 --- a/code/app/src/main/java/projet/iut/jeu_de_la_vie/view/LauncherActivity.java +++ b/code/app/src/main/java/projet/iut/jeu_de_la_vie/view/LauncherActivity.java @@ -35,7 +35,6 @@ public class LauncherActivity extends AppCompatActivity { super.onCreate(savedInstanceState); manager = new Manager(); setContentView(R.layout.jeu_de_la_vie); - FragmentPlateau fragmentPlateau = (FragmentPlateau) getSupportFragmentManager().findFragmentById(R.id.fragmentContainerViewId); /* //très moche à enlever plus tard start = findViewById(R.id.startButton); @@ -64,7 +63,11 @@ public class LauncherActivity extends AppCompatActivity { manager.getActualiseurCellule().getArbitre().getPlateau().getCell(0, 1).setAlive(true); }); */ - getSupportFragmentManager().beginTransaction().add(R.id.menuView,MenuFragment.class,null).commit(); + if(manager.isJeuLance()) { + + }else { + getSupportFragmentManager().beginTransaction().add(R.id.menuView,MenuFragment.class,null).commit(); + } } public void updateGame (){ @@ -84,31 +87,14 @@ public class LauncherActivity extends AppCompatActivity { super.onStop(); } - private void setNbColumns(){ - EditText editText = findViewById(R.id.nbColone); - Editable text = editText.getText(); - manager.setNumberOfColumns(Integer.parseInt(text.toString())); - } - private void setNbLignes(){ - EditText editText = findViewById(R.id.nbLignes); - Editable text = editText.getText(); - manager.setNumberOfLines(Integer.parseInt(text.toString())); + public Manager getManager() { + return manager; } + private void setCellsColor(int color){ manager.setCellsColor(color); } - public void startGame(View view){ - setNbLignes(); - setNbColumns(); - Log.d("d", "" + manager.getNumberOfLines()); - Log.d("d", "" + manager.getNomberOfColumns()); - Log.d("d", "" + Cellule.getLivingColor()); - //Intent intent = new Intent(this, GameActivity.class); - //startActivity(intent); - //setContentView(new PlateauView(this, manager.getNomberOfColumns() ,manager.getNumberOfLines())); - getSupportFragmentManager().beginTransaction().replace(R.id.fragmentContainerViewId, MenuFragment.class,null).commit(); - } public void setCellsRed(View view){ int red = Color.RED; setCellsColor(red); @@ -122,6 +108,13 @@ public class LauncherActivity extends AppCompatActivity { setCellsColor(blue); } + public void startGame(Bundle bundle){ + Log.d("d", "" + (manager.getNumberOfLines())); + Log.d("d", "" + (manager.getNomberOfColumns())); + Log.d("d", "" + Cellule.getLivingColor()); + getSupportFragmentManager().beginTransaction().replace(R.id.fragmentContainerViewId, FragmentPlateau.class,bundle).commit(); + } + @Override protected void onSaveInstanceState(@NonNull Bundle outState) { super.onSaveInstanceState(outState); diff --git a/code/app/src/main/java/projet/iut/jeu_de_la_vie/view/fragment/FragmentPlateau.java b/code/app/src/main/java/projet/iut/jeu_de_la_vie/view/fragment/FragmentPlateau.java index 1486b63..b2fb771 100644 --- a/code/app/src/main/java/projet/iut/jeu_de_la_vie/view/fragment/FragmentPlateau.java +++ b/code/app/src/main/java/projet/iut/jeu_de_la_vie/view/fragment/FragmentPlateau.java @@ -11,7 +11,8 @@ import androidx.annotation.Nullable; import androidx.fragment.app.Fragment; import projet.iut.jeu_de_la_vie.R; -import projet.iut.jeu_de_la_vie.model.plateau.Plateau; +import projet.iut.jeu_de_la_vie.model.Manager; +import projet.iut.jeu_de_la_vie.view.PlateauView; public class FragmentPlateau extends Fragment { /* @@ -25,13 +26,25 @@ public class FragmentPlateau extends Fragment { this.plateau = plateau; } */ + private Manager manager; public FragmentPlateau(){ - super(R.layout.game_activity); //<-- lui passer la future vue du jeu + super(R.layout.fragment_plateau); //<-- lui passer la future vue du jeu + manager = new Manager(); } + @Override + public void onCreate(@Nullable Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + manager.setNumberOfLines((Integer) getArguments().get("colones")); + manager.setNumberOfColumns((Integer) getArguments().get("lignes")); + } + + @Override public void onViewCreated (@NonNull View view, Bundle savedInstanceState){ Log.d("fragment",isAdded()+""); + PlateauView plateauView = view.findViewById(R.id.plateauView); + //plateauView.setColones(); } @Override diff --git a/code/app/src/main/java/projet/iut/jeu_de_la_vie/view/fragment/MenuFragment.java b/code/app/src/main/java/projet/iut/jeu_de_la_vie/view/fragment/MenuFragment.java index 56e6065..4d0fb4b 100644 --- a/code/app/src/main/java/projet/iut/jeu_de_la_vie/view/fragment/MenuFragment.java +++ b/code/app/src/main/java/projet/iut/jeu_de_la_vie/view/fragment/MenuFragment.java @@ -1,11 +1,53 @@ package projet.iut.jeu_de_la_vie.view.fragment; +import android.os.Bundle; +import android.text.Editable; +import android.util.Log; +import android.view.View; +import android.widget.EditText; + +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; import androidx.fragment.app.Fragment; import projet.iut.jeu_de_la_vie.R; +import projet.iut.jeu_de_la_vie.model.cellule.Cellule; +import projet.iut.jeu_de_la_vie.view.LauncherActivity; public class MenuFragment extends Fragment { public MenuFragment() { super(R.layout.menu_principal); } + + @Override + public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) { + super.onViewCreated(view, savedInstanceState); + view.findViewById(R.id.startButton).setOnClickListener(l->{startGame(view);}); + } + + private int getNbColumnsFromView(View v) throws NumberFormatException{ + EditText editText = v.findViewById(R.id.nbColone); + Editable text = editText.getText(); + return Integer.parseInt(text.toString()); + } + private int getNbLignesFromView(View v) throws NumberFormatException{ + EditText editText = v.findViewById(R.id.nbLignes); + Editable text = editText.getText(); + return Integer.parseInt(text.toString()); + } + public void startGame(View view){ + Bundle bundle = new Bundle(); + int colones; + int lignes; + try { + lignes = getNbLignesFromView(view); + colones = getNbColumnsFromView(view); + }catch (NumberFormatException e){ + lignes=10; + colones=10; + } + bundle.putInt("lignes", lignes); + bundle.putInt("colones", colones); + ((LauncherActivity)getActivity()).startGame(bundle); + } } diff --git a/code/app/src/main/res/layout/game_activity.xml b/code/app/src/main/res/layout/fragment_plateau.xml similarity index 100% rename from code/app/src/main/res/layout/game_activity.xml rename to code/app/src/main/res/layout/fragment_plateau.xml 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 index 1dad239..747cabf 100644 --- a/code/app/src/main/res/layout/jeu_de_la_vie.xml +++ b/code/app/src/main/res/layout/jeu_de_la_vie.xml @@ -7,7 +7,7 @@