/// <summary> /// 組札に移動しても問題がない(移動するカードより下のランクのカードが全て組札に移動ずみ)か /// </summary> /// <param name="freeCell"></param> /// <param name="card">移動するカード</param> /// <returns>問題が無い場合はtrue</returns> public static bool IsMovedFoundationNoProblem(this FreeCell freeCell, Card card) => freeCell.CanMoveFoundation(card) && ( card.Rank == Rank.Ace || card.Rank == Rank.Two || freeCell.Where(pair => pair.Key.Rank == card.Rank.Down()).All(pair => pair.Value is Foundation));