home processing download documents tutorial python tutorial gallery source about
 Python Tutorials (back to the list of tutorials)

Clock Stack Agent Algorithm for Building

     Template Code with Box


Warning: include(codepy/igeo_tutorial61_1/igeo_tutorial61_1.html): failed to open stream: No such file or directory in /home/mj7789dybiu5/public_html/igeo/tutorial/tutorial.php on line 66

Warning: include(): Failed opening 'codepy/igeo_tutorial61_1/igeo_tutorial61_1.html' for inclusion (include_path='.:/opt/alt/php56/usr/share/pear:/opt/alt/php56/usr/share/php') in /home/mj7789dybiu5/public_html/igeo/tutorial/tutorial.php on line 66


     Rule 1

To run the code, replace the rule method in the template code with the following.

    void rules(){

      if(clock(1) < 1){
        if(clock(0) < 8){
          next(0);
        }
        else{
          next(rot(PI/2),1);
        }
      }
      else{
        if(clock(0) < 4){
          next(0);
        }
        else{
          next(rot(PI/2),2);
        }
      }

    }


     Rule 2

    void rules(){

      if(clock(1) < 1){
        if(clock(0) < 8){
          next(0);
          if(clock(0)==0 && clock(2)==0 && clock(3) < 8){
            next(jump(up().add(back())), 3);
          }
        }
        else{
          next(rot(PI/2),1);
        }
      }
      else{
        if(clock(0) < 4){
          next(0);
        }
        else{
          next(rot(PI/2),2);
        }
      }

    }


     Rule 3

    void rules(){

      if(clock(1) < 1){
        if(clock(0) < 8){
          next(0);
          if(clock(0)==0 && clock(2)==0 && clock(3) < 8){
            next(jump(up().add(back())), 3);
          }
        }
        else{
          next(rot(PI/2), 1);
          if(clock(3)==0 && clock(2)==0){
            next(4);
          }
        }
      }
      else{
        if(clock(0) < 4){
          next(0);
        }
        else{
          next(rot(PI/2), 2);
        }
      }

    }


     Rule 4

    void rules(){

      if(clock(1) < 1){
        if(clock(0) < 8){
          next(0);
          if(clock(0)==0 && clock(2)==0 && clock(3) < 8){
            next(jump(up().add(back())), 3);
          }
        }
        else{
          next(rot(PI/2), 1);
          if(clock(3)==0 && clock(2)==0){
            next(jump(right()), 4);
          }
        }
      }
      else{
        if(clock(0) < 4){
          next(0);
        }
        else{
          next(rot(PI/2), 2);
        }
      }

    }


     Rule 5

    void rules(){

      if(clock(1) < 1){
        if(clock(0) < 8){
          next(0);
          if(clock(0)==0 && clock(2)==0 && clock(3) < 8){
            next(jump(up().add(back())), 3);
          }
        }
        else{
          next(rot(PI/2), 1);
          if(clock(3)==0 && clock(2)==0){
            next(jump(right()).rot(PI/10), 4);
          }
        }
      }
      else{
        if(clock(0) < 4){
          next(0);
        }
        else{
          next(rot(PI/2), 2);
        }
      }

    }


     Rule 6

    void rules(){

      if(clock(1) < 1){
        if(clock(0) < 8){
          next(0);
          if(clock(0)==0 && clock(2)==0 && clock(3) < 8){
            next(jump(up().add(back())), 3);
            if(clock(3)==0){
              if(clock(5)==0){
                if((clock(4)==15 || clock(4)==6) && clock(6) < 2){
                  next(jump(side()).rot(-PI/2), 5);
                }
              }
              else if(clock(5)==1){
                if(clock(4)==4 && clock(6) < 1){
                  next(jump(left()).rot(PI/2), 6);
                }
              }
            }
          }
        }
        else{
          next(rot(PI/2), 1);
          if(clock(3)==0 && clock(2)==0){
            if(clock(5)==0){
              next(jump(right()).rot(PI/10), 4);
            }
            else{
              next(jump(right()).rot(-PI/6), 4);
            }
          }
        }
      }
      else{
        if(clock(0) < 4){
          next(0);
        }
        else{
          next(rot(PI/2),2);
        }
      }

    }


     Template Code with Imported Geometry

module1.3dm

module2.3dm

ground.3dm


Warning: include(codepy/igeo_tutorial61_0/igeo_tutorial61_0.html): failed to open stream: No such file or directory in /home/mj7789dybiu5/public_html/igeo/tutorial/tutorial.php on line 66

Warning: include(): Failed opening 'codepy/igeo_tutorial61_0/igeo_tutorial61_0.html' for inclusion (include_path='.:/opt/alt/php56/usr/share/pear:/opt/alt/php56/usr/share/php') in /home/mj7789dybiu5/public_html/igeo/tutorial/tutorial.php on line 66


(back to the list of tutorials)

HOME
FOR PROCESSING
DOWNLOAD
DOCUMENTS
TUTORIALS (Java / Python)
GALLERY
SOURCE CODE(GitHub)
PRIVACY POLICY
ABOUT/CONTACT