>>700
こんな感じでBeep()を埋め込んでみれば
paint()が何回呼ばれているかわかる。

void paint( void ){
/*途中省略*/
Beep(0xFF,100);
}

ちなみに、関係ないキーを押した場合は、
defaultでkey_press()に行き、key = getch();で次の入力までストップする。
矢印キーの場合は2文字送られてきてるからストップしない。

試しにpを5回ぐらい押してからeを押してみ。