示例#1
0
文件: Woman.cs 项目: gwalton2/CS155
 public bool Prefer(Man man)
 {
     if (null != engaged)
     {
         foreach (Man m in rank)
         {
             if (m.Equals(man))
             {
                 engaged.ChangeStatus();
                 return(true);
             }
             if (m.Equals(engaged))
             {
                 return(false);
             }
         }
     }
     return(true);
 }
示例#2
0
        public void pair()
        {
            Man m = GetFree(men);

            while (m != null)
            {
                Woman w = m.GetChoice();
                while (m.IsFree())
                {
                    if (w.Prefer(m))
                    {
                        w.SetEngaged(m);
                        m.ChangeStatus();
                    }
                    m.Next();
                    w = m.GetChoice();
                }
                m = GetFree(men);
            }
        }