This commit is contained in:
DarthMooMancer
2025-10-07 12:08:57 -04:00
parent d8a3fee987
commit 85aebae86d
7 changed files with 144 additions and 98 deletions
+49 -21
View File
@@ -1,25 +1,53 @@
#include "elements.hpp"
#include "globals.hpp"
void cleanup(Point** buffer, int buffer_size) {
for(int i = 0; i < buffer_size; i++) {
delete buffer[i];
}
void cleanup(Point** buffer) {
}
// void Player::check_line(Tile (&tile_list)[9]) {
// for(int i = 0; i <= 6; i += 3) {
// if(tile_list[i].m_symbol == tile_list[i+1].m_symbol && tile_list[i+1].m_symbol == tile_list[i+2].m_symbol) {
// if(tile_list[i].m_symbol == m_symbol) {
// m_win = true;
// }
// }
// }
// if(tile_list[0].m_symbol == tile_list[4].m_symbol && tile_list[4].m_symbol == tile_list[8].m_symbol) {
// if(tile_list[0].m_symbol == m_symbol) {
// m_win = true;
// }
// }
// if(tile_list[2].m_symbol == tile_list[4].m_symbol && tile_list[4].m_symbol == tile_list[6].m_symbol) {
// if(tile_list[2].m_symbol == m_symbol) {
// m_win = true;
// }
// }
// }
void allocate_points(Point** buffer, char symbol) {
int index = 0;
for(int i = 0; i < ROW; i += 2) {
for(int a = 0; a < ROW; a += 2) {
buffer[index++] = new Point { i, a, symbol };
}
}
}
Player* get_current_player(Player* current_player, Player* player_one, Player* player_two) {
if(current_player == nullptr) { current_player = player_one; }
else if(current_player->m_id == 1) { current_player = player_two; }
else if(current_player->m_id == 2) { current_player = player_one; }
return current_player;
}
bool Player::on_line(Point** buffer) {
for(int i = 0; i <= 6; i += 3) {
if(buffer[i]->m_symbol == buffer[i+1]->m_symbol && buffer[i+1]->m_symbol == buffer[i+2]->m_symbol) {
if(buffer[i]->m_symbol == m_symbol) {
return true;
}
}
}
for(int i = 0; i < 3; i++) {
if(buffer[i]->m_symbol == buffer[i+3]->m_symbol && buffer[i+3]->m_symbol == buffer[i+6]->m_symbol) {
if(buffer[i]->m_symbol == m_symbol) {
return true;
}
}
}
if(buffer[0]->m_symbol == buffer[4]->m_symbol && buffer[4]->m_symbol == buffer[8]->m_symbol) {
if(buffer[0]->m_symbol == m_symbol) {
return true;
}
}
if(buffer[2]->m_symbol == buffer[4]->m_symbol && buffer[4]->m_symbol == buffer[6]->m_symbol) {
if(buffer[2]->m_symbol == m_symbol) {
return true;
}
}
return false;
}