コード例 #1
0
 public bool UpdateDeckPile(GameTime gameTime, IHand hand)
 {
     if (hand is PlayerHand)
     {
         isPlayer1 = true;
     }
     else if (hand is AIHand)
     {
         isPlayer1 = false;
     }
     if (!SSEngine.IsACardMoving)
     {
         SSEngine.IsACardMoving = true;
         deckPile[2].IsCovered  = false;
         deckPile[2].IsMoving   = true;
         deckPile[2].CourseToCard(hand.GetNextHandPosition());
         elapsedTime = gameTime.TotalGameTime.TotalMilliseconds;
         drawEffect.Play();
     }
     else if (deckPile[2].Time >= gameTime.TotalGameTime.TotalMilliseconds - elapsedTime && deckPile[2].IsMoving)
     {
         deckPile[2].Move(gameTime, deckPile[0].Position, hand.GetNextHandPosition());
     }
     else if (deckPile[2].Time < gameTime.TotalGameTime.TotalMilliseconds - elapsedTime && deckPile[2].IsMoving)
     {
         hand.AddCardToHand(deckPile[deckPile.Count - 1].Clone());
         deckPile.RemoveAt(deckPile.Count - 1);
         deckPile[2].Position    = deckPile[0].Position;
         deckPile[2].Destination = deckPile[2].CollisionRectangle;
         SSEngine.IsACardMoving  = false;
         deckPile[2].IsMoving    = false;
         elapsedTime             = 0.0;
         setEffect.Play();
         return(true);
     }
     return(false);
 }