Don't like ads? PRO users don't see any ads ;-)
Guest

Juultjeeeee

By: a guest on Apr 24th, 2012  |  syntax: None  |  size: 4.64 KB  |  hits: 14  |  expires: Never
download  |  raw  |  embed  |  report abuse  |  print
Text below is selected. Please press Ctrl+C to copy to your clipboard. (⌘+C on Mac)
  1.  
  2.  
  3. import logotekenap.*;
  4. /*In deze regel wordt het programma voor tekenen geimporteerd naar de werkruimte*/
  5.  
  6. import java.awt.Font;
  7. /*In deze regel wordt de javaclasse voor het gebruik van fonts
  8. geïmporteerd naar de werkruimte*/
  9.  
  10. public class Achthoeken extends TekenApplet
  11. /*hier wordt de tekenapplet geopend
  12. Declaratie v.d. variabelen.*/
  13. {       Font f;
  14.         int h;
  15.         int aantalRijen;
  16.         int aantalKolommen;
  17.         int zijde;
  18.         InvoerVariabele aantalKolommenInv;
  19.         InvoerVariabele aantalRijenInv;
  20.         InvoerVariabele zijdeInv;
  21.         int r;
  22.         int g;
  23.         int b;
  24.                
  25.         public void initialiseer()
  26.         {
  27.                 //Waarde wordt toegekend aan de varriabelen.
  28.                 maakTraceMogelijk();
  29.                 f=new Font("Helvetica_BOLD",Font.PLAIN,15);
  30.                 aantalRijen= 6;
  31.                 aantalKolommen= 6;
  32.                 h=20;
  33.                 aantalKolommenInv = new InvoerVariabele("Aantal Kolommen",0,10,6);
  34.                 maakZichtbaar(aantalKolommenInv);
  35.                 aantalRijenInv = new InvoerVariabele("Aantal Rijen",0,10,6);
  36.                 maakZichtbaar(aantalRijenInv);
  37.                 zijdeInv = new InvoerVariabele ("Zijde", 10, 70, 20);
  38.                 maakZichtbaar(zijdeInv);
  39.                 r =255;
  40.                 g =0;
  41.                 b =0;
  42.                 zijde=h;
  43.         }
  44.        
  45.         public void tekenprogramma()
  46.         /*het begin van de tekenopdrachten*/
  47.         {       penUit();      
  48.                 stap(-250,-250);
  49.                                                                         //Naar linksonder gaan om daar mijn naam te schrijven.
  50.                 schrijf("Job & Julien",f);
  51.                 stap(250,250);                                                          //En weer terug naar het midden.
  52.                 //einde template-code
  53.                 penUit();
  54.                 //Onderstaande regel zorgt voor het centraliseren van de tekening in de applet.
  55.                 stap(-aantalKolommen*(0.5*zijde+zijde/Math.sqrt(2)),0.5*zijde+ (aantalRijen-1)*(0.5*zijde+zijde/Math.sqrt(2)));
  56.                 horizontalerijboven();                                          //Basisrij boven (zonder ruit!!)
  57.                 verticalerijlinks();                                            //Basisrij links (zonder ruit!!)
  58.                 stap(2*zijde/Math.sqrt(2)+zijde,aantalRijen*(2*zijde/Math.sqrt(2)+zijde));      //Terug naar boven, de hoek tussen vert. en hor.
  59.                 for (int i=0 ; i<aantalRijen ; i++)                     //Figuur afmaken met het correcte aantal RuitenMetAchthoeken.
  60.                 {       rijmetruitenachthoek();
  61.                        
  62.                 }
  63.                
  64.        
  65.         }      
  66.                 void ruit()
  67.                 //Methode ruit
  68.                 {       penAan();
  69.                         //De ruiten inkleuren met de standaardwaarde   
  70.                         vulAan(r,g,b);
  71.                         /*de herhalings opdracht van de ruit*/ 
  72.                         for (int i=0 ; i<4 ; i++)
  73.                        
  74.                                 {   vooruit(zijde);
  75.                                         rechts (90) ;
  76.                                 }
  77.                         //Rotzooien/experimenteren met kleuren en afvangen problemen
  78.                 /*      if (r<254)
  79.                         {
  80.                                 r=r+1;
  81.                         }
  82.                         else
  83.                         {
  84.                                 r=r-230;
  85.                         }
  86.                         if (g<250)
  87.                         {
  88.                                 g=g+5;
  89.                         }
  90.                         else
  91.                         {
  92.                                 g=g-200;
  93.                         }
  94.                         if (b<254)
  95.                         {
  96.                                 b=b+1; 
  97.                         }
  98.                         else
  99.                         {
  100.                                 b=b-85;
  101.                         }*/
  102.                         vulUit();
  103.                         penUit();
  104.                 }
  105.                 //Methode achthoek
  106.                 void achthoek()
  107.        
  108.                 {       penAan();
  109.                         vulAan("blauw");
  110.                        
  111.                         for (int i=0 ; i<8 ; i++)
  112.                 /*de herhalings opdracht van de achthoek*/
  113.                                 {   rechts (45) ;
  114.                                         vooruit(zijde);
  115.                                 }
  116.                                 vulUit();
  117.                                 /*Rotzooien/experimenteren met kleuren en afvangen problemen*/
  118.                         /*if (r<250)
  119.                         {
  120.                                 r=r+5;
  121.                         }
  122.                         else
  123.                         {
  124.                                 r=r-250;
  125.                         }
  126.                         if (g<254)
  127.                         {
  128.                                 g=g+1;
  129.                         }
  130.                         else
  131.                         {
  132.                                 g=g-254;
  133.                         }
  134.                         if (b<254)
  135.                         {
  136.                                 b=b+1; 
  137.                         }
  138.                         else
  139.                         {
  140.                                 b=b-254;
  141.                         }
  142.                         vulUit();
  143.                         //penUit();*/
  144.        
  145.                 }
  146.                 //Eerste horizontale rij achthoeken definieren in methode
  147.                 void horizontalerijboven()
  148.                 {       for (int i=0 ; i<aantalKolommen ; i++)
  149.                                 {       achthoek();
  150.                         //      penUit();                                       //pen uit tijdens het stappen.
  151.                                         stap(2*zijde/Math.sqrt(2)+zijde,0);             //Stap naar het volgende startpunt
  152.                                 }
  153.                         //Stap naar het startpunt voor de methode verticalerij links
  154.                         stap(-aantalKolommen*(2*zijde/Math.sqrt(2)+zijde),-2*zijde/Math.sqrt(2)-zijde);
  155.                 }
  156.                
  157.                 //Eerste rij vericale achthoeken definieren in methode
  158.                 void verticalerijlinks()
  159.                 {       for (int i=0 ; i<aantalRijen ; i++)
  160.                                 {       achthoek();
  161.                                 //penUit();                                     //pen uit tijdens het stappen.
  162.                                         stap(0,-2*zijde/Math.sqrt(2)-zijde);    //Stap naar het volgende startpunt
  163.                                 }
  164.                                
  165.                 }
  166.                
  167.                 //Methode waarbij een ruit en een achthoek gekoppeld worden en een aantal malen worden getekend.
  168.                 void rijmetruitenachthoek()
  169.                 {       for (int i=0 ; i<aantalKolommen-1 ; i++)
  170.                         {       achthoek();
  171.                                 links(45);
  172.                                 ruit();
  173.                                 rechts(45);
  174.                                 stap((zijde+2*zijde/Math.sqrt(2)),0);   //Stap naar het volgende startpunt
  175.                         }
  176.                         //Stap naar het startpunt voor een volgende rij ruitenmetachthoeken.
  177.                         stap(-(aantalKolommen-1)*(2*zijde/Math.sqrt(2)+zijde),-2*zijde/Math.sqrt(2)-zijde);
  178.                 }
  179.                 //Uitlezen nieuwe variabelen.  
  180.                 public void invoerVarActie(InvoerVariabele iv)
  181.         {       if(iv==aantalKolommenInv)
  182.                 {       aantalKolommen= aantalKolommenInv.geefWaarde();
  183.                         tekenOpnieuw();
  184.                 }
  185.                 if(iv==aantalRijenInv)
  186.                 {       aantalRijen = aantalRijenInv.geefWaarde();
  187.                         tekenOpnieuw();
  188.                 }
  189.                 if(iv==zijdeInv)
  190.                 {       zijde = zijdeInv.geefWaarde();
  191.                         tekenOpnieuw();
  192.                 }
  193.         }      
  194. }