仕様6まで実装，リファクタリング

自分のコードをリーダブルになるようにおもいっきり書き直し．
交換した相手にかなりインスパイアされている……．