nabend allerseits,
ich bin schon seit einiger zeit dabei, ein programm zu schreiben, mit dem der asuro kollisionen auswertet und dann wendet o.ä.
dazu hab ich angefangen, eine funktion zum wenden zu schreiben, in der ich nur gradzahl und richtung übergebe.
hier mein quelltext (nur von der funktion, rest folgt):
mein problem ist jetzt, dass asuro zwar das stück rückwärts fährt, sich aber nicht wie gewollt dreht. er dreht sich gar nicht.Code:void wenden(int grad, char richtung) //funktion zum wenden { int degree=0; //variablen deklarieren, die ich brauche char dir; degree=grad; //übergabe der parameter an die internen variablen dir=richtung; if ((degree>=0)&&(degree<120)) { degree=degree*0,85; } //das hier hab ich nur für die anpassung gemacht, else if ((degree>120)&&(degree<240)) { degree=degree*0,9; } //da mein asuro immer zu große winkel gefahren ist. else if ((degree>240)&&(degree<=360)) { degree=degree*0,95; } //die werte hab ich experimentell ermittelt if (dir=='r') {} //rechtskurve, alles wie gehabt else if (dir=='l') { degree=degree*(-1); } //linkskurve, gradzahl mit -1 multiplizieren Go(-80,200); //stück zurücksetzen Turn(degree,200); //drehen } //aufruf der funktion sollte dann beispielsweise so aussehen: wenden(90,'r');
ich hab meinen fehler nicht finden können. vielleicht kann mir ja wer helfen.
danke schonmal,
grüße, malediction.







Zitieren

Lesezeichen