Example #1
0
    private string[] CreateAnswers(int answersCount, OperationPoint lostOperation)
    {
        if (answersCount < 2 || answersCount > 4)
        {
            Debug.LogError("wrong answers count");
        }

        List <string> answerList = new List <string>();

        answerList.Add(lostOperation.operation);

        List <string> allOperations = new string[] { "+", "-", "×", "/" }.ToList();

        allOperations.Remove(lostOperation.operation);
        System.Random rnd                 = new System.Random();
        string[]      allOperationsRandom = allOperations.OrderBy(x => rnd.Next()).ToArray();

        for (int i = 0; i < answersCount - 1; i++)
        {
            answerList.Add(allOperationsRandom[i]);
        }

        return(answerList.OrderBy(x => rnd.Next()).ToArray());
        //return answerList.ToArray();
    }
Example #2
0
    private void CollectTo(List <OperationPoint> operationPoints, IEnumerable <int> adding, string operation)
    {
        for (int i = 0; i < adding.Count(); i++)
        {
            OperationPoint operationPoint = new OperationPoint(adding.ElementAt(i), operation);
            operationPoints.Add(operationPoint);

            //Debug.Log($"operation : {operationPoint.position} '{operationPoint.operation}'");
        }
    }
        public static bool AddCheckGlassOperation(Guid personnelId, string realName, Guid identifyKey, string identifyCode)
        {
            var operationLogInfo = OperationPoint.Create(personnelId, realName, identifyKey, identifyCode,
                                                         OperationPoint.ProcessingFrameGlassManage.Check.GetBusinessInfo(), 1, string.Empty);

            using (var client = new WriteClient("OperationWriteService"))
            {
                var result = client.AddOperationLog(operationLogInfo);
                return(result != null && result.IsSuccess);
            }
        }
Example #4
0
    public QuestionData CreateQuestion()
    {
        QuestionData questionData = new QuestionData();

        questionData.value = _numericData.value.ToString();

        string equality = _numericData.elements[_questionVariant].equality;
        List <OperationPoint> operationPoints = new List <OperationPoint>();

        OperationPoint lostOperation = FindOperationForLost(equality, operationPoints);

        questionData.question = string.Copy(equality);
        questionData.question = questionData.question.Remove(lostOperation.position, 1);
        questionData.question = questionData.question.Insert(lostOperation.position, " ? ");

        questionData.answers = CreateAnswers(2, lostOperation);

        questionData.rightAnswer = lostOperation.operation;

        return(questionData);
    }
        public static Operation createOperation(string operation)
        {
            Operation oper = null;

            switch (operation)
            {
            case "+":
                oper = new OperationAdd();
                break;

            case "-":
                oper = new OperationSub();
                break;

            case "*":
                oper = new OperationMul();
                break;

            case "/":
                oper = new OperationDiv();
                break;

            case "SquareRoot":
                oper = new OperationSquareRoot();
                break;

            case ".":
                oper = new OperationPoint();
                break;

            case "+/-":
                oper = new OperationPosAndNeg();
                break;

            default:
                break;
            }
            return(oper);
        }