public void RotateCard(CardRotation cardRotation) { CardEdge[] currentCardEdges = new CardEdge[] { EdgeNorth, EdgeEast, EdgeSouth, EdgeWest }; CardEdge[] newCardEdges = new CardEdge[4]; int currentRotation = (int)RotationState; int newRotation = (int)cardRotation; int diffRotation = newRotation - currentRotation; diffRotation = (diffRotation < 0) ? 4 + diffRotation : diffRotation; if (diffRotation == 0) { return; } //Console.WriteLine("Diffrot = {0}", diffRotation); for (int i = 0; i < 4; i++) { int currentIndex = (i + diffRotation) % 4; newCardEdges[currentIndex] = currentCardEdges[i]; //Console.WriteLine("{0} -> {1}", i, currentIndex); } EdgeNorth = newCardEdges[0]; EdgeEast = newCardEdges[1]; EdgeSouth = newCardEdges[2]; EdgeWest = newCardEdges[3]; RotateMask(diffRotation); }
public CardNull() { EdgeNorth = new CardEdge { HasCity = false, HasStreet = false, HasMeadow = false }; EdgeEast = new CardEdge { HasCity = false, HasStreet = false, HasMeadow = false }; EdgeSouth = new CardEdge { HasCity = false, HasStreet = false, HasMeadow = false }; EdgeWest = new CardEdge { HasCity = false, HasStreet = false, HasMeadow = false }; SetImage(@"D:\User_Data\Documents\Visual Studio 2015\Projects\Carcassonne\Images\CardNull.jpg"); }