not correct, but doing something.

This commit is contained in:
Jack Case
2025-08-21 08:17:11 -04:00
parent 60c0bc7a54
commit d7650a01ec

50
grid.gd
View File

@@ -6,6 +6,7 @@ extends Node2D
@export var offset: float = 55.0
var grid: Array[Array]
var groups: Array
var token = preload("res://token.tscn")
@@ -23,21 +24,44 @@ func _ready():
func populate_grid():
pass
func to_grid_coord(idx):
pass
func to_index(idx):
pass
func calculate_token_groups():
groups = []
var visited_nodes = []
var group_queue = []
for row in rows:
for col in cols:
var current_token = grid[row][col]
var adjacent_token_coords = [
[row - 1, col],
[row, col + 1],
[row + 1, col],
[row, col - 1]
]
if [row, col] in visited_nodes:
continue
var valid_coords = adjacent_token_coords.filter(
func(coord_pair): return coord_pair[0] >= 0 and coord_pair[0] < rows and coord_pair[1] >= 0 and coord_pair[1] < cols
)
group_queue.append([row,col])
for coord in valid_coords:
if grid[coord[0]][coord[1]].type == current_token.type:
print(coord)
var new_group = []
while not group_queue.is_empty():
var current_coord = group_queue.pop_back()
var current_token = grid[current_coord[0]][current_coord[1]]
new_group.append(current_coord)
visited_nodes.append(current_coord)
var adjacent_token_coords = [
[row - 1, col],
[row, col + 1],
[row + 1, col],
[row, col - 1]
]
var valid_coords = adjacent_token_coords.filter(
func(coord_pair): return coord_pair[0] >= 0 and coord_pair[0] < rows and coord_pair[1] >= 0 and coord_pair[1] < cols
)
for coord in valid_coords:
if coord not in visited_nodes and grid[coord[0]][coord[1]].type == current_token.type:
group_queue.append(coord)
groups.append(new_group)
print(groups)