基本确定数据结构，可能考虑加入复合碰撞（demo不会加入）