Exemplo n.º 1
0
    /// <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);
    }
Exemplo n.º 2
0
    /// <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);
    }