Changeset 37593 for lang/csharp
- Timestamp:
- 05/17/10 01:09:29 (3 years ago)
- Location:
- lang/csharp/DominionEngine
- Files:
-
- 2 modified
-
DominionEngine.Core.Test/PlayerInfoTest.cs (modified) (2 diffs)
-
DominionEngine.Core/PlayerInfo.cs (modified) (4 diffs)
Legend:
- Unmodified
- Added
- Removed
-
lang/csharp/DominionEngine/DominionEngine.Core.Test/PlayerInfoTest.cs
r37585 r37593 153 153 } 154 154 155 [Test] 156 public void Draw_With_Number_Before_LessThan() 157 { 158 Card card1 = new Card<CardInfo.Copper>(); 159 Card card2 = new Card<CardInfo.Copper>(); 160 Card card3 = new Card<CardInfo.Copper>(); 161 player.discardPile.Add(card1);// 1559595546 162 player.discardPile.Add(card2);// 1755192844 163 player.discardPile.Add(card3);// 1649316166 164 165 player.Draw(4); 166 167 Assert.That(player.Hand.Count, Is.EqualTo(3)); 168 Assert.That(player.Hand[0], Is.SameAs(card1)); 169 Assert.That(player.Hand[1], Is.SameAs(card3)); 170 Assert.That(player.Hand[2], Is.SameAs(card2)); 171 } 172 155 173 #endregion 156 174 … … 163 181 player.deck.Add(card1);// 1559595546 164 182 player.deck.Add(card2);// 1755192844 165 player.d eck.Add(card3);// 1649316166183 player.discardPile.Add(card3);// 1649316166 166 184 167 185 player.Shuffle(); 186 187 Assert.That(player.DiscardPile.Count, Is.EqualTo(0)); 168 188 169 189 Assert.That(player.Deck.Count, Is.EqualTo(3)); -
lang/csharp/DominionEngine/DominionEngine.Core/PlayerInfo.cs
r37585 r37593 150 150 } 151 151 152 /// <summary> 153 /// 山札から1枚ドローする 154 /// </summary> 152 155 public void Draw() 153 156 { … … 155 158 } 156 159 160 /// <summary> 161 /// 山札からドローする 162 /// </summary> 163 /// <param name="quantity">枚数</param> 157 164 public void Draw(int quantity) 158 165 { … … 164 171 { 165 172 quantity -= Deck.Count; 166 hand.MoveFrom(deck );173 hand.MoveFrom(deck, quantity); 167 174 } 168 175 169 176 // その後、捨札をデッキに戻しシャッフル 170 deck.MoveFrom(discardPile);171 if (deck.Count == 0) return;172 173 177 Shuffle(); 178 179 // シャッフルしても枚数が足りなければ残り全部をドロー枚数にする 180 if (deck.Count < quantity) quantity = Deck.Count; 174 181 } 175 182 … … 178 185 } 179 186 187 /// <summary> 188 /// 捨札をデッキに戻し、シャッフルする 189 /// </summary> 180 190 public void Shuffle() 181 191 { 192 deck.MoveFrom(discardPile); 182 193 deck.Shuffle(game.Random); 183 194 } 184 195 196 /// <summary> 197 /// カードを取得する 198 /// </summary> 199 /// <param name="card"></param> 185 200 public void Gain(Card card) 186 201 {
![(please configure the [header_logo] section in trac.ini)](/share/chrome/site/your_project_logo.png)