anoniem Geplaatst: 17 april 2007 Delen Geplaatst: 17 april 2007 Ik moet een Handelings Opdracht maken voor Informatica met MSWLogo. Ik zit nu nog met het probleem van een voorwaarde. Alles werkt, zolang de parameter maar tussen de 4.5 en 0.2 liggen, daarna kan het niet meer. Als je de parameter boven de 4.5 invult, wil ik dat er eerst een kleine opdracht uitgevoerd word (de 'turtle' word dan 500 naar rechts verplaatst) waardoor de parameter tot 8.8 ingevuld kan worden. Als je de parameter boven deze waarde invult, wil ik dat de opdracht [u:f20389c35e]niet[/u:f20389c35e] uitgevoerd wordt. Dus: als x < 4.5 --> opdracht doorgaan als x > 0.2 --> opdracht doorgaan als x < 0.2 --> opdracht weigeren als 4.5 > x < 8.8 --> eerst andere opdracht uitvoeren, daarna originele opdracht uitvoeren als x > 8.8 --> opdracht weigeren Voor degene die het wel snappen, maar het programma niet hebben, het valt [url=http://www.softronix.com/download/mswlogo65.exe]hier[/url] te downloaden. Kan iemand mij hierbij helpen? De volledige code staat hieronder (edit all): [code:1:f20389c35e]to alles :x rondje snij1 extra snij2 snij1 extra snij2 vullen ogen vullen2 end to extra forward 42.5* :x end to ogen pu right 180 forward 40* :x pd repeat 360 [forward 0.25* :x left 1] repeat 360 [forward 0.25* :x right 1] end to rondje repeat 360 [forward :x left 1] end to snij1 left 90 forward 7.5* :x right 90 repeat 90 [forward :x/2 left 1] end to snij2 repeat 90 [forward :x/2 left 1] right 90 forward 7.5* :x left 90 end to stukje pu right 90 forward 500 left 90 pd end to verder pu repeat 90 [forward 1 left 1] pd end to vullen pu left 90 forward 57.5* :x setfloodcolor [51 255 0] fill left 90 forward 40* :x setfloodcolor [0 0 0] fill left 180 forward 80* :x fill pd end to vullen2 pu left 90 forward 5* :x setfloodcolor [255 0 0] fill left 180 forward 10* :x fill pd end [/code:1:f20389c35e] Alvast bedankt :) Quote Link naar reactie
anoniem Geplaatst: 18 mei 2007 Auteur Delen Geplaatst: 18 mei 2007 hee... ik ben nog een grote n00b in MSWLogo, maar kan je niet proberen voorwaarden te gebruiken? ...if... ik heb jouw broncode bewerkt (ik neem aan dat er geen commando's in "alles" mogen staan, alleen verwijzingen naar andere onderdelen, dus ik heb van de voorwaarden een apparte edit gemaakt). kijk er even naar, bij mij werkte het wel. tenminste... ik ga ervan uit dat je wilt dat het ding wordt getekend bij waarden tussen 0.2 en 8.8, en dat je bij andere waarden helemaal niks getekend wil hebben. let even op de volgende dingen: ---ik heb bij "vullen2" ook de waarden iets opgeschroefd. nu worden ook de ogen goed ingekleurd bij een waarde van 0.2 (van 5 naar 6 en van 10 naar 12). hierdoor staat de turtle op het einde natuurlijk wel iets meer naar links. ---bij het 500 naar rechts gaan ben ik er stilzwijgend van uit gegaan dat de turtle in de standaard positie staat: recht naar boven, in het midden van het scherm [code:1:632ee75b1d] to alles :x voorwaarden rondje snij1 extra snij2 snij1 extra snij2 vullen ogen vullen2 end to extra forward 42.5* :x end to ogen pu right 180 forward 40* :x pd repeat 360 [forward 0.25* :x left 1] repeat 360 [forward 0.25* :x right 1] end to rondje repeat 360 [forward :x left 1] end to snij1 left 90 forward 7.5* :x right 90 repeat 90 [forward :x/2 left 1] end to snij2 repeat 90 [forward :x/2 left 1] right 90 forward 7.5* :x left 90 end to stukje pu right 90 forward 500 left 90 pd end to verder pu repeat 90 [forward 1 left 1] pd end to voorwaarden pu if (:x<0.2) [halt] if (:x>4.5) [rt 90 fd 500 lt 90] if (:x>8.8) [lt 90 fd 500 rt 90 halt] pd end to vullen pu left 90 forward 57.5* :x setfloodcolor [51 255 0] fill left 90 forward 40* :x setfloodcolor [0 0 0] fill left 180 forward 80* :x fill pd end to vullen2 pu left 90 forward 6* :x setfloodcolor [255 0 0] fill left 180 forward 12* :x fill pd end [/code:1:632ee75b1d] zoals je zei, heb ik ervoor gezorgd dat het gezicht 500 naar rechts gaat tussen 4.5 en 8.8 het gezicht wordt niet getekend voor waarden kleiner dan 0.2 of groter dan 8.8 ik hoop dat je hier wat aan hebt. veel geluk met je PO. ik heb zelf ook een PO voor MSWLogo gehad in periode 3, dus ik denk dat dit antwoord misschien al te laat is, maar ja... misschien heb je er toch nog wat aan. Quote Link naar reactie
Aanbevolen berichten
Om een reactie te plaatsen, moet je eerst inloggen