mode solo fonctionnel + fix bug nettoyage + verif victoire
This commit is contained in:
parent
9b08b28846
commit
89d4de7fa8
@ -35,10 +35,11 @@ public class Bot {
|
||||
}
|
||||
|
||||
public Integer[] notation(Integer[] soumission){
|
||||
Integer[] note=new Integer[4];
|
||||
LinkedList<Integer> note=new LinkedList<>();
|
||||
for(int i=0; i<4;i++) {
|
||||
if (this.collectionWin[i]==soumission[i]) {
|
||||
note[i]=(this.pionsNotation[1]);
|
||||
note.add(this.pionsNotation[1]);
|
||||
System.out.println(note.getLast()+" good");
|
||||
}
|
||||
}
|
||||
//On crée une copie de la combinaison gagnante pour la modifier et éviter la fausse répétition de pions blancs
|
||||
@ -47,13 +48,24 @@ public class Bot {
|
||||
for (int y=0; y<4;y++) {
|
||||
if (i!=y){
|
||||
if (copyCombi[y] == soumission[i]){
|
||||
note[i]=(copyCombi[0]);
|
||||
note.add(this.pionsNotation[0]);
|
||||
System.out.println(note.getLast()+" almost");
|
||||
copyCombi[y]=null;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
// On complête avec des cases vides
|
||||
while (note.size()<4){
|
||||
note.addLast(this.pionVide);
|
||||
}
|
||||
|
||||
return note;
|
||||
Integer[] tabnote = new Integer[4];
|
||||
//fill tab TODO: and shuffle
|
||||
Random rand = new Random();
|
||||
for(int i=0; i<4;i++) {
|
||||
tabnote[i]=note.get(i);
|
||||
}
|
||||
return tabnote;
|
||||
}
|
||||
}
|
||||
|
@ -44,7 +44,6 @@ public class GameView extends View {
|
||||
//copie des soumissions
|
||||
LinkedList<Integer> grille = new LinkedList<Integer>();
|
||||
grille.addAll(this.grille.getSoumissions());
|
||||
//System.out.println(grille.size());
|
||||
for (int y=0; y<10;y++) {
|
||||
for (int x=0;x<4;x++) {
|
||||
this.circle.setColor(grille.pop());
|
||||
@ -55,7 +54,7 @@ public class GameView extends View {
|
||||
// affichage de la zone de saisie
|
||||
//copie de la zone de saisie
|
||||
Integer[] saisie = this.saisie.getSelection();
|
||||
for (int i=0;i<this.saisie.getSelection().length;i++){
|
||||
for (int i=0;i<4;i++){
|
||||
this.circle.setColor(saisie[i]);
|
||||
//TODO: coordonnées propres (encore)
|
||||
canvas.drawCircle((i*this.getWidth()/5+this.getWidth()/5),this.getHeight()-this.getHeight()*2/9, this.getWidth()/14, this.circle);
|
||||
@ -65,7 +64,6 @@ public class GameView extends View {
|
||||
//copie des couleurs dispos
|
||||
LinkedList<Integer> couleurs = new LinkedList<Integer>();
|
||||
couleurs.addAll(this.saisie.getChoix());
|
||||
//System.out.println(couleurs.size());
|
||||
for (int i=0;i<this.saisie.getChoix().size();i++){
|
||||
this.circle.setColor(couleurs.pop());
|
||||
//TODO: coordonnées propres (encore)
|
||||
@ -103,6 +101,7 @@ public class GameView extends View {
|
||||
if (!this.state) {
|
||||
this.saisie.setChoix(this.pionsAttaquant);
|
||||
this.grille.addNotation(this.saisie.getSelection());
|
||||
victoire();
|
||||
this.saisie.initSelection(this.getResources().getColor(R.color.pionVide));
|
||||
this.invalidate();
|
||||
this.state = !this.state;
|
||||
@ -110,17 +109,17 @@ public class GameView extends View {
|
||||
this.saisie.setChoix(this.pionsDefenseur);
|
||||
this.grille.addSoumission(this.saisie.getSelection());
|
||||
this.saisie.initSelection(this.getResources().getColor(R.color.pionVide));
|
||||
this.invalidate();
|
||||
invalidate();
|
||||
this.state = !this.state;
|
||||
}
|
||||
} else if (this.state && this.saisie.getSizeSelection() == 4) {
|
||||
this.saisie.setChoix(this.pionsDefenseur);
|
||||
this.grille.addSoumission(this.saisie.getSelection());
|
||||
Integer[] combi = this.saisie.getSelection();
|
||||
this.grille.addSoumission(combi);
|
||||
this.saisie.initSelection(this.getResources().getColor(R.color.pionVide));
|
||||
//On fait noter la combinaison au Bot
|
||||
this.grille.addNotation(this.theBot.notation((this.saisie.getSelection())));
|
||||
this.invalidate();
|
||||
|
||||
this.grille.addNotation(this.theBot.notation((combi)));
|
||||
victoire();
|
||||
invalidate();
|
||||
}
|
||||
}
|
||||
|
||||
@ -140,12 +139,19 @@ public class GameView extends View {
|
||||
}*/
|
||||
|
||||
public void clearChoix() {
|
||||
this.saisie.initSelection(R.color.pionVide);
|
||||
this.saisie.initSelection(this.getResources().getColor(R.color.pionVide));
|
||||
this.invalidate();
|
||||
}
|
||||
|
||||
public boolean conditionVictoire(int choix) {
|
||||
if(choix==4) {
|
||||
public boolean victoire (){
|
||||
Integer[] lastNotation = this.grille.getLastNotation();
|
||||
int nbWin=0;
|
||||
for (int i=0;i<4;i++){
|
||||
if (lastNotation[i]==this.pionsDefenseur[1]){
|
||||
nbWin++;
|
||||
}
|
||||
}
|
||||
if(nbWin==4) {
|
||||
System.out.println("WIN");
|
||||
return true;
|
||||
} else {
|
||||
|
@ -76,5 +76,12 @@ public class Grille {
|
||||
return this.notations;
|
||||
}
|
||||
|
||||
public Integer[] getLastNotation(){
|
||||
Integer[] lastNotation = new Integer[4];
|
||||
for (int i=0;i<4;i++){
|
||||
lastNotation[i]=this.notations.get(this.notations.size()-i-1);
|
||||
}
|
||||
return lastNotation;
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -38,9 +38,6 @@ public class TouchListener implements View.OnTouchListener{
|
||||
// surveille si un bouton de controle est cliqué
|
||||
} else if (v.getHeight()-v.getWidth()/16-v.getWidth()/13<y && y<v.getHeight()-v.getHeight()/16+v.getWidth()/13){
|
||||
if(v.getWidth()/2+(v.getWidth()/11)*2-v.getWidth()/13<x && x<v.getWidth()/2+(v.getWidth()/11)*2+v.getWidth()/13) { // soumettre
|
||||
if(!this.view.getState()) {
|
||||
this.view.conditionVictoire(i);
|
||||
}
|
||||
this.view.changeState();
|
||||
i = 0;
|
||||
} else if (v.getWidth()/2-v.getWidth()/13<x && x<v.getWidth()/2+v.getWidth()/13) { // retour
|
||||
|
Loading…
Reference in New Issue
Block a user