コード例 #1
0
        private Player _save; // Sauvegarde de l'état du joueur

        #endregion Fields

        #region Constructors

        // Constructeurs                    ======================================================================================================
        // Paramètres : n nom du joueur
        //              p position du joueur
        public Player(string n, int p, int b)
        {
            name = n;
            score = 0;
            _lastCombo = new Combo();
            _handSize = Game.DEFAULT_HAND_SIZE;
            _nbCards = _handSize;
            _effects = new List<Effect>();
            _position = p;
            _browser = b;
            _save = null;
        }
コード例 #2
0
 // Constructeurs                    ======================================================================================================
 protected Game()
 {
     _joueurS = null;
     _joueurN = null;
     _joueurE = null;
     _joueurO = null;
     _step = 0;
     _subStep = 0;
     _nbSteps = Game.DEFAULT_NB_STEPS;
     _currentPlayer = null;
     gameStarted = false;
     _page = new HtmlPage();
     LocationNav = new Dictionary<int, int>
         {
             {Player.FIREFOX, Player.OUT},
             {Player.CHROME, Player.OUT},
             {Player.IE, Player.OUT},
             {Player.SAFARI, Player.OUT},
             {Player.OPERA, Player.OUT}
         };
 }
コード例 #3
0
 public void newPlayer(Player p)
 {
     if (getPlayerAt(p.position()) == null)
     {
         _game.setPlayer(p, p.position());
         switch (p.position())
         {
             case Player.SUD: _mCarteS = new MdlCarteJoueur(p); break;
             case Player.OUEST: _mCarteO = new MdlCarteJoueur(p); break;
             case Player.NORD: _mCarteN = new MdlCarteJoueur(p); break;
             case Player.EST: _mCarteE = new MdlCarteJoueur(p); break;
             default: break;
         }
     }
 }
コード例 #4
0
 // Fonctionnalités                  ======================================================================================================
 /// <summary>
 /// Setter du joeur à la position spécifiée.
 /// </summary>
 /// <param name="p">Nouvelle valeur</param>
 /// <param name="position">Player.NORD|SUD|EST|OUEST</param>
 public void setPlayer(Player p, int position)
 {
     switch (position)
     {
         case Player.SUD:   _joueurS = p; break;
         case Player.OUEST: _joueurO = p; break;
         case Player.NORD:  _joueurN = p; break;
         case Player.EST:   _joueurE = p; break;
         default: break;
     }
 }
コード例 #5
0
        /// <summary>
        /// Met dans currentPlayer le jour suivant en suivant le sens horaire.
        /// </summary>
        public void nextPlayer()
        {
            // Step 0 : On incrémente les valeurs des étapes, et on passe la fin
            _subStep++;
            if (_subStep >= _nbPlayer) _step++;
            _subStep %= _nbPlayer;

            if (_step >= _nbSteps) endGame();

            //      Step 1.1 : On dresse une liste des joueurs disponibles
            int indexCurPlayer = 0;
            bool found = false;
            List<int> listePos = new List<int>();
            if (_joueurS != null){
                listePos.Add(Player.SUD);
                if (_currentPlayer != _joueurS) //c'est le 1ere test, on sait que found = false, forcément, pas besoin de tester.
                    indexCurPlayer++;
                else
                    found = true;
            }
            if (_joueurO != null)
            {
                listePos.Add(Player.OUEST);
                if (_currentPlayer != _joueurO && !found)
                    indexCurPlayer++;
                else
                    found = true;
            }
            if (_joueurN != null)
            {
                listePos.Add(Player.NORD);
                if (_currentPlayer != _joueurN && !found)
                    indexCurPlayer++;
                else
                    found = true;
            }
            if (_joueurE != null)
            {
                listePos.Add(Player.EST);
                if (_currentPlayer != _joueurE && !found)
                    indexCurPlayer++;
                else
                    found = true;
            }

            indexCurPlayer++;
            indexCurPlayer %= _nbPlayer;

            _currentPlayer = getPlayer(listePos[indexCurPlayer]);

            // On a le joueur suivant, on reset sa dernière combo

            _currentPlayer.lastCombo().reset();
        }
コード例 #6
0
        public void initGame()
        {
            // Step 1 : On choisit le joueur qui commence au hasard.
            Random rand = new Random();

            //      Step 1.1 : On dresse une liste des joueurs disponibles
            List<int> listePos = new List<int>();
            if (_joueurS != null) listePos.Add(Player.SUD);
            if (_joueurO != null) listePos.Add(Player.OUEST);
            if (_joueurN != null) listePos.Add(Player.NORD);
            if (_joueurE != null) listePos.Add(Player.EST);

            //      Step 1.2 : On choisit aléatoirement lequel de ces joueur sera celui qui commence
            int numPlay = rand.Next(0, listePos.Count - 1);
            _currentPlayer = getPlayer(listePos[numPlay]);

            // Step 2 : On dit que le jeu a commencé.
            gameStarted = true;
        }
コード例 #7
0
 public void setTargetPlayer(int position)
 {
     switch (position)
     {
         case Game_classes.Player.NORD:
             targetPlayer = _game.playerN;
             break;
         case Game_classes.Player.SUD:
             targetPlayer = _game.playerS;
             break;
         case Game_classes.Player.EST:
             targetPlayer = _game.playerE;
             break;
         case Game_classes.Player.OUEST:
             targetPlayer = _game.playerO;
             break;
     }
 }
コード例 #8
0
        private Player _player; //Données du modèle

        #endregion Fields

        #region Constructors

        // Constructeurs                    ======================================================================================================
        public MdlCarteJoueur(Player p)
            : base()
        {
            _player = p;
        }
コード例 #9
0
 public void indicatorAt(string text, Player p)
 {
     switch (p.position())
     {
         case Player.SUD: ZoneJoueurS.showIndicator(text); break;
         case Player.OUEST: ZoneJoueurO.showIndicator(text); break;
         case Player.NORD: ZoneJoueurN.showIndicator(text); break;
         case Player.EST: ZoneJoueurE.showIndicator(text); break;
         default: break;
     }
 }