This commit is contained in:
DarthMooMancer
2025-09-16 15:14:38 -04:00
parent 966c5883c7
commit bdeb8d9fc7
2 changed files with 11 additions and 13 deletions
-12
View File
@@ -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;
}
+11 -1
View File
@@ -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]);
}
}
}