Hätte ich nicht besser erklären können.

Kleine Fehlerteufel-Anmerkung noch zu den { } Klammern. Auch die werden zum Glück beim kompilieren mitgenommen und übersetzt.
Warum zum Glück?
Code:
if (x == y)
  links45;
else
  was_anderes;

würde sonst folgenden Code ergeben:
if (x == y)
  turn(180);
Msleep(500);
turn(135);
msleep(500);
else
  was_anderes;

Jetzt wäre nur noch das 'turn(180)' hinter dem if x==y gültig und wir würden wegen des noch folgenden 'else' einen Compiler-FEHLER bekommen. Im schlimmsten Fall würde der logische Ablauf in unserem Programm falsch sein wenn wir z.B. nur folgendes programmieren:

if (x == y)
  links45;
mache_hier_weiter;

Jetzt bekommen wir KEINEN Fehler, aber hinter dem if ist wiederum nur das turn(180) und der Rest vom define (Msleep(500); turn(135); Msleep(500);) wird IMMER ausgeführt.
Tipp: #define Name { IMMER mit Klammern schreiben. }

Edit: 18.12.2006 Sternthaler. Wenn ich schon pingelich bin, dann gehören natürlich auch Klammern zum if.