take ualarm instead of alarm

the minimal precision of alarm() is seconds, which is too big for gaming, maybe ualarm() whose precision is microseconds would be better.