一応要求仕様は答えた。
だが、汚い。
そして、拡張性低い。
もうどうにでもなってください。
リファクタリング必要