Vielleicht ist das einfacher zu verstehen wen die Code etwas mehr Strukturiert wiedergegeben wird. Ich habe Tab-zeichen zugefügt so das alle Zeilen im gleichen {}-Hierarchie-niveau die selbe Einsprung-abständen haben.
Tip: Setze deine Code zwisschen [ code ] Schreib hier deine Code [ / code] Tags in dein Bericht. (Nur die Leer-zeichen entfernen zwischen die [ ] Klammern !) Dann wird es isoliert von dein normale Text in ein Spezielles Fenster. Und werden auch Zeilen-einsprung behalten.
Code:void moveCommand(behaviour_command_t * cmd) { if(cmd->move_value > 0) // any move/rotate commands? { if(cmd->rotate) rotate(cmd->speed_left, cmd->dir, cmd->move_value, false); else if(cmd->move) move(cmd->speed_left, cmd->dir, DIST_MM(cmd->move_value), false); // von Valen: Das nächste gehört nicht mehr zu den "if else if" Gesetzen. Weil das hier oben mit ein Punkt-komma abgeschlossen ist. Und kein tieferes {} Niveau verwendet wird. cmd->move_value = 0; // clear move value - the move commands are only // given once and then runs in background. } else if(!(cmd->move || cmd->rotate)) // just move at speed? { changeDirection(cmd->dir); moveAtSpeed(cmd->speed_left,cmd->speed_right); } else if(isMovementComplete()) // movement complete? --> clear flags! { cmd->rotate = false; cmd->move = false; } }







Zitieren
Lesezeichen