コード例 #1
0
ファイル: TakenGemsPanel.cs プロジェクト: Middlederg/Splendor
        private void UpdateElements()
        {
            var gems    = GetSelectedGems().ToList();
            var service = new TakeGemsService(CurrentPlayer, Market, gems.ToArray());

            BtnOk.Visible       = service.CanBeTaken();
            LabelInfo.Text      = service.ToString();
            LabelInfo.ForeColor = service.CanBeTaken() ? Configuration.SuccessColor : Configuration.ErrorColor;
        }
コード例 #2
0
        public void ShouldNotAddGems()
        {
            var service = new TakeGemsService(game.CurrentPlayer,
                                              game.Market, Gems.Onyx, Gems.Sapphire);

            service.CanBeTaken().Should().BeTrue();
            service.ShouldReturnGemsToMarket().Should().BeFalse();
            service.GemsToReturnToMarket().Should().Be(0);
            service.Take();
            game.CurrentPlayer.Gems.Should().ContainEquivalentOf(Gems.Onyx);
            game.CurrentPlayer.Gems.Should().ContainEquivalentOf(Gems.Sapphire);
            game.CurrentPlayer.Gems.Count.Should().Be(2);
            game.Market.AvaliableOfType(Gems.Onyx).Should().Be(3);
            game.Market.AvaliableOfType(Gems.Sapphire).Should().Be(3);
        }
コード例 #3
0
        private void Take(Gem[] gems)
        {
            var service = new TakeGemsService(game.CurrentPlayer, game.Market, gems);

            service.Take();
        }