diff --git a/src/input.cpp b/src/input.cpp index 1bbce6d..8e45df5 100644 --- a/src/input.cpp +++ b/src/input.cpp @@ -15,36 +15,24 @@ void Input::get_input(bool &running, PointCollection &collection) { collection.set_direction('u'); collection.m_point_list.push_back(Point()); collection.m_point_list.back().assign(); - for(int i = collection.m_point_list.size() - 1; i >= 0; i--) { - collection.m_point_list[i].m_collide = false; - } } else if(_getch == 66) { _getch = 0; collection.set_direction('d'); collection.m_point_list.push_back(Point()); collection.m_point_list.back().assign(); - for(int i = collection.m_point_list.size() - 1; i >= 0; i--) { - collection.m_point_list[i].m_collide = false; - } } else if(_getch == 67) { _getch = 0; collection.set_direction('r'); collection.m_point_list.push_back(Point()); collection.m_point_list.back().assign(); - for(int i = collection.m_point_list.size() - 1; i >= 0; i--) { - collection.m_point_list[i].m_collide = false; - } } else if(_getch == 68) { _getch = 0; collection.set_direction('l'); collection.m_point_list.push_back(Point()); collection.m_point_list.back().assign(); - for(int i = collection.m_point_list.size() - 1; i >= 0; i--) { - collection.m_point_list[i].m_collide = false; - } } else if(_getch == 113) running = false; } diff --git a/src/main.cpp b/src/main.cpp index c789b95..315e3eb 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -11,6 +11,16 @@ bool _check_collision(Point &a, Point &b) { return false; } +void _handle_point(PointCollection &collection, int index, Point &a, Point &b) { + if(a.m_symbol == b.m_symbol && !b.m_collide) { + collection.m_point_list.erase(collection.m_point_list.begin() + index); + b.m_collide = true; + } + if(!b.m_collide) { + // set a to be one behind + } +} + int main() { Input input; Window window; @@ -29,7 +39,7 @@ int main() { for(int a = collection.m_point_list.size() - 1; a >= 0; a--) { if (i == a) continue; if(_check_collision(collection.m_point_list[i], collection.m_point_list[a])) { - std::cout << "Collision with " << collection.m_point_list[i].to_string() << " & " << collection.m_point_list[a].to_string() << "\n"; + _handle_point(collection, i, collection.m_point_list[i], collection.m_point_list[a]); } } }