This commit is contained in:
DarthMooMancer
2025-09-26 17:53:29 -04:00
parent abef01d7b8
commit 1f3954ac79
6 changed files with 41 additions and 186 deletions
+16 -98
View File
@@ -6,111 +6,28 @@
#include "input.hpp"
int main () {
// int g = 0;
std::srand(std::time(0));
Window window;
Input input;
Fruit fruit;
Body body;
bool running = true;
Point* segments[ROW * COL] = {};
segments[0] = new Point { 5, 5, '*', 1 };
segments[2] = new Point { 3, 5, '@', 0 };
segments[3] = new Point { 4, 5, '@', 0 };
segments[4] = new Point { 5, 5, '@', 0 };
segments[5] = new Point { 6, 5, '@', 0 };
// segments[3] = new Point { 4, 5, '@', 0 };
// segments[4] = new Point { 5, 5, '@', 0 };
// segments[5] = new Point { 6, 5, '@', 0 };
segments[0] = new Point { 5, 5, '*', 1 }; // Head
segments[2] = new Point { (rand() % ROW), (rand() % COL), 'o', 0 }; // Fruit
for(int i = 0; i < 10; i++) {
if(segments[i] != nullptr) segments[i]->to_string();
else if(segments[i] == nullptr) std::cout << "NULLPTR" << "\n";
}
std::cout << "\n";
Point* index;
for(int i = 10; i >= 2; i--) {
if(segments[i] == nullptr) {
index = segments[i - 1];
continue;
}
segments[i] = segments[i - 1];
}
std::thread input_thread(
&Input::get_input, &input,
std::ref(segments[0]->m_direction),
std::ref(running));
segments[2] = index;
for(int i = 0; i < 10; i++) {
if(segments[i] != nullptr) segments[i]->to_string();
else if(segments[i] == nullptr) std::cout << "NULLPTR" << "\n";
}
std::cout << "\n";
segments[6] = new Point { 0, 0, '@', 0 };
for(int i = 0; i < 10; i++) {
if(segments[i] != nullptr) segments[i]->to_string();
else if(segments[i] == nullptr) std::cout << "NULLPTR" << "\n";
}
std::cout << "\n";
for(int i = 10; i >= 2; i--) {
if(segments[i] == nullptr) {
index = segments[i - 1];
continue;
}
segments[i] = segments[i - 1];
}
segments[2] = index;
for(int i = 0; i < 10; i++) {
if(segments[i] != nullptr) segments[i]->to_string();
else if(segments[i] == nullptr) std::cout << "NULLPTR" << "\n";
}
std::cout << "\n";
// segments[2]->set_new_point(new_row, new_col);
// move_tail_indicies(segments);
// for(int i = 0; i < 10; i++) {
// if(segments[i] != nullptr) segments[i]->to_string();
// else if(segments[i] == nullptr) std::cout << "NULLPTR" << "\n";
// }
// std::cout << "\n";
// for(int i = ROW * COL; i > 0; i--) {
// if(segments[i] == nullptr) continue;
// if(segments[i] != nullptr) {
// segments[i] = new Point{ 10, 10, '*', 0 };
// break;
// }
// }
// for(int i = 0; i < 10; i++) {
// if(segments[i] != nullptr) segments[i]->to_string();
// else if(segments[i] == nullptr) std::cout << "NULLPTR" << "\n";
// }
// std::cout << "\n";
// move_tail_indicies(segments);
// for(int i = 0; i < 10; i++) {
// if(segments[i] != nullptr) segments[i]->to_string();
// else if(segments[i] == nullptr) std::cout << "NULLPTR" << "\n";
// }
// std::cout << "\n";
// move_tail_indicies(segments);
// for(int i = 0; i < 10; i++) {
// if(segments[i] != nullptr) segments[i]->to_string();
// else if(segments[i] == nullptr) std::cout << "NULLPTR" << "\n";
// }
// std::cout << "\n";
// std::thread input_thread(
// &Input::get_input, &input,
// std::ref(segments[0]->m_direction),
// std::ref(running),
// std::ref(_score));
// while (g < 5) {
// while (running) {
while (running) {
// for(int i = 0; i < 10; i++) {
// if(segments[i] != nullptr) segments[i]->to_string();
// else if(segments[i] == nullptr) std::cout << "NULLPTR" << "\n";
// }
// std::cout << "\n";
// determine_index_zero_pos(window.m_board, segments);
// move_tail_indicies(segments);
determine_index_zero_pos(window.m_board, segments);
move_tail_indicies(segments);
// g++;
// for(int i = 0; i < ROW; i++) {
// for(int j = 0; j < COL; j++) {
@@ -139,12 +56,13 @@ int main () {
//
// head.m_previous_head.set_new_point(head.m_head);
// std::cout << _score << "\n";
// window.clear_display();
// window.update_display(segments);
// window.draw_display(200);
// }
// input_thread.join();
for(int i = 0; i < ROW * COL; i++) {
on_fruit_eaten(window.m_board, segments);
window.clear_display();
window.update_display(segments);
window.draw_display(200);
}
input_thread.join();
for(int i = (ROW * COL) - 1; i > 0; i--) {
if(segments[i] == nullptr) continue;
delete segments[i];
}