Changeset 37784

Show
Ignore:
Timestamp:
06/02/10 16:28:11 (3 years ago)
Author:
isaisstillalive
Message:
  • ChooseしてDiscardするメソッドを追加
Location:
lang/csharp/DominionEngine
Files:
3 modified

Legend:

Unmodified
Added
Removed
  • lang/csharp/DominionEngine/DominionEngine.CardInfo.Base/Cellar.cs

    r37782 r37784  
    1313        { 
    1414            //Discard any number of cards. 
    15             var discardCards = Player.Choose(new AnyPlayer.ChooseOptions(CardPosition.Hand, 0, Player.Card)); 
    16             discardCards.Discard(); 
     15            var discardCards = Discard(new AnyPlayer.ChooseOptions(CardPosition.Hand, 0, Player.Card)); 
    1716            //+1 Card per card discarded. 
    1817            Player.Card += discardCards.Count(); 
  • lang/csharp/DominionEngine/DominionEngine.CardInfo.Test/DDL/CardInfoTest.cs

    r37718 r37784  
    5252 
    5353        [Test] 
    54         public void Trash() 
     54        public void Trash_ThisCard() 
    5555        { 
    5656            Global.TurnPlayer = 1; 
     
    7272 
    7373        [Test] 
    74         public void Trash_Choose() 
     74        public void Discard() 
    7575        { 
    7676            Global.TurnPlayer = 1; 
    7777 
     78            MockCardInfo cardInfo = new MockCardInfo(); 
     79 
     80            AnyPlayer.ChoosingEventArgs choosingArgs = null; 
     81            AnyPlayer.Choosing += (sender, e) => 
     82            { 
     83                choosingArgs = e; 
     84                e.Result = new Card[] { new Card(cardInfo, CardPosition.Hand(0)) }; 
     85            }; 
    7886            Card.MovingEventArgs movingArgs = null; 
    7987            Card.Moving += (sender, e) => 
     
    8290            }; 
    8391 
    84             MockCardInfo cardInfo = new MockCardInfo(); 
     92            AnyPlayer.ChooseOptions options = new AnyPlayer.ChooseOptions(CardPosition.Hand(0), 1); 
     93            cardInfo.Discard(options); 
    8594 
    86             cardInfo.Trash(); 
     95            Assert.That(choosingArgs.From, Is.EqualTo(options.From)); 
     96            Assert.That(choosingArgs.Filter, Is.EqualTo(options.Filter)); 
     97            Assert.That(choosingArgs.MinQuantity, Is.EqualTo(options.MinQuantity)); 
     98            Assert.That(choosingArgs.MaxQuantity, Is.EqualTo(options.MaxQuantity)); 
    8799 
    88100            Assert.That(movingArgs.From.CardInfo, Is.EqualTo(cardInfo)); 
    89             Assert.That(movingArgs.From.Position, Is.EqualTo(CardPosition.PlayArea(1))); 
    90             Assert.That(movingArgs.ToPosition, Is.EqualTo(CardPosition.Trash)); 
     101            Assert.That(movingArgs.From.Position, Is.EqualTo(CardPosition.Hand(0))); 
     102            Assert.That(movingArgs.ToPosition, Is.EqualTo(CardPosition.Discard(0))); 
    91103        } 
    92104 
  • lang/csharp/DominionEngine/DominionEngine.CardInfo/DDL/CardInfo.cs

    r37718 r37784  
    3232        } 
    3333 
     34        protected internal CardList Discard(AnyPlayer.ChooseOptions options) 
     35        { 
     36            CardList discardCards = Player.Choose(options); 
     37            discardCards.Discard(); 
     38            return discardCards; 
     39        } 
     40 
    3441        #endregion 
    3542