Exemple #1
0
        public void NavigateToGame()
        {
            GamePageParameters parameters = new GamePageParameters();

            parameters.GameMode       = Constants.MultiPlayer;
            parameters.Role           = PeerFinder.Role;
            parameters.ConnectedPeers = connectedPeers;
            parameters.PlayerCount    = connectedPeers.Count;

            Frame.Navigate(typeof(GamePage), parameters);
        }
Exemple #2
0
        private void StompAloneClick(object sender, RoutedEventArgs e)
        {
            GamePageParameters parameters = new GamePageParameters()
            {
                GameMode       = Constants.SinglePlayer,
                Role           = PeerFinder.Role,
                ConnectedPeers = null,
                PlayerCount    = 1
            };

            Frame.Navigate(typeof(GamePage), parameters);
        }
        private void StompAloneClick(object sender, RoutedEventArgs e)
        {
            GamePageParameters parameters = new GamePageParameters()
            {
                GameMode = Constants.SinglePlayer,
                Role = PeerFinder.Role,
                ConnectedPeers = null,
                PlayerCount = 1
            };

            Frame.Navigate(typeof(GamePage), parameters);
        }
        public void NavigateToGame()
        {
            GamePageParameters parameters = new GamePageParameters()
            {
                GameMode = Constants.MultiPlayer,
                Role = PeerFinder.Role,
                ConnectedPeers = connectedPeers,
                PlayerCount = connectedPeers.Count
            };

            Frame.Navigate(typeof(GamePage), parameters);
        }
        private void LoadState(object navigationParameter, Dictionary <string, object> pageState)
        {
            // Unpack the navigation parameters passed from either the Main Page (singleplayer mode)
            // or the Invite Players page (singlePair, multiplayer mode).

            GamePageParameters parameters = (GamePageParameters)navigationParameter;

            if (PeerFinder.Role == PeerRole.Host)
            {
                timesToTick = Constants.PlayTime * Constants.TimeUnitsPerSecond;
            }

            gameMode = parameters.GameMode;

            if (gameMode != Constants.SinglePlayer)
            {
                // Not for single player games.

                connectedPeers = parameters.ConnectedPeers;

                // You should only have one socket if you're a client
                // Regardless, update each socket's current page to the game page
                foreach (ConnectedPeer host in connectedPeers.Keys)
                {
                    socket             = connectedPeers[host];
                    socket.currentPage = this;
                    socket.UpdateCurrentPageType();
                }

                playerCount = parameters.PlayerCount;
            }

            images = new Image[Constants.GridRows, Constants.GridColumns];
            random = new Random();

            gameTimer          = new DispatcherTimer();
            gameTimer.Interval = TimeSpan.FromMilliseconds(Constants.TimeUnit);
            gameTimer.Tick    += UpdateTimer;

            if (gameMode == Constants.SinglePlayer)
            {
                InitImages();

                timesToTick = Constants.PlayTime * Constants.TimeUnitsPerSecond;
                StartGame();
            }
            else if (gameMode == Constants.MultiPlayer)
            {
                // See what your role is.
                if (PeerFinder.Role == PeerRole.Host)
                {
                    playerList    = new Dictionary <int, string>();
                    playerList[0] = PeerFinder.DisplayName;
                    playerID      = 0;

                    int counter = 1;

                    foreach (ConnectedPeer peer in connectedPeers.Keys)
                    {
                        playerList[counter] = peer.DisplayName;
                        SendParams(connectedPeers[peer], counter);
                        counter++;
                    }

                    InitImages();
                }
            }
        }