Example #1
0
 public MultiplePlayerGameMaze()
 {
     InitializeComponent();
     this.mpgvm = new MultiPlayerGameViewModel
                      (new MultiPlayerModel(new SettingsModel()));
     this.DataContext = this.mpgvm;
     this.mpgvm.StartNewGame();
 }
        /// <summary>
        /// Constructor,
        /// </summary>
        /// <param name="gameName">Game name.</param>
        /// <param name="rows">Rows.</param>
        /// <param name="columns">Columns.</param>
        public MultiplePlayerGameMaze(string gameName, string rows,
                                      string columns)
        {
            //Initialize members.
            this.communicationClient = new CommunicationClient();
            ISettingsModel settingsModel = new SettingsModel();

            this.communicationClient.Connect(settingsModel.Port,
                                             settingsModel.IpAddress);
            this.multiPlayerGameViewModel = new MultiPlayerGameViewModel
                                                (new MultiPlayerModel(settingsModel, communicationClient),
                                                new SettingsViewModel(settingsModel));

            this.multiPlayerGameViewModel.ConnectionLost +=
                HandleConnectionLost;

            this.multiPlayerGameViewModel.OpponentWon += HandleOpponentWon;

            this.multiPlayerGameViewModel.ReachedGoal += HandleReachedGoal;

            try
            {
                this.multiPlayerGameViewModel.StartGame(gameName, rows,
                                                        columns);
            }
            catch (Exception e)
            {
                throw new Exception();
            }

            this.multiPlayerGameViewModel.OpponentExitCalled +=
                HandleExitCalled;
            this.multiPlayerGameViewModel.OpponentDirectionCalled +=
                HandleDirectionCalled;

            //Set data context.
            this.DataContext = this.multiPlayerGameViewModel;
        }
        /// <summary>
        /// Constructor.
        /// </summary>
        /// <param name="gameName">Game name.</param>
        public MultiplePlayerGameMaze(string gameName)
        {
            //Initialize members.
            this.communicationClient = new CommunicationClient();
            ISettingsModel settingsModel = new SettingsModel();

            this.communicationClient.Connect(settingsModel.Port,
                                             settingsModel.IpAddress);
            this.multiPlayerGameViewModel = new MultiPlayerGameViewModel
                                                (new MultiPlayerModel(settingsModel, communicationClient),
                                                new SettingsViewModel(settingsModel));

            this.multiPlayerGameViewModel.JoinGame(gameName);

            this.multiPlayerGameViewModel.OpponentExitCalled +=
                HandleExitCalled;

            this.multiPlayerGameViewModel.ReachedGoal += HandleReachedGoal;

            this.multiPlayerGameViewModel.OpponentWon += HandleOpponentWon;

            this.DataContext = this.multiPlayerGameViewModel;
        }