できるけど、結構複雑そう。それぞれの動きを上手く関数化して、一つの入力待ちに収めないとね。