Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien
Toon posts:

Applet met parameters

Pagina: 1
Acties:
  • 149 views

Verwijderd

Topicstarter
Graag zou ik hulp krijgen bij het volgende:
de opdracht: Schrijf een applet dat een pythagorasdriehoek kan afbeelden. Nu heb ik dat wel voor elkaar, maar het is een erg lang verhaal geworden, wat vast anders kan???
Mijn applet:


import logotekenap.*;


public class Inzendopgave2 extends TekenApplet
{

public void initialiseer()
{
maakTraceMogelijk();


}

public void tekenprogramma()
{ stap(0,60);stap(80,-60);
stap(-80,0);penUit();
stap(-20,0);penAan();
rij3();penUit();
stap(40,20);penAan();
rij3b();penUit();
stap(40,20);penAan();
rij3();penUit();
stap(120,-120);penAan();
rij4();penUit();
stap(60,20);penAan();
rij4b();penUit();
stap(60,20);penAan();
rij4();penUit();
stap(60,20);penAan();
rij4b();penUit();
stap(80,20);links(53);
vooruit(20);rechts(90);
penAan();rij5();
penUit();stap(80,20);
penAan();rij5b();
penUit();stap(80,20);
penAan();rij5();
penUit();stap(80,20);
penAan();rij5b();
penUit();stap(80,20);
penAan();rij5();
}


void vierkant(String kl)
{ vulAan(kl);
for(int i=0;i<4;i++)
{ vooruit(20);rechts(90);
}
vulUit();
}

void rij3()
{ vierkant("zwart");stap(-20,0);
vierkant("geel");stap(-20,0);
vierkant("zwart");
}
void rij3b()
{ vierkant("geel");stap(-20,0);
vierkant("zwart");stap(-20,0);
vierkant("geel");
}
void rij4()
{ vierkant("zwart");stap(-20,0);
vierkant("geel");stap(-20,0);
vierkant("zwart");stap(-20,0);
vierkant("geel");
}

  • Niemand_Anders
  • Registratie: Juli 2006
  • Laatst online: 09-07-2024

Niemand_Anders

Dat was ik niet..

Phytagoras; dat was toch die gast die riep dat a2 + b2 = c2? Maar een driehoek heeft altijd maar drie hoeken, dan hoef je toch ook maar drie lijnen te teken (a -> b, b-> c, c -> a)? En als je alle zijden even veel vergroot (of verkleind) veranderen de hoeken van de driehoek niet.

Teken anders zelf een driehoek op mm papier en dan heb je direct een goed canvas (grid) om de x,y punten te bepalen.

Hoe je het een en ander moet tekenen mag je zelf uitzoeken.

If it isn't broken, fix it until it is..


Verwijderd

Topicstarter
Bedankt voor de reactie!
Maar ik moet niet alleen die driehoek tekenen, maar ook de vierkanten op de 3 zijden met daarin weer 9, 16 en 25 vierkanten (om de stelling van Pythagoras toe te lichten). Dit figuur krijg ik ook wel getekend met mijn applet, maar ik vermoed dat dit korter kan....

  • bigbeng
  • Registratie: Augustus 2000
  • Laatst online: 26-11-2021
Tip 1: gebruik code tags in je startpost.

Het tekenen van een vierkant is toch altijd dezelfde actie? Het enige wat verschilt is de lengte van de zijdes, de locatie en de orientatie.
Is het dan niet praktischer om een tekenVierkant methode te maken die je voedt met de benodigde parameters (1 hoekpunt, de lengte van een zijde en de hoek waaronder het vierkant getekent moet worden en natuurlijk het Canvas waarop getekend moet worden).
Hetzelfde geldt voor de driehoek zelf.
Vervolgens maak je een aansturende routine die de aanroepen van je methodes coordineert.

Ik zie nu een heleboel hardgecodeerde nummers staan, verspreid door de diverse methodes, ipv conceptueel opgezette code.

Volgens mij hoeft je programma alleen maar gevoed te worden met 2 nummers, namelijk de 2 rechte zijdes van je rechthoekige driehoek, de andere kun je afleiden mbv de stelling die je gaat demonstreren. Het tekenen op een canvas kun je daar vervolgens van laten afhangen.

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
^^ Zie bovenstaand en lees dan even onze Programming Beleid Quickstart

Je dumpt nu je opdracht en een bak code (zonder code tags) en dan mogen wij het voor je gaan maken/oplossen. Dat is hier dus nadrukkelijk niet de bedoeling zoals je kunt lezen in voorgenoemde quickstart.

[ Voor 47% gewijzigd door RobIII op 23-04-2008 16:42 ]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


Dit topic is gesloten.