import java.awt.Polygon;
import logotekenap.*;
public class Class1 extends TekenApplet
{
void vierkanten(int niveau, double zijde)
{
if(niveau != niv)
links(hoek * (double)(1 + 3 * (niv - niveau)));
penAan();
vierkant(zijde, niveau);
if(niveau == niv)
vlak = geefVlak();
if(niveau > 0)
{
for(int i = 0; i < 4; i++)
{
vierkanten(niveau - 1, zijde / 2D);
penUit();
vooruit(zijde);
rechts(90D);
penAan();
}
}
rechts(hoek * (double)(1 + 3 * (niv - niveau)));
}
void vierkant(double zijde, int niveau)
{
vulAan(255 - (niveau * 240) / niv, 0, 255 - (niveau * 240) / niv);
for(int i = 0; i < 4; i++)
{
vooruit(zijde);
rechts(90D);
}
vulUit();
}
public void invoerVarActie(InvoerVariabele iv)
{
if(iv == nivInv && !animatieLopend())
tekenOpnieuw();
if(iv == snelheidInv)
snelheid = snelheidInv.geefWaarde();
}
public Class1()
{
}
public void animatie()
{
for(; animatieLopend() && hoek < 360D; tekenOpnieuw())
{
hoek = hoek + 0.04D * snelheid;
if(hoek > 360D)
hoek = 360D;
}
if(hoek > 359D)
hoek = 0.0D;
}
public void tekenprogramma()
{
niv = nivInv.geefWaarde();
penUit();
stap(x, y);
penAan();
links(hoek);
stap(-0.5D * zijde, -0.5D * zijde);
vierkanten(niv, zijde);
}
public void initialiseer()
{
maakAnimatieMogelijk();
maakMuisActieMogelijk();
maakTraceMogelijk();
nivInv = new InvoerVariabele("aantal niveau's", 1, 7, 3);
maakZichtbaar(nivInv);
snelheidInv = new InvoerVariabele("snelheid", 1, 50, 10);
maakZichtbaar(snelheidInv);
hoek = 0.0D;
zijde = 130D;
x = 0.0D;
y = 0.0D;
niv = nivInv.geefWaarde();
snelheid = snelheidInv.geefWaarde();
}
public void muisDrukActie()
{
raak = vlak.contains(geefDrukx(), geefDruky());
}
private InvoerVariabele nivInv;
private InvoerVariabele snelheidInv;
private double hoek;
private double zijde;
private double snelheid;
private double x;
private double y;
private int niv;
private Polygon vlak;
private boolean raak;
}
Dit is dus Visual Java geval, maar de opdracht is dat ik moet verklaren wat er gebeurd, stukje voor stukje (hoeft niet heeeel erg gedetailleerd zou wel beter zijn) maar zou iemand misschien een beginnetje voor me kunnen maken?
Groetjes
import logotekenap.*;
public class Class1 extends TekenApplet
{
void vierkanten(int niveau, double zijde)
{
if(niveau != niv)
links(hoek * (double)(1 + 3 * (niv - niveau)));
penAan();
vierkant(zijde, niveau);
if(niveau == niv)
vlak = geefVlak();
if(niveau > 0)
{
for(int i = 0; i < 4; i++)
{
vierkanten(niveau - 1, zijde / 2D);
penUit();
vooruit(zijde);
rechts(90D);
penAan();
}
}
rechts(hoek * (double)(1 + 3 * (niv - niveau)));
}
void vierkant(double zijde, int niveau)
{
vulAan(255 - (niveau * 240) / niv, 0, 255 - (niveau * 240) / niv);
for(int i = 0; i < 4; i++)
{
vooruit(zijde);
rechts(90D);
}
vulUit();
}
public void invoerVarActie(InvoerVariabele iv)
{
if(iv == nivInv && !animatieLopend())
tekenOpnieuw();
if(iv == snelheidInv)
snelheid = snelheidInv.geefWaarde();
}
public Class1()
{
}
public void animatie()
{
for(; animatieLopend() && hoek < 360D; tekenOpnieuw())
{
hoek = hoek + 0.04D * snelheid;
if(hoek > 360D)
hoek = 360D;
}
if(hoek > 359D)
hoek = 0.0D;
}
public void tekenprogramma()
{
niv = nivInv.geefWaarde();
penUit();
stap(x, y);
penAan();
links(hoek);
stap(-0.5D * zijde, -0.5D * zijde);
vierkanten(niv, zijde);
}
public void initialiseer()
{
maakAnimatieMogelijk();
maakMuisActieMogelijk();
maakTraceMogelijk();
nivInv = new InvoerVariabele("aantal niveau's", 1, 7, 3);
maakZichtbaar(nivInv);
snelheidInv = new InvoerVariabele("snelheid", 1, 50, 10);
maakZichtbaar(snelheidInv);
hoek = 0.0D;
zijde = 130D;
x = 0.0D;
y = 0.0D;
niv = nivInv.geefWaarde();
snelheid = snelheidInv.geefWaarde();
}
public void muisDrukActie()
{
raak = vlak.contains(geefDrukx(), geefDruky());
}
private InvoerVariabele nivInv;
private InvoerVariabele snelheidInv;
private double hoek;
private double zijde;
private double snelheid;
private double x;
private double y;
private int niv;
private Polygon vlak;
private boolean raak;
}
Dit is dus Visual Java geval, maar de opdracht is dat ik moet verklaren wat er gebeurd, stukje voor stukje (hoeft niet heeeel erg gedetailleerd zou wel beter zijn) maar zou iemand misschien een beginnetje voor me kunnen maken?
Groetjes