public void AddPointsToValues(IScoringTable scoringTable) { lock (_pixels) { int pixelIndex = 0; foreach (var pixel in _pixels) { pixel.RankingPoints += scoringTable.GetScore(_pixels.Count, pixelIndex); pixelIndex++; } } }
public PixelCollection Execute(PixelCollection pixelCollection, IScoringTable scoringTable, int pixelsToSelect) { lock (pixelCollection) { pixelCollection.OrderByBlue(); pixelCollection.AddPointsToValues(scoringTable); pixelCollection.OrderByGreen(); pixelCollection.AddPointsToValues(scoringTable); pixelCollection.OrderByRed(); pixelCollection.AddPointsToValues(scoringTable); pixelCollection.RemoveWeakPixels(pixelsToSelect); pixelCollection.OrderAscending(); } return(pixelCollection); }