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(); }
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); } }
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); }