refactored grid management

This commit is contained in:
2024-05-30 10:23:31 +02:00
parent 1ec4b9e257
commit 5fae7256d7
2 changed files with 19 additions and 14 deletions

13
grid.go
View File

@@ -36,7 +36,7 @@ func NewGrid(width, height, density int, empty bool) *Grid {
return grid
}
// Create a 1:1 copy
// Create a new 1:1 instance
func (grid *Grid) Clone() *Grid {
newgrid := &Grid{}
@@ -47,6 +47,15 @@ func (grid *Grid) Clone() *Grid {
return newgrid
}
// copy data
func (grid *Grid) Copy(other *Grid) {
for y := range grid.Data {
for x := range grid.Data[y] {
other.Data[y][x] = grid.Data[y][x]
}
}
}
// delete all contents
func (grid *Grid) Clear() {
for y := range grid.Data {
@@ -57,7 +66,7 @@ func (grid *Grid) Clear() {
}
// initialize with random life cells using the given density
func (grid *Grid) FillRandom(game *ScenePlay) {
func (grid *Grid) FillRandom() {
if !grid.Empty {
for y := range grid.Data {
for x := range grid.Data[y] {