Partage
  • Partager sur Facebook
  • Partager sur Twitter

Programmation avec Processing

    18 janvier 2018 à 20:45:32

    Bonjour ;

    je voudrai réaliser le projet suivant mais sans utiliser les classes ,Merci 

    int px;
    int py;
    int zoom=30;
    int widthZoomed;
    color get(int x, int y){
        loadPixels();
        int p = y*widthZoomed*zoom+x*zoom;
        if(p>=pixels.length)
            return 0;
        return pixels[p];
    }
    void set(int x, int y, color c){
        noStroke();
        color col = g.strokeColor;
        stroke(c);
        line(x,y,x,y);
        stroke(col);
    }
    void size(int ww, int hh){
        println("aaa");
        size(ww,hh,JAVA2D);
        widthZoomed = width;      
    }
    void scale(float s1){
        strokeCap(PROJECT);
        scale(s1,s1);
        if(widthZoomed==width){
          width=width/zoom;         //le programme doit penser que la toile
          height=height/zoom;       //est zoom fois plus petite
        }
    }
    class ant
    {
        int px;
        int py;
        
        String dir = "right";
        
        public ant(int xp, int yp)
        
        {
    
            px = xp;
            py = yp;
        }
        
        void go()
        {
            //move
            
            if( dir == "right" )
            {
                px+=1;
            }
            else if ( dir == "left")
            {
                px-=1;
            }
            else if ( dir == "up")
            {
                py-=1;
            }
            else if ( dir == "down")
            {
                py+=1;
            }
            
            //turn
            color cp = get(px, py);
            if(cp != color(255,255,255))
            {
                //turn left. make white
                if(dir == "right")
                {
                    dir = "up";
                         
                         
                }
                else if(dir == "up")
                {
                    dir = "left";
                         
                          
                }
                else if(dir == "left")
                {
                    dir = "down";
                          
                          
                }
                else if(dir == "down")
                {
                    dir = "right";
                          
                }
                stroke(255);
                point(px, py);
            }
            else
            {
                //turn right. make black
                if(dir == "right")
                {
                    dir = "down";
                }
                else if(dir == "up")
                {
                    dir = "right";
                }
                else if(dir == "left")
                {
                    dir = "up";
                }
                else if(dir == "down")
                {
                    dir = "left";
                }
                
                stroke(0);
                
                point(px, py);
            }
        }
        
    }
    
    ant langton;
    
    void setup()
    {
        size(500,500);
        scale(zoom);
        anti=loadImage("anti.jpeg"); 
        background(255);
        langton = new ant((int)floor(width/2), (int)floor(height/2));
        frameRate(2);
    }
    
    void draw()
    {
    
      scale(zoom);
      
        langton.go();
    }
    • Partager sur Facebook
    • Partager sur Twitter
      18 janvier 2018 à 21:54:35

      Salut,

      il existe un forum dédier au langage .NET, dans ton cas, le C#.

      Ensuite, pourquoi ne pas vouloir utiliser les classes ? Elles te faciliteront justement la tâche, et rendront plus lisible le code. Sinon, "tu n'as qu'a" copier/coller le contenu de ta classe dans une fonction. Mais je ne vois pas l’intérêt, et j'ai la flemme de le faire pour toi :p

      Enfin, tu peux toujours t'inspirer de ce code-ci si jamais tu as envie.

      • Partager sur Facebook
      • Partager sur Twitter

      Le meilleur moyen de prédire l'avenir, c'est de l'inventer | N'oubliez pas [résolu] et +1 | Excusez mon ôrtograffe, j'essaie de l'améliorer...

        31 janvier 2018 à 23:36:25

        Bonsoir ;

        Merci pour votre réponse mais je ne comprends pas comment faire, je tourne le code dans tous les sens et j’obtiens toujours un bug:(.

        • Partager sur Facebook
        • Partager sur Twitter
          1 février 2018 à 17:05:58

          Et comment faits-tu pour apporter les modifications ?
          • Partager sur Facebook
          • Partager sur Twitter

          Le meilleur moyen de prédire l'avenir, c'est de l'inventer | N'oubliez pas [résolu] et +1 | Excusez mon ôrtograffe, j'essaie de l'améliorer...

          Programmation avec Processing

          × 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