Partage
  • Partager sur Facebook
  • Partager sur Twitter

Processing - Cliqué glissé

    15 janvier 2019 à 20:41:30

    Hey !

    Du coup voilà dans le cadre d'un projet en ISN je dois réaliser un des casses-têtes du concours castor, j'ai choisis (au hasard) le jeu des rectangles inversés que vous pouvez trouvez dans l'édition de 2016 du concours (je peux pas mettre de lien direct).

    Mon problème étant que je dois réaliser un cliqué glissé pour sélectionner plusieurs cases et ainsi inverser leur couleur. J'ai un niveau très limité en Processing/Java du coup je n'ai aucune idée de comment faire ça, j'ai bien crée une grille mais je ne sais pas comment la colorier, si vous avez des idées ce serait sympatoche.

    Merci :3

    -
    Edité par FeozardTheodule 15 janvier 2019 à 20:42:27

    • Partager sur Facebook
    • Partager sur Twitter
      16 janvier 2019 à 7:35:14

      Bonjour,

      je connais très peu Processing. Est-ce que l'exercice demande à programmer en langage Java ou bien en JavaScript ? (ceci afin de savoir s'il faut déplacer ton sujet ou non)

      Par contre on a de toute façon besoin de plus d'infos, notamment le code que tu as déjà produit, afin de ne pas partir de zéro.

      -
      Edité par Lamecarlate 16 janvier 2019 à 7:35:33

      • Partager sur Facebook
      • Partager sur Twitter

      Pas d'aide concernant le code par MP, le forum est là pour ça :)

        17 janvier 2019 à 15:59:07

        Le code doit se faire en Javascript, et voici mon code de base :

            int  origineGrilleX, origineGrilleY, coteGrille;    //   Déclaration des variables globales.
            int  pointDebutX, pointDebutY, pointFinX, pointFinY;
            int  colorierCaseX, colorierCaseY;                  // Coordonnées de la case à colorier.
            boolean bover;                               // 
            boolean locked;
            int X = 0;
            int Y = 0;
        
        // ---------------   Initialisation   -------------------------------------------------------------
            void setup()
            {
                size(400, 400);                                 //   On fixe les dimensions de la fenêtre
                
                origineGrilleX  =  20;                          //   Initialisation des variables globales.
                origineGrilleY  =  20;   
                coteGrille      =  40;
                
                bover    = false;                        // Variable booleenne initialisée à "FAUX".
                
                stroke(127, 127, 127); 
                strokeWeight(2);       
            }
        
        // --------------- Boucle draw() : c'est une boucle infinie   ------------------------------------
            void draw()
            {
                background(255, 255, 255);      
                
        //   ------------------------------------ Les lignes verticales   --------------------------------
                pointDebutY  = origineGrilleY;
                pointFinY    = origineGrilleY + 8 * coteGrille;
                
                for(int verticale = 0; verticale < 10; verticale++)
                {
                    pointDebutX = origineGrilleX + verticale * coteGrille;                       //  Calcul de l'abscisse du point haut de la verticale.
                    pointFinX   = pointDebutX;                                                   //  L'abscisse du point bas de la verticale.
                    
                    line( pointDebutX, pointDebutY, pointFinX, pointFinY);                       //  On trace la verticale.
                } 
                
        //   ---------------------------------- Les lignes horizontales   --------------------------------
                pointDebutX  = origineGrilleX;
                pointFinX    = origineGrilleX + 9 * coteGrille;
                
                for(int horizontale = 0; horizontale < 9; horizontale++)
                {
                    pointDebutY = origineGrilleY + horizontale * coteGrille;                     //  Calcul de l'ordonnée du point gauche de l'horizontale.
                    pointFinY   = pointDebutY;                                                   //  L'ordonnée du point droit de l'horizontale.
                    
                    line( pointDebutX, pointDebutY, pointFinX, pointFinY);                       //  On trace l'horizontale.
                } 
                
                  if( (mouseX > origineGrilleX) && (mouseX < origineGrilleX+9*coteGrille) && (mouseY > origineGrilleY) && (mouseY < origineGrilleY+8*coteGrille))
                  
                  {
                      bover  = true;
                  }
                  else
                  {
                      bover  = false;    //     Si on clique à l'extérieur du rectangle-grille, la variable booléenne est mise à "FAUX".
                  }
                 
                  if (mousePressed == true) 
                  {
                    X = origineGrilleX + coteGrille*((mouseX-origineGrilleX)/coteGrille);
                    Y = origineGrilleY + coteGrille*((mouseY-origineGrilleX)/coteGrille);
                    if(bover)
                    {
                      locked = true;
                      fill(0, 0, 0);
                      rect(X, Y, 40, 40);
                    }
                    else
                    {
                      locked = false;
                    }
           
                  }
            }



        -
        Edité par FeozardTheodule 17 janvier 2019 à 17:14:28

        • Partager sur Facebook
        • Partager sur Twitter
        Anonyme
          17 janvier 2019 à 17:24:07

          bonjour, ton code est en Java.

          en JavaScript, on ne déclare par les variables avec son type.

          Exemple: var ma_variable = 5; suffit pour déclarer.

          • Partager sur Facebook
          • Partager sur Twitter

          Processing - Cliqué glissé

          × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
          × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
          • Editeur
          • Markdown