Exemplo n.º 1
0
        public void WindowSizeChanged()
        {
            if (GameWindowData.CardHeight / GameWindowData.CardWidth > 1.4)
            {
                GameWindowData.CardHeight = GameWindowData.CardWidth * 1.4;
            }
            else
            {
                GameWindowData.CardWidth = GameWindowData.CardHeight / 1.4;
            }

            GameImages.SetImageSize(GameWindowData.CardWidth, GameWindowData.CardHeight);

            //change distance
            GameWindowData.CardGameFaceDistance = GameWindowData.CardHeight / 5;
            GameWindowData.CardDeckDistance     = GameWindowData.CardWidth / 4;
            GameWindowData.CardGameBackDistance = GameWindowData.CardGameFaceDistance / 2;

            bool   lastShowedFace = false;
            double cardDistance   = 0;

            for (int iCol = 0; iCol < GameColumns.ColGame.Length; iCol++)
            {
                for (int iCard = 0; iCard < GameColumns.ColGame[iCol].Count; iCard++)
                {
                    //if the previos card was not visible
                    if (iCard != 0)
                    {
                        if (!lastShowedFace)
                        {
                            cardDistance += GameWindowData.CardGameBackDistance;
                        }
                        else
                        {
                            cardDistance += GameWindowData.CardGameFaceDistance;
                        }
                    }

                    lastShowedFace = GameColumns.ColGame[iCol][iCard].IsShowedFace;

                    GameColumns.ColGame[iCol][iCard].Margin = new Thickness(0, cardDistance, 0, 0);
                }

                cardDistance   = 0;
                lastShowedFace = false;
            }

            AlignDeckSequence(GameColumns.ColDeck);
        }
Exemplo n.º 2
0
        public GameProcess(Grid grid)
        {
            GameWindowData = new GameWindowData();
            GameData       = new GameData();
            _history       = new History();

            _grid = grid;

            //additional data
            GameWindowData.iGridColDeck  = 1;
            GameWindowData.iGridColKing  = grid.ColumnDefinitions.Count / 2 + 1;
            GameWindowData.iGridColJoker = grid.ColumnDefinitions.Count - 2;

            this.GameImages  = new GameImages(_grid, GameWindowData);
            this.GameColumns = new GameColumns(AlignDeckSequence);

            Timer = new System.Windows.Threading.DispatcherTimer();

            Timer.Tick    += timerTick;
            Timer.Interval = new TimeSpan(0, 0, 1);

            GameImages.SetEvents(card_MouseDown, card_Drop, Deck_MouseUp);
        }