Chodzi tutaj o dodatkowe sprawdzanie każdego piksela, tak zwane "pixel perfect collision". Samo IF sprawdza, czy w odległości od równej prędkości poruszania jest ściana (oWall). Jeśli tak, oczywiście IF wykonuje się. Ale co jeśli prędkość jest większa niż powiedzmy 10px? Wtedy zostanie nam luka, bo IF sprawdził to tylko raz. Kod w WHILE wykonuje się BEZ PRZERWY dopóki warunek jest spełniony. Dlatego łatwo grę można zatrzymać w miejscu, ponieważ WHILE zapętla się i nie pozwala programowi wykonywać się dalej, kiedy źle określimy warunek.
Czyli, wykonując swój kod, IF sprawdza, czy napotkano ścianę, jeśli tak, WHILE sprawdza pozycję gracza + jeden pixel! (sign oznacza jeden pixel) i jeśli nie wykryję ściany, przesuwa gracza o ten jeden pixel i tak w nieskończoność, dopóki pozycja gracza + jeden pixel == pozycja ściany.
W praktyce wygląda to następująco, gdy prędkość poruszania się gracza to 20px