ajout de commentaires et TODO
This commit is contained in:
parent
a1622fa86c
commit
fb38ee8374
@ -27,7 +27,7 @@ public class GameView extends View {
|
|||||||
this.setOnTouchListener(new TouchListener(this));
|
this.setOnTouchListener(new TouchListener(this));
|
||||||
//on initialise les collections de pions
|
//on initialise les collections de pions
|
||||||
initpions();
|
initpions();
|
||||||
//state indique si le joueur soumet une combinaison ou false si elle est noté
|
//state indique true si le joueur soumet une combinaison ou false si elle est noté
|
||||||
this.state=true;
|
this.state=true;
|
||||||
this.circle = new Paint();
|
this.circle = new Paint();
|
||||||
}
|
}
|
||||||
@ -37,6 +37,7 @@ public class GameView extends View {
|
|||||||
super.onDraw(canvas);
|
super.onDraw(canvas);
|
||||||
this.setBackgroundColor(this.getResources().getColor(R.color.grey));
|
this.setBackgroundColor(this.getResources().getColor(R.color.grey));
|
||||||
//affichage des anciennes soumissions
|
//affichage des anciennes soumissions
|
||||||
|
//copie des soumissions
|
||||||
LinkedList<Integer> grille = new LinkedList<Integer>();
|
LinkedList<Integer> grille = new LinkedList<Integer>();
|
||||||
grille.addAll(this.grille.getSoumissions());
|
grille.addAll(this.grille.getSoumissions());
|
||||||
System.out.println(grille.size());
|
System.out.println(grille.size());
|
||||||
@ -48,6 +49,7 @@ public class GameView extends View {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
// affichage de la zone de saisie
|
// affichage de la zone de saisie
|
||||||
|
//copie de la zone de saisie
|
||||||
LinkedList<Integer> saisie = new LinkedList<Integer>();
|
LinkedList<Integer> saisie = new LinkedList<Integer>();
|
||||||
saisie.addAll(this.saisie.getSelection());
|
saisie.addAll(this.saisie.getSelection());
|
||||||
for (int i=0;i<this.saisie.getSelection().size();i++){
|
for (int i=0;i<this.saisie.getSelection().size();i++){
|
||||||
@ -57,6 +59,7 @@ public class GameView extends View {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// affichage des couleurs choisissables
|
// affichage des couleurs choisissables
|
||||||
|
//copie des couleurs dispos
|
||||||
LinkedList<Integer> couleurs = new LinkedList<Integer>();
|
LinkedList<Integer> couleurs = new LinkedList<Integer>();
|
||||||
couleurs.addAll(this.saisie.getChoix());
|
couleurs.addAll(this.saisie.getChoix());
|
||||||
System.out.println(couleurs.size());
|
System.out.println(couleurs.size());
|
||||||
@ -65,13 +68,17 @@ public class GameView extends View {
|
|||||||
//TODO: coordonnées propres (encore)
|
//TODO: coordonnées propres (encore)
|
||||||
canvas.drawCircle((i*this.getWidth()*2/13+this.getWidth()/8),this.getWidth()*689/420, this.getWidth()/15, this.circle);
|
canvas.drawCircle((i*this.getWidth()*2/13+this.getWidth()/8),this.getWidth()*689/420, this.getWidth()/15, this.circle);
|
||||||
}
|
}
|
||||||
//Test pour valider
|
//TODO: ajout des colonnes de notation
|
||||||
|
//TODO: ajout des boutons
|
||||||
|
//Test de bouton valider
|
||||||
this.circle.setColor(this.getResources().getColor(R.color.green));
|
this.circle.setColor(this.getResources().getColor(R.color.green));
|
||||||
canvas.drawCircle((this.getWidth()/2),this.getHeight()-this.getWidth()/9, this.getWidth()/10, this.circle);
|
canvas.drawCircle((this.getWidth()/2),this.getHeight()-this.getWidth()/9, this.getWidth()/10, this.circle);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//Change l'état de soumission à notation après qu'une combinaision ai été soumise puis inversement
|
||||||
public void changeState() {
|
public void changeState() {
|
||||||
if (this.saisie.getSizeSelection() == 4) {
|
if (this.saisie.getSizeSelection() == 4) {
|
||||||
|
//partie à décommenter pour acceder à la notation
|
||||||
/*this.state = !this.state;
|
/*this.state = !this.state;
|
||||||
if (this.state) {
|
if (this.state) {
|
||||||
this.saisie.setChoix(this.pionsAttaquant);
|
this.saisie.setChoix(this.pionsAttaquant);
|
||||||
@ -84,23 +91,26 @@ public class GameView extends View {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//Soumet une nouvelle couleur pour la séléction à soumettre
|
//ajoute une nouvelle couleur pour la séléction à soumettre
|
||||||
public void addChoix(int choix){
|
public void addChoix(int choix){
|
||||||
this.saisie.addSelection(choix);
|
this.saisie.addSelection(choix);
|
||||||
this.invalidate();
|
this.invalidate();
|
||||||
}
|
}
|
||||||
//initialise les collections de pions
|
//initialise les collections de pions et remplie saisie et grille de pions vides
|
||||||
public void initpions(){
|
public void initpions(){
|
||||||
//on initialise les pions
|
//on initialise les pions
|
||||||
|
//on créer une ligne de 4 pions gris représentants une ligne de pions vides
|
||||||
this.pionsPasPlaces = new LinkedList<Integer>();
|
this.pionsPasPlaces = new LinkedList<Integer>();
|
||||||
for (int i=0;i<4;i++){
|
for (int i=0;i<4;i++){
|
||||||
this.pionsPasPlaces.add(this.getResources().getColor(R.color.pionVide));
|
this.pionsPasPlaces.add(this.getResources().getColor(R.color.pionVide));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//Le défenseur a des pions noirs et blancs
|
||||||
this.pionsDefenseur = new LinkedList<Integer>();
|
this.pionsDefenseur = new LinkedList<Integer>();
|
||||||
this.pionsDefenseur.add(this.getResources().getColor(R.color.white));
|
this.pionsDefenseur.add(this.getResources().getColor(R.color.white));
|
||||||
this.pionsDefenseur.add(this.getResources().getColor(R.color.black));
|
this.pionsDefenseur.add(this.getResources().getColor(R.color.black));
|
||||||
|
|
||||||
|
//L'attaquant a des pions de couleurs
|
||||||
this.pionsAttaquant = new LinkedList<Integer>();
|
this.pionsAttaquant = new LinkedList<Integer>();
|
||||||
this.pionsAttaquant.add(this.getResources().getColor(R.color.pink));
|
this.pionsAttaquant.add(this.getResources().getColor(R.color.pink));
|
||||||
this.pionsAttaquant.add(this.getResources().getColor(R.color.purple));
|
this.pionsAttaquant.add(this.getResources().getColor(R.color.purple));
|
||||||
|
@ -10,36 +10,54 @@ import java.util.LinkedList;
|
|||||||
représente la grille de jeu à savoir la liste des soumissions ainsi que leur notation
|
représente la grille de jeu à savoir la liste des soumissions ainsi que leur notation
|
||||||
*/
|
*/
|
||||||
public class Grille {
|
public class Grille {
|
||||||
|
//sizeSubs indique le nombre de soumissions dans la grille. Il permet de limiter ce nombre à 10
|
||||||
private int sizeSubs;
|
private int sizeSubs;
|
||||||
|
// soumission représente la liste des soumissions réalisées ainsi que des cases grises pour compléter la grille
|
||||||
private LinkedList<Integer> soumissions;
|
private LinkedList<Integer> soumissions;
|
||||||
|
// notations est la liste des notes attribuées aux soumissions
|
||||||
private LinkedList<Integer> notations;
|
private LinkedList<Integer> notations;
|
||||||
|
|
||||||
public Grille(){
|
public Grille(){
|
||||||
this.soumissions=new LinkedList<Integer>();
|
this.soumissions=new LinkedList<Integer>();
|
||||||
this.notations=new LinkedList<Integer>();
|
this.notations=new LinkedList<Integer>();
|
||||||
this.sizeSubs=0;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Méthode permettant d'ajouter une soumission
|
||||||
public void addSoumission(LinkedList<Integer> newSub){
|
public void addSoumission(LinkedList<Integer> newSub){
|
||||||
|
//le nombre de soumissions ne doit pas dépasser 10
|
||||||
if (this.sizeSubs<10) {
|
if (this.sizeSubs<10) {
|
||||||
for (int i = 4; i > 0; i--) {
|
for (int i=0; i<4; i++) {
|
||||||
|
//On retire une ligne vide en haut pour remonter l'affichage
|
||||||
this.soumissions.remove(0);
|
this.soumissions.remove(0);
|
||||||
|
//On ajoute ensuite une deriere ligne qui correspond à la nouvelle soumission
|
||||||
this.soumissions.addLast(newSub.poll());
|
this.soumissions.addLast(newSub.poll());
|
||||||
}
|
}
|
||||||
this.sizeSubs += 1;
|
this.sizeSubs += 1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Méthode qui permet d'initialiser la grille vide
|
||||||
public void initGrille(Collection<Integer> SubToCopy){
|
public void initGrille(Collection<Integer> SubToCopy){
|
||||||
|
//On réécupère une ligne de la couleur qui correspond à l'absence de pion et on remplit la grille avec (soumissions et notations
|
||||||
for(int i=0;i<10;i++){
|
for(int i=0;i<10;i++){
|
||||||
this.soumissions.addAll(SubToCopy);
|
this.soumissions.addAll(SubToCopy);
|
||||||
|
this.notations.addAll(SubToCopy);
|
||||||
|
}
|
||||||
|
// Au début il n'y a pas de soumission
|
||||||
|
this.sizeSubs=0;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Méthode qui permet d'ajouter des notations comme pour les soumissions
|
||||||
|
public void addNotation(LinkedList<Integer> newNot){
|
||||||
|
for (int i=0; i<4; i++) {
|
||||||
|
//On retire une ligne vide en haut pour remonter l'affichage
|
||||||
|
this.notations.remove(0);
|
||||||
|
//On ajoute ensuite une deriere ligne qui correspond à la nouvelle soumission
|
||||||
|
this.notations.addLast(newNot.poll());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void addNotation(Collection<Integer> newNot){
|
//getters des soumissions et notations
|
||||||
this.notations.addAll(newNot);
|
|
||||||
}
|
|
||||||
|
|
||||||
public Collection<Integer> getSoumissions(){
|
public Collection<Integer> getSoumissions(){
|
||||||
return this.soumissions;
|
return this.soumissions;
|
||||||
}
|
}
|
||||||
|
@ -13,8 +13,12 @@ import java.util.LinkedList;
|
|||||||
*/
|
*/
|
||||||
public class Saisie {
|
public class Saisie {
|
||||||
|
|
||||||
|
//sizeSelection est le nombre de pions dans la zone actuelle de saisie.
|
||||||
|
// Cela permet de limiter ce nombre à 4 et vérfier qu'il y en a 4 avant de soumettre
|
||||||
private int sizeSelection;
|
private int sizeSelection;
|
||||||
|
//choix est la liste des couleurs que l'on peut choisir (N&B pour la notation et couleuts pour les soumissions)
|
||||||
private LinkedList<Integer> choix;
|
private LinkedList<Integer> choix;
|
||||||
|
//selection est la liste des pions choisis pour une soumission ou une notation
|
||||||
private LinkedList<Integer> selection;
|
private LinkedList<Integer> selection;
|
||||||
public Saisie(){
|
public Saisie(){
|
||||||
this.choix=new LinkedList<Integer>();
|
this.choix=new LinkedList<Integer>();
|
||||||
@ -23,15 +27,19 @@ public class Saisie {
|
|||||||
|
|
||||||
// getters et setters
|
// getters et setters
|
||||||
|
|
||||||
|
//récupère la couleur d'un pion vide pour remplir la zone de saisie avec
|
||||||
public void initSelection(Integer chosenColors){
|
public void initSelection(Integer chosenColors){
|
||||||
this.selection.removeAll(this.selection);
|
this.selection.removeAll(this.selection);
|
||||||
for (int i=0;i<4;i++){
|
for (int i=0;i<4;i++){
|
||||||
this.selection.add(chosenColors);
|
this.selection.add(chosenColors);
|
||||||
}
|
}
|
||||||
|
//au début la zone de séléction est vide
|
||||||
this.sizeSelection=0;
|
this.sizeSelection=0;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
//addSelection permet d'ajouter un pion à la zone de saisie
|
||||||
public void addSelection(Integer chosenColors){
|
public void addSelection(Integer chosenColors){
|
||||||
|
//On vérifie qu'il n'y a pas déjà 4 pions
|
||||||
if (this.sizeSelection<4){
|
if (this.sizeSelection<4){
|
||||||
this.selection.set(this.sizeSelection,this.choix.get(chosenColors));
|
this.selection.set(this.sizeSelection,this.choix.get(chosenColors));
|
||||||
this.sizeSelection+=1;
|
this.sizeSelection+=1;
|
||||||
@ -47,6 +55,7 @@ public class Saisie {
|
|||||||
return this.choix;
|
return this.choix;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//Méthode qui permet depuis GameView de changer la liste des choix de couleur en fonction de l'état de la partie
|
||||||
public void setChoix(Collection<Integer> colorsSelected){
|
public void setChoix(Collection<Integer> colorsSelected){
|
||||||
this.choix.removeAll(this.choix);
|
this.choix.removeAll(this.choix);
|
||||||
this.choix.addAll(colorsSelected);
|
this.choix.addAll(colorsSelected);
|
||||||
|
@ -16,6 +16,7 @@ public class TouchListener implements View.OnTouchListener{
|
|||||||
|
|
||||||
if (action==MotionEvent.ACTION_UP)
|
if (action==MotionEvent.ACTION_UP)
|
||||||
{
|
{
|
||||||
|
//Surveille quel bouton de couleur est choisi
|
||||||
if (v.getWidth()*689/420-v.getWidth()/15<y && y<v.getWidth()*689/420+v.getWidth()/15){
|
if (v.getWidth()*689/420-v.getWidth()/15<y && y<v.getWidth()*689/420+v.getWidth()/15){
|
||||||
if(v.getWidth()/8-v.getWidth()/15<x && x<v.getWidth()/8+v.getWidth()/15){
|
if(v.getWidth()/8-v.getWidth()/15<x && x<v.getWidth()/8+v.getWidth()/15){
|
||||||
this.view.addChoix(0);
|
this.view.addChoix(0);
|
||||||
@ -30,6 +31,7 @@ public class TouchListener implements View.OnTouchListener{
|
|||||||
} else if(5*v.getWidth()*2/13+v.getWidth()/8-v.getWidth()/15<x && x<5*v.getWidth()*2/13+v.getWidth()/8+v.getWidth()/15){
|
} else if(5*v.getWidth()*2/13+v.getWidth()/8-v.getWidth()/15<x && x<5*v.getWidth()*2/13+v.getWidth()/8+v.getWidth()/15){
|
||||||
this.view.addChoix(5);
|
this.view.addChoix(5);
|
||||||
}
|
}
|
||||||
|
// surveille si un bouton de controlle est cliqué (ici seule la soumission est gérée)
|
||||||
} else if (v.getHeight()-v.getWidth()/9-v.getWidth()/10<y && y<v.getHeight()-v.getWidth()/9+v.getWidth()/10){
|
} else if (v.getHeight()-v.getWidth()/9-v.getWidth()/10<y && y<v.getHeight()-v.getWidth()/9+v.getWidth()/10){
|
||||||
this.view.changeState();
|
this.view.changeState();
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user