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; }
// 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} }; }
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; } } }
// 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; } }
/// <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(); }
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; }
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; } }
private Player _player; //Données du modèle #endregion Fields #region Constructors // Constructeurs ====================================================================================================== public MdlCarteJoueur(Player p) : base() { _player = p; }
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; } }