重写代码

重写了代码修改了代码之前的BUG，并整理好各代码的缩进。