Beispiel #1
0
        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);
        }
Beispiel #2
0
        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");
        }