arbeite grad mit javakara, sagt nur manchen was und die kennen sich wohl auch nicht sonderlich damit aus, ist aber hier glaub irrelevant.
Ich will ein Quadrat zeichnen wo jedes 2te feld ein kleeblatt enthält(Die Seitenlänge wird per User angegeben). Das Quadrat wird abgelaufen, nur stimmt wohl was noch nicht mit meinen modulos und for-schleifen, bei ungeraden zahlen geht es, bei geraden nicht(die kleetblätter also), hier mal 2bilder: Imageshack - unbenanntryv.jpg // x gleich 7 == richtig Imageshack - 18822075.jpg // x gleich 6 == falsch
Oh doch... dieses Javakara dürfte hier vielen was sagen, mir z.B. Mülltonne auf und Schwupp. Java selbst ist eigentlich schon dermassen einfach, als ob man dafür noch diese Logo ähnliche Kindergarten-Turtlelei bräuchte. Einige Dozenten scheinen dies jedoch nicht zu verstehen (möglicherweise steigen sie selbst nicht durch Java durch) und verwirren ihre Schüler mit solch' einem sch... Kram. So viel zu Kara.
Zum eigentlichen Problem: Kara moved bei ungeraden Zahlen halt einmal mehr in die aktuelle Richtung. Lass für x halt nur ungerade Zahlen zu ([c]if(x%2==0) x++;[/c]).
Oh doch... dieses Javakara dürfte hier vielen was sagen, mir z.B. Mülltonne auf und Schwupp. Java selbst ist eigentlich schon dermassen einfach, als ob man dafür noch diese Logo ähnliche Kindergarten-Turtlelei bräuchte. Einige Dozenten scheinen dies jedoch nicht zu verstehen (möglicherweise steigen sie selbst nicht durch Java durch) und verwirren ihre Schüler mit solch' einem sch... Kram. So viel zu Kara.
Zum eigentlichen Problem: Kara moved bei ungeraden Zahlen halt einmal mehr in die aktuelle Richtung. Lass für x halt nur ungerade Zahlen zu ([c]if(x%2==0) x++;[/c]).
hi, ja ich weiß, bin eigtl. auch nur an Eclipse gewöhnt aber der Prof. besteht nunmal drauf.
Habs jetzt, läuft zumindest auch für gerade Zahlen perfekt, der Code dagegen sieht aber nicht grad sonderlich schön aus aber es funzt, musste nur den code den ich hier als erstes hatte als if bedingung verschleiern für ungerade zahlen (x%2==1), in die else dann das gleiche wie in der if, außer das bei 2 kritieren x%2==1) rauskommen müssen anstatt 0. )
Java:
import javakara.JavaKaraProgram;/* BEFEHLE: kara.
* move() turnRight() turnLeft()
* putLeaf() removeLeaf()
*
* SENSOREN: kara.
* treeFront() treeLeft() treeRight()
* mushroomFront() onLeaf()
*/publicclassScheinaufgabe28extendsJavaKaraProgram{publicvoidmyProgram(){int x;
x = tools.intInput("Seitenlänge angeben");if(x %2==1){for(int i =1; i < x; i++){if(i %2==1){
kara.putLeaf();}
kara.move();}
kara.turnLeft();for(int i =1; i < x; i++){if(i %2==1){
kara.putLeaf();}
kara.move();}
kara.turnLeft();for(int i =1; i < x; i++){if(i %2==1){
kara.putLeaf();}
kara.move();}
kara.turnLeft();for(int i =1; i < x; i++){if(i %2==1){
kara.putLeaf();}
kara.move();}}else{for(int i =1; i < x; i++){if(i %2==1){
kara.putLeaf();}
kara.move();}
kara.turnLeft();for(int i =1; i < x; i++){if(i %2==0){
kara.putLeaf();}
kara.move();}
kara.turnLeft();for(int i =1; i < x; i++){if(i %2==1){
kara.putLeaf();}
kara.move();}
kara.turnLeft();for(int i =1; i < x; i++){if(i %2==0){
kara.putLeaf();}
kara.move();}}}}