Files
sphere-grid/grid/sphere/grid.py
2024-09-04 21:26:42 +02:00

31 lines
880 B
Python

"""
"""
from random import choice, randint
from grid.sphere.cell import Cell
class Grid:
def __init__(self) -> None:
self.start = None
def set_start(self, cell: Cell):
self.start = cell
@classmethod
def generate_grid(cls, sphere_number: int=10) -> 'Grid':
# pick an impl type instead
starting_point = Cell()
cls.generate_neighbors(starting_point, sphere_number)
grid = cls()
grid.set_start(starting_point)
return grid
@classmethod
def generate_neighbors(cls, current_cell: Cell, remaining_cells: int) -> Cell:
number_of_neighbor = randint(Cell.MIN_NEIGHBORS, Cell.MAX_NEIGHBORS)
for _ in number_of_neighbor:
current_cell.add_neightbor(Cell())
remaining_cells = max(0, remaining_cells-number_of_neighbor)
return choice(current_cell.neighbors)