public NoRuleGame(Encampment firstPlayerEncampment)
        {
            SeasonSequencer = new SeasonSequencer(Observable.Empty <IReadOnlyPlayer>(), new AnonymousSeasonDeclarationProvider(), 4);

            FirstPlayer  = new Player(firstPlayerEncampment);
            SecondPlayer = new Player(Terminologies.GetReversal(firstPlayerEncampment));
            CurrentTurn  = FirstOrSecond.First;

            var frontPlayer = GetPlayer(Encampment.Front);
            var backPlayer  = GetPlayer(Encampment.Back);

            Board = BoardFactory.Create(frontPlayer, backPlayer);
        }
        public static Encampment GetReversal(Encampment encampment)
        {
            switch (encampment)
            {
            case Encampment.Front:
                return(Encampment.Back);

            case Encampment.Back:
                return(Encampment.Front);

            default:
                throw new System.ArgumentException("値が無効です.");
            }
        }
 public static void UnregisterEncampment(FactionType factionType, Encampment encampment)
 {
     Factions[factionType].Encampments.Remove(encampment);
 }
 public static void RegisterEncampment(FactionType factionType, Encampment encampment)
 {
     Factions[factionType].Encampments.Add(encampment);
 }
Beispiel #5
0
 internal Player(Encampment encampment)
 {
     Encampment = encampment;
 }
Beispiel #6
0
 public MockPlayer(Encampment encampment)
 {
     this.Encampment = encampment;
 }