Exemple #1
0
        /// <summary>
        /// 交換兩個符號的位置 (可與集合外的符號做交換)
        /// </summary>
        /// <param name="src"></param>
        /// <param name="dest"></param>
        /// <returns></returns>
        public bool Swap(NumberDisk src, NumberDisk dest)
        {
            int srcIdx = IndexOf(src);

            if (srcIdx < 0)
            {
                return(false);
            }
            int destIdx = IndexOf(dest);

            if (destIdx < 0)
            {
                _symbolDiskList [srcIdx] = dest;
            }
            else
            {
                _symbolDiskList.Swap(srcIdx, destIdx);
            }
            return(true);
        }
Exemple #2
0
 /// <summary>
 /// 刪除 符號
 /// </summary>
 /// <param name="symbol"></param>
 /// <returns></returns>
 public bool Remove(NumberDisk symbol)
 {
     return(_symbolDiskList.Remove(symbol));
 }
Exemple #3
0
 public int IndexOf(NumberDisk symbol)
 {
     return(_symbolDiskList.IndexOf(symbol));
 }
Exemple #4
0
 public Dispenser Insert(int index, NumberDisk symbol)
 {
     _symbolDiskList.Insert(index, symbol);
     return(this);
 }
Exemple #5
0
 /// <summary>
 /// 加入符號至尾端
 /// </summary>
 /// <param name="symbol"></param>
 /// <returns></returns>
 public Dispenser Append(NumberDisk symbol)
 {
     _symbolDiskList.Add(symbol);
     return(this);
 }