Du kannst ein bißchen sparen:
DU nimmst einfach +1 an, nur wenn < angesagt ist, mußt du das noch ändern.Code:int move_elbow_to(int dest_pos) { int step = 1; if(elbow_pos > dest_pos) step=-1; while (elbow_pos !=dest_pos) { elbow_pos += step; move(3, elbow_pos); } return 0; }
Auf pos == dest fragt ja eh' schon die while-schleife ab, brauchst du nicht extra nochmal "iffen"
"i" ist überflüssig.
der erste move wäre mit der alten position --> also sinnlos
daher bleibt für ein "for" nix über, also while
der step VOR dem move
btw:
Du solltest "step" gleich definieren wie elbow_pos, also nicht unbedingt "int", wenn vielleicht pos nur ein char ist
Nicht berücksichtigt, was es mit dem Return-value auf sich hat, sonst kann man das auch noch schmeissen
Lesezeichen