private void SortBlocks(object sender, RoutedEventArgs e)
{
int currentBlockCount = blocksCollection.Count;
if (currentBlockCount > 0)
{
for (int i = 0; i < currentBlockCount; i++)
{
var block = blocksCollection[i];
Console.WriteLine($"i ={i}");
Console.WriteLine(((SolidColorBrush)block.Background).Color.ToString());
for (int j = i; j < currentBlockCount - i; j++)
{
var blockinner = blocksCollection[j];
if (((SolidColorBrush)blockinner.Background).Color == ((SolidColorBrush)block.Background).Color)
{
for (int k = i + 2; k < j; k++)
{
var NextBlock = blocksCollection[k + 1];
var CurrentBlock = blocksCollection[k];
if (((SolidColorBrush)CurrentBlock.Background).Color != ((SolidColorBrush)NextBlock.Background).Color)
{
blocksCollection.RemoveAt(k);
blocksCollection.Insert(k - 1, CurrentBlock);
Console.WriteLine($"Swapped {k} with {k - 1} ");
}
}
}
}
}
}
else
{
MessageBox.Show("No blocks to sort.");
}
}
private void SortBlocks(object sender, RoutedEventArgs e)
{
int currentBlockCount = blocksCollection.Count;
if (currentBlockCount > 0)
{
for (int i = 0; i < currentBlockCount; i++)
{
var block = blocksCollection[i];
Console.WriteLine($"i ={i}");
Console.WriteLine(((SolidColorBrush)block.Background).Color.ToString());
for (int j = i; j < currentBlockCount - i; j++)
{
var blockinner = blocksCollection[j];
if (((SolidColorBrush)blockinner.Background).Color == ((SolidColorBrush)block.Background).Color)
{
for (int k = i + 2; k < j; k++)
{
var NextBlock = blocksCollection[k + 1];
var CurrentBlock = blocksCollection[k];
if (((SolidColorBrush)CurrentBlock.Background).Color != ((SolidColorBrush)NextBlock.Background).Color)
{
blocksCollection.RemoveAt(k);
blocksCollection.Insert(k - 1, CurrentBlock);
Console.WriteLine($"Swapped {k} with {k - 1} ");
}
}
}
}
}
}
else
{
MessageBox.Show("No blocks to sort.");
}
}