private void InitializeSlots() { for (var i = 0; i < Size; i++) { for (var j = 0; j < Size; j++) { var slotType = GetSlotType(i, j); Slots[i, j] = new CubeSlot(CenterColor, slotType); } } }
public CubeFace(CubeColor centerColor, ushort size) { if (size < 2) { throw new Exception("Invalid cube face size"); } CenterColor = centerColor; Size = size; Slots = new CubeSlot[size, size]; Initialize(); }
private void TurnLineReversed(ref ushort indexer) { var faces = new[] { FrontFace, RightFace, BackFace, LeftFace, FrontFace }; var temp = new CubeSlot[Size]; foreach (var currentFace in faces) { for (var i = 0; i < currentFace.Size; i++) { //swap var currentTemp = currentFace.Slots[indexer, i]; currentFace.Slots[indexer, i] = temp[i]; temp[i] = currentTemp; } } }
private void TurnColumnReversed(ref ushort indexer) { var faces = new[] { TopFace, BackFace, BottomFace, FrontFace, TopFace }; var temp = new CubeSlot[Size]; foreach (var currentFace in faces) { for (var i = 0; i < currentFace.Size; i++) { //swap var currentTemp = currentFace.Slots[i, indexer]; currentFace.Slots[i, indexer] = temp[i]; temp[i] = currentTemp; } } }