/// <summary> /// 除法 /// </summary> /// <param name="digitID"></param> /// <param name="operandID"></param> /// <returns></returns> private List <int> GetDivisionInstance() { if (workList.Count <= 0) { return(null); } int index = Random.Range(0, workList.Count); List <int> instance = workList[index]; int product = GetProduct(instance); instance = Shuffle(instance); instance.Insert(0, product); workList.RemoveAt(index); return(instance); }
/// <summary> /// 减法 /// </summary> /// <param name="digitID"></param> /// <param name="operandID"></param> /// <returns></returns> private List <int> GetSubtractionInstance() { List <int> instance = null; int difference = 0; int min = (int)Mathf.Pow(10, (int)CurCategoryInstance.digitID + 1); int max = (int)Mathf.Pow(10, (int)CurCategoryInstance.digitID + 2); do { instance = GetInstance(min, max, (int)CurCategoryInstance.operandID); }while (CanDividedByTen(instance) || HasInstance(instance) || IsRepeat(instance) || !CanMinus(instance, min, out difference)); checkList.Add(instance); int minuend = instance[0]; instance.RemoveAt(0); instance = Shuffle(instance); instance.Insert(0, minuend); instance.Add(difference); return(instance); }