public StartField(NormalField firstSharedField)
 {
     this.firstSharedField = firstSharedField;
     tiles     = new List <TileModel>();
     firstLink = new NormalField();
     previous  = null;
 }
 public GameModel()
 {
     firstSharedField = new NormalField();
     startFieldBlack  = new StartField(firstSharedField);
     startFieldWhite  = new StartField(firstSharedField);
     playerBlack      = new PlayerModel(this, startFieldBlack);
     playerWhite      = new PlayerModel(this, startFieldWhite);
     dices            = new List <DiceModel>();
 }
        private void ConstructNormalField()
        {
            previous.SetNext(firstSharedField);
            previous = firstSharedField;
            SplitField split = new SplitField();

            for (int i = 0; i < 6; i++)
            {
                NormalField next = new NormalField();
                previous.SetNext(next);
                previous = next;
            }

            previous.SetNext(split);
            previous = split;
        }
 private void PlayerFirstFields()
 {
     for (int i = 0; i < 4; i++)
     {
         NormalField next = new NormalField();
         if (i == 0)
         {
             firstLink.SetNext(next);
             previous = next;
         }
         else
         {
             previous.SetNext(next);
             previous = next;
         }
     }
 }
 public void SetNext(NormalField next)
 {
     this.next = next;
 }