If move NORTH and EAST speed[i] be + and "last_movement[i] + default_delay - speed[i]" decrease but if move SOUTH and WEST speed[i] be - and "last_movement[i] + default_delay - speed[i]" increase. abs(speed[i]) Fix it. "last_movement[i] + default_delay -abs(speed[i])" always decrease.
rotate() rotate ship icon in move dir.(Don't need a make additional dir sprites)