From e49234ef91338db29d388a7b9bab455a2bb39ff3 Mon Sep 17 00:00:00 2001 From: Claire G Date: Thu, 6 Apr 2023 20:25:28 +0200 Subject: [PATCH] bouton annuler fonctionnel + condition victoire (un peu degueu) --- .../com/example/mastermind/game/GameView.java | 46 ++++++++++++++----- .../com/example/mastermind/game/Saisie.java | 7 +++ .../mastermind/game/TouchListener.java | 16 ++++++- 3 files changed, 56 insertions(+), 13 deletions(-) diff --git a/app/src/main/java/com/example/mastermind/game/GameView.java b/app/src/main/java/com/example/mastermind/game/GameView.java index 2dd5427..6d780e9 100644 --- a/app/src/main/java/com/example/mastermind/game/GameView.java +++ b/app/src/main/java/com/example/mastermind/game/GameView.java @@ -40,7 +40,7 @@ public class GameView extends View { //copie des soumissions LinkedList grille = new LinkedList(); grille.addAll(this.grille.getSoumissions()); - System.out.println(grille.size()); + //System.out.println(grille.size()); for (int y=0; y<10;y++) { for (int x=0;x<4;x++) { this.circle.setColor(grille.pop()); @@ -62,7 +62,7 @@ public class GameView extends View { //copie des couleurs dispos LinkedList couleurs = new LinkedList(); couleurs.addAll(this.saisie.getChoix()); - System.out.println(couleurs.size()); + //System.out.println(couleurs.size()); for (int i=0;i notation = new LinkedList(); notation.addAll(this.grille.getNotations()); - for(int y=0; y<10; y++) { // colonne gauche - for(int x=0; x<2; x++) { + for(int y=0; y<10; y++) { + for(int x=0; x<2; x++) { // colonne gauche this.circle.setColor(notation.pop()); canvas.drawCircle((x*this.getWidth()/11+(this.getWidth()/11)),(y*this.getHeight()/14+getHeight()/21), this.getWidth()/26, this.circle); } - } - for(int y=0; y<10; y++) { // colonne droite - for(int x=0; x<2; x++) { + for(int x=0; x<2; x++) { // colonne droite this.circle.setColor(notation.pop()); canvas.drawCircle((x*this.getWidth()/11+(this.getWidth()*4/5)),(y*this.getHeight()/14+getHeight()/21), this.getWidth()/26, this.circle); } @@ -99,24 +97,50 @@ public class GameView extends View { //Change l'état de soumission à notation après qu'une combinaision ai été soumise puis inversement public void changeState() { if (this.saisie.getSizeSelection() == 4) { - //partie à décommenter pour acceder à la notation - /*this.state = !this.state; + this.state = !this.state; if (this.state) { this.saisie.setChoix(this.pionsAttaquant); + this.grille.addNotation(this.saisie.getSelection()); } else if (!this.state) { this.saisie.setChoix(this.pionsDefenseur); - }*/ - this.grille.addSoumission(this.saisie.getSelection()); + this.grille.addSoumission(this.saisie.getSelection()); + } this.saisie.initSelection(this.getResources().getColor(R.color.pionVide)); this.invalidate(); } } + public boolean getState() { + return this.state; + } + //ajoute une nouvelle couleur pour la séléction à soumettre public void addChoix(int choix){ this.saisie.addSelection(choix); this.invalidate(); } + + /*public void removeChoix() { + this.saisie.removeSelection(this.getResources().getColor(R.color.pionVide)); + this.invalidate(); + }*/ + + public void clearChoix() { + this.saisie.getSelection().clear(); + this.saisie.initSelection(R.color.pionVide); + this.invalidate(); + } + + public boolean conditionVictoire(int choix) { + if(choix==4) { + System.out.println("WIN"); + return true; + } else { + System.out.println("LOSE"); + return false; + } + } + //initialise les collections de pions et remplie saisie et grille de pions vides public void initpions(){ //on initialise les pions diff --git a/app/src/main/java/com/example/mastermind/game/Saisie.java b/app/src/main/java/com/example/mastermind/game/Saisie.java index 3bf845c..ffa80bb 100644 --- a/app/src/main/java/com/example/mastermind/game/Saisie.java +++ b/app/src/main/java/com/example/mastermind/game/Saisie.java @@ -47,6 +47,13 @@ public class Saisie { } + /*public void removeSelection(Integer color) { + if(this.sizeSelection<=4) { + this.sizeSelection-=1; + this.selection.set(this.sizeSelection, this.choix.get(color)); + } + }*/ + public int getSizeSelection(){ return this.sizeSelection; } diff --git a/app/src/main/java/com/example/mastermind/game/TouchListener.java b/app/src/main/java/com/example/mastermind/game/TouchListener.java index d74f7f7..01b4bd7 100644 --- a/app/src/main/java/com/example/mastermind/game/TouchListener.java +++ b/app/src/main/java/com/example/mastermind/game/TouchListener.java @@ -5,6 +5,7 @@ import android.view.View; public class TouchListener implements View.OnTouchListener{ private GameView view; + private int i = 0; public TouchListener(GameView view) { this.view=view; } @@ -22,6 +23,9 @@ public class TouchListener implements View.OnTouchListener{ this.view.addChoix(0); } else if(v.getWidth()*2/13+v.getWidth()/8-v.getWidth()/15