/// <summary>
 /// Iniciar una nueva partida. Abre la ventana NewGameWinModal
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 private void newGame(object sender, ExecutedRoutedEventArgs e)
 {
     try
     {
         NewGameWinModal newGame = new NewGameWinModal();
         //pasar los parametros
         newGame.Owner = this;
         newGame.Oponent = confi.pcOption;
         newGame.X = confi.xDim;
         newGame.Y = confi.yDim;
         newGame.Time = confi.time;
         newGame.ShowDialog();
         if (newGame.DialogResult == true)
         {
             //recibir los parametros
             confi.xDim = newGame.X;
             confi.yDim = newGame.Y;
             confi.pcOption = newGame.Oponent;
             confi.time = newGame.Time;
             confi.isTimer = newGame.TimeIsChecked;
             //mostramos la de jugadores
             PlayersWinModal playersWinModal = new PlayersWinModal();
             playersWinModal.Owner = this;                    
             //pasar parametros, pasamos los jugadores
             playersWinModal.PcOption = confi.pcOption;
             confi.DefaultGamers();//creamos los jugadores por defecto 1 ó 2
             playersWinModal.Players = confi.playerList;
             //playersWinModal.config = confi;
             playersWinModal.ShowDialog();
             if (playersWinModal.DialogResult == true)
             {
                 //recibir parametros 
                 confi.playerList = playersWinModal.Players;
                 
                 //mostramos el panel
                 this.playerOne.Content = confi.playerList[0];
                 if (confi.pcOption)//si es contra la maquina, lo creo y lo muestro
                 {
                     opponent = OPPONENT.PC;
                     this.playerTwo.Content = confi.createPC();                                 
                 }
                 else//si es contra un amigo, ya lo tengo creado por defecto, y lo muestro
                 {
                     opponent = OPPONENT.HUMAN;
                     this.playerTwo.Content = confi.playerList[1];
                 }
                 //confi.showPlayersDetail();
                 showTime(confi.isTimer);
                 this.mainDock.Visibility = Visibility.Visible;
                 buildBoard();
                 motor = new Motor(confi.xDim,confi.yDim);
                 motor.victoryEvent += new Motor.victoryDel(victoryEvent);
                 statuBar.Text = motor.version;
                 motor.run();
                 changeFlag();
             }
             else//si damos a cancelar hay que resetear los jugadores
             {
                 confi.clearPlayers();
             }
         }
     }
     catch (Exception ex)
     {
         Debugger.WriteException(ex, this);
     }
 }
Exemple #2
0
        /// <summary>
        /// Iniciar una nueva partida. Abre la ventana NewGameWinModal
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void newGame(object sender, ExecutedRoutedEventArgs e)
        {
            try
            {
                NewGameWinModal newGame = new NewGameWinModal();
                //pasar los parametros
                newGame.Owner   = this;
                newGame.Oponent = confi.pcOption;
                newGame.X       = confi.xDim;
                newGame.Y       = confi.yDim;
                newGame.Time    = confi.time;
                newGame.ShowDialog();
                if (newGame.DialogResult == true)
                {
                    //recibir los parametros
                    confi.xDim     = newGame.X;
                    confi.yDim     = newGame.Y;
                    confi.pcOption = newGame.Oponent;
                    confi.time     = newGame.Time;
                    confi.isTimer  = newGame.TimeIsChecked;
                    //mostramos la de jugadores
                    PlayersWinModal playersWinModal = new PlayersWinModal();
                    playersWinModal.Owner = this;
                    //pasar parametros, pasamos los jugadores
                    playersWinModal.PcOption = confi.pcOption;
                    confi.DefaultGamers();//creamos los jugadores por defecto 1 ó 2
                    playersWinModal.Players = confi.playerList;
                    //playersWinModal.config = confi;
                    playersWinModal.ShowDialog();
                    if (playersWinModal.DialogResult == true)
                    {
                        //recibir parametros
                        confi.playerList = playersWinModal.Players;

                        //mostramos el panel
                        this.playerOne.Content = confi.playerList[0];
                        if (confi.pcOption)//si es contra la maquina, lo creo y lo muestro
                        {
                            opponent = OPPONENT.PC;
                            this.playerTwo.Content = confi.createPC();
                        }
                        else//si es contra un amigo, ya lo tengo creado por defecto, y lo muestro
                        {
                            opponent = OPPONENT.HUMAN;
                            this.playerTwo.Content = confi.playerList[1];
                        }
                        //confi.showPlayersDetail();
                        showTime(confi.isTimer);
                        this.mainDock.Visibility = Visibility.Visible;
                        buildBoard();
                        motor = new Motor(confi.xDim, confi.yDim);
                        motor.victoryEvent += new Motor.victoryDel(victoryEvent);
                        statuBar.Text       = motor.version;
                        motor.run();
                        changeFlag();
                    }
                    else//si damos a cancelar hay que resetear los jugadores
                    {
                        confi.clearPlayers();
                    }
                }
            }
            catch (Exception ex)
            {
                Debugger.WriteException(ex, this);
            }
        }