                    .Where(p => this.Grid.WithinGrid(p) && WillFlash(p) && flashed.Add(p))
                    .ForEach(toFlash.Enqueue);
        }

        // Clear all flashed octopi
        flashed.ForEach(p => this.Grid[p] = 0);
        flashed.Clear();
        return flashes;
    }

    /// <summary>
    /// Check if a given octopi will flash on the given turn
    /// </summary>