mastermind isn

Forum consacré aux questions ouvertes, astuces logiques et mathématiques ainsi qu'aux énigmes que vous connaissez....

mastermind isn

Messagepar Justinep le 03 Mar 2015, 21:58

Bonjour, je ne sais pas si je pose ma question au bon endroit. J'essaye de faire en sorte de changer de couleur une autre bille que la première. Je pensais qu'il falait faire entrer position et rangee dans int couleurBille (int y). Je pense qu'il faut faire rentrer void pour mettre rangee et position, mais je n'y arrive pas.
Justinep
~ membre régulier ~
 
Messages: 7
Inscrit le: 13 Jan 2015, 14:50

Re: mastermind isn

Messagepar sc le 04 Mar 2015, 18:00

Bonjour,

Il faut commencer par définir rangée et position dans la partie 1 juste avant le setup()
Code: Tout sélectionner
int rangee=9 ;
int position=0 ;


Ensuite, dans le draw() après avoir affecté la couleur à la bille courante il faudra calculer les nouvelles valeurs de rangee et de position
Code: Tout sélectionner
...
if (sourisRelachee==true) {
sourisRelachee=false;
int y=mouseY;
int coul=couleurBille(y) ;
bille[rangee][position]=coul ;
---->calculer la nouvelle valeur de rangee
---->calculer la nouvelle valeur de position
}
...
Avatar de l’utilisateur
sc
~ administrateur ~
 
Messages: 1439
Inscrit le: 29 Aoû 2017, 10:46

Re: mastermind isn

Messagepar Justinep le 04 Mar 2015, 22:57

Bonsoir, J'ai fait ce que vous m'avez dit puis j'ai essayé de faire ça mais sans résultats.
If (coul<0)
Else coul=[rangee+1][position]
Return coul
Justinep
~ membre régulier ~
 
Messages: 7
Inscrit le: 13 Jan 2015, 14:50

Re: mastermind isn

Messagepar sc le 05 Mar 2015, 14:30

Bonjour,

Attention, il ne faut changer que la procédure draw() et ne pas toucher aux autres procédures et fonctions :

Code: Tout sélectionner
void draw() {
...
if (sourisRelachee==true) {
sourisRelachee=false;
int y=mouseY;
int coul=couleurBille(y) ;
if (coul>0) {
    bille[rangee][position]=coul ;
    rangee=... ;       <------ Nouvelle rangée        (peut-être qu'un if... else... sera nécessaire..)
    position = ... ;    <------ Nouvelle position
  }
...
}
Avatar de l’utilisateur
sc
~ administrateur ~
 
Messages: 1439
Inscrit le: 29 Aoû 2017, 10:46

Re: mastermind isn

Messagepar Justinep le 06 Mar 2015, 14:52

Bonjour,
Noelina et moi avons réussi a changer de couleur les bille seulement d'une ligne. Ensuite nous nous sommes dits qu'il fallait dès que position=4 changé de rangee comme ceci rangee=rangee-1,sans résultats.

void draw() {
dessineLesBilles() ;
if (sourisRelachee==true) {
sourisRelachee=false;
int y=mouseY;
int coul=couleurBille(y) ;
bille[rangee][position]=coul;
rangee=9;
position=position+1;
}
if (sourisRelachee==true) {
sourisRelachee=false;
int y=mouseY;
int coul=couleurBille(y) ;
position=4;
}
else rangee=rangee-1;
position=1;
}
Justinep
~ membre régulier ~
 
Messages: 7
Inscrit le: 13 Jan 2015, 14:50

Re: mastermind isn

Messagepar sc le 07 Mar 2015, 12:04

Bonjour Justine,

Il est inutile de mettre plusieurs if dans ta procédure draw.
Essaie de t'inspirer de ceci.
Code: Tout sélectionner
void draw() {
...
if (sourisRelachee==true) {
sourisRelachee=false;
int y=mouseY;
int coul=couleurBille(y) ;
if (coul>0) {
    bille[rangee][position]=coul ;
    position=... ;       <------ position suivante       
    if (position==...) {
                     position = ... ;    <------ Nouvelle position
                     rangee = ..... ; <------ Nouvelle rangée
                        }
  else   {
                     position = ... ;    <------ Nouvelle position
                     rangee = ..... ; <------ Nouvelle rangee éventuelle
  }
...
...

Bon week-end.
Avatar de l’utilisateur
sc
~ administrateur ~
 
Messages: 1439
Inscrit le: 29 Aoû 2017, 10:46

Re: mastermind isn

Messagepar Justinep le 07 Mar 2015, 12:32

Bonjour,
Justement il y a un soucis avec :

if (coul>0)
Processing me dit qu'il ne connait pas coul
Justinep
~ membre régulier ~
 
Messages: 7
Inscrit le: 13 Jan 2015, 14:50

Re: mastermind isn

Messagepar sc le 09 Mar 2015, 10:12

Bonjour Justine,

Tu as très certainement oublié de coder la fonction int couleurBille(...) dans la partie 1 de ton programme.
Avatar de l’utilisateur
sc
~ administrateur ~
 
Messages: 1439
Inscrit le: 29 Aoû 2017, 10:46

Re: mastermind isn

Messagepar Justinep le 09 Mar 2015, 17:57

Bonjour,
je viens de vérifier j'ai int couleur bille dans ma partie 1. Le problème venait d'un crochet. J'ai une question : pour "if (position==3) " qu'est ce cela signifie pour l'ordinateur ? Va t'il vraiment en prendre compte ?
Justinep
~ membre régulier ~
 
Messages: 7
Inscrit le: 13 Jan 2015, 14:50

Re: mastermind isn

Messagepar sc le 10 Mar 2015, 17:51

Bonjour justine,

Il faut imaginer que l'ordinateur effectue la procedure draw() environ 60x par seconde.
donc if (position==3) signifie pour lui : " est-ce qu'à cet instant précis , la position vaut 3 ? si oui, faire ce qui suit :...."

Tu es sur la bonne voie.
Bonne fin de codage.
Avatar de l’utilisateur
sc
~ administrateur ~
 
Messages: 1439
Inscrit le: 29 Aoû 2017, 10:46


Retourner vers Questions ouvertes

Qui est en ligne ?

Utilisateurs parcourant actuellement ce forum : Aucun utilisateur inscrit et 2 invités