Annonce

>>> Bienvenue sur codelab! >>> Première visite ? >>> quelques mots sur codelab //// une carte des membres//// (apéros) codelab


#1 2016-05-10 22:51:14 Petite question de débutant !

Eleve Max
nouveau membre
Date d'inscription: 2016-05-10
Messages: 2

Petite question de débutant !



Je suis un élève de terminale S et dans le cadre de ma spécialité Informatique et Science du Numérique, je dois développer un projet dans cette matière. Mon choix a été de coder un jeu nommé "jeu du carré" avec processing. Je rencontre actuellement un problème d’où ma question:

Avec une boucle, j'arrive à faire apparaitre une ligne là ou je le souhaite grâce à un click sur un quadrillage. Le problème, est que je veux pouvoir faire apparaître d'autres lignes sans que celle qui est déjà apparu ne disparaisse. En bref, lors de mon deuxième click, la ligne issu du premier click disparait !!! sad

Comment éviter cela?

Merci d'avance pour le temps que vous m'aurez consacré wink

Maxime

Je présente ci-dessous l'intégralité de mon code:



int X; // coordonnées au moment du click
int Y;
int entierX; // point de départ
int entierY;
int resteX; //
int resteY;
int lineX; // coordonée
int lineY;
int totalX;
int totalY;


void setup(){
  size(1300,700);
smooth();
background(0);
}


void draw() {
  Quadrillage();
  boutton_rejouer();
  effacer_plateau();
  couleur_fond();
  ligne_horizontale_droite();
  ligne_horizontale_gauche();
  ligne_verticale_haut();
  ligne_verticale_bas();

    if(mousePressed) {
    X = mouseX ;
    Y = mouseY ;
    entierX = X / 70 ;
    entierY = Y / 70 ;
    totalX = entierX * 70;
    totalY = entierY * 70;
    resteX = mouseX - totalX;
    resteY = mouseY - totalY;
    if(resteX>35){
      entierX = entierX + 1;
    }
    if(resteY>35){
      entierY = entierY + 1;
    }
    lineX = entierX * 70;
    lineY = entierY * 70;
    resteX = mouseX - entierX * 70;
    resteY = mouseY - entierY * 70;
  }
}


  void Quadrillage(){   
  for(int ligne=420; ligne<=910; ligne = ligne+70){
    line(ligne,140,ligne,630);
    stroke(100);
  }
  for(int colonne=140; colonne<=630; colonne= colonne+70){
   line(420,colonne,910,colonne);
   stroke(100);
  }
}


void boutton_rejouer() {
      fill(255);
      rect(590,660,100,30);
      fill(0) ;
      textSize(20);
      text("REJOUER" , 600,680) ;
    }


void effacer_plateau() {
   if(mouseX>590){
        if(mouseX<690) {
       if(mouseY>660){
         if(mouseY<760){
         if(mousePressed)
           setup();
           key='0';
         }
       }}}}   


void couleur_fond(){
   if(mousePressed && mouseX>670 && mouseX<735 && mouseY>85 && mouseY<115 ) {
      background(random(255),random(255), random(255));
    }
       if(mousePressed && mouseX>580 && mouseX<610 && mouseY>85 && mouseY<115 ) {
      background(180);
    }
     if(mousePressed && mouseX>610 && mouseX<640 && mouseY>85 && mouseY<115 ) {
      background(0,255,0);
    }
     if(mousePressed && mouseX>640 && mouseX<670 && mouseY>85 && mouseY<115 ) {
      background(0,0,255);
      key='0' ;
    }
    smooth(0);
    textSize(32);
     fill(255,255,0) ;
     text("JEU DU CARRE" , 550, 50) ;
     textSize(12);
     fill(250,0,0);
     text("Choisir couleur du fond d'écran" , 570, 70 );
     fill(180);
     rect(580,85,30,30);
     fill(0,255,0);
     rect(610,85,30,30);
     fill(0,0,255);
     rect(640,85,30,30);
     fill(255);
     text("aleatoire", 677,82);
     rect(670,85,66,30);
      }


void ligne_horizontale_droite(){
  if(resteX>10 && resteX<35 && resteY> -10 && resteY<10 ){
    stroke(255,0,0); // rouge
    line(lineX,lineY,lineX + 70,lineY);
  }
}


  void ligne_horizontale_gauche(){
    if(resteX< -10 && resteX>-35 && resteY> -10 && resteY<10){
    stroke(0,255,0); // vert
    line(lineX,lineY,lineX - 70,lineY);
  }
}


  void ligne_verticale_bas(){
    if(resteY>10 && resteY<35 && resteX> -10 && resteX<10){
    stroke(0,0,255); //bleu
    line(lineX,lineY,lineX,lineY + 70);
  }
}


  void ligne_verticale_haut(){
    if(resteY< -10 && resteY> -35 && resteX> -10 && resteX<10){
    stroke(255,255,0); //jaune
    line(lineX,lineY,lineX,lineY - 70);
  }   
}

Hors ligne

 

fil rss de cette discussion : rss

Pied de page des forums

Powered by FluxBB

codelab, graphisme & code : emoc / 2008-2024