示例#1
0
        public OE_ASSESS(Minigames.NestTest inNest, float inTime)
        {
            this.subj = Subject.NUM;

            this.mc = Microconcepts.EvaluateConcepts(inNest);

            this.qid = "ek.n.minigame-make10";

            this.qtype  = QuestionType.FIB;
            this.qlevel = QuestionLevel.EASY;

            this.pass = inNest.WinState ? Pass.Yes : Pass.No;
            this.mmc  = inNest.WinState ? EMPTY_PARAMS : this.mc;

            this.score    = inNest.WinState ? 1.0f : 0;
            this.maxscore = 1;

            this.res   = new string[] { inNest.Holder.Count.ToStringLookup() };
            this.exres = new string[] { inNest.Holder.NumSeats.ToStringLookup() };

            this.length   = inTime;
            this.exlength = 0.0f;

            this.atmpts       = 1;
            this.failedatmpts = inNest.WinState ? 0 : 1;

            this.uri = string.Empty;

            this.expression     = "Make 10";
            this.expressionType = ExpressionType.NestMinigame;

            this.operation = OperationType.add;
        }
示例#2
0
        public OE_ASSESS(int inLevelIndex, Level inLevel, int inResult, int inAttempts, float inTime, bool inPass)
        {
            this.subj = Subject.NUM;

            this.mc = Microconcepts.EvaluateConcepts(inLevel);

            this.qid = inLevel.qid;

            this.qtype  = QuestionType.FIB;
            this.qlevel = EvaluateDifficulty(inLevel);

            this.pass = inPass ? Pass.Yes : Pass.No;

            this.mmc = inPass ? EMPTY_PARAMS : this.mc; // Unfinished(?)

            this.score    = inPass ? 1.0f / inAttempts : 0;
            this.maxscore = 1;

            this.res   = new string[] { FGUnity.Utils.LookupTables.ToStringLookup(inResult) };
            this.exres = new string[] { FGUnity.Utils.LookupTables.ToStringLookup(inLevel.value) };

            this.length   = inTime;
            this.exlength = 0; // How will we calculate this?

            this.atmpts       = inAttempts;
            this.failedatmpts = inPass ? inAttempts - 1 : inAttempts;

            this.uri = string.Empty;

            this.expression     = inLevel.expression;
            this.expressionType = inLevel.isTargetNumber ? ExpressionType.TargetNumber : ExpressionType.Expression;
            this.operation      = inLevel.isTargetNumber ? OperationType.target : (inLevel.isAdditionProblem ? OperationType.add : OperationType.sub);
            this.isNumberPanel  = inLevel.useNumberPad;
            this.isSeatbelted   = inLevel.seatbelts;
            this.isTensPlane    = inLevel.tensColumnEnabled;
            this.sawHint        = Session.instance.currentHint;

            this.var1 = inLevel.expTop;
            this.var2 = inLevel.expBottom;
        }
示例#3
0
        public OE_ASSESS(Minigames.ExpressionMinigame inMinigame, float inTime)
        {
            this.subj = Subject.NUM;

            this.mc = Microconcepts.EvaluateConcepts(inMinigame);

            this.qid = "ek.n.minigame-expression";

            this.qtype  = QuestionType.MCQ;
            this.qlevel = EvaluteDifficulty(inMinigame.Level);

            this.pass = inMinigame.WinState ? Pass.Yes : Pass.No;
            this.mmc  = inMinigame.WinState ? EMPTY_PARAMS : this.mc;

            this.score    = inMinigame.WinState ? 1.0f : 0;
            this.maxscore = 1;

            this.res   = new string[] { inMinigame.WinState?inMinigame.Level.Value.ToString() : "" };
            this.exres = new string[] { inMinigame.Level.Value.ToString() };

            this.length   = inTime;
            this.exlength = 0.0f;

            this.atmpts       = 1;
            this.failedatmpts = inMinigame.WinState ? 0 : 1;

            this.uri = string.Empty;

            this.expression     = BuildExpressionMinigameString(inMinigame.Level);
            this.expressionType = ExpressionType.ExpressionMinigame;

            if (inMinigame.Level.FixedOperator)
            {
                this.operation = (inMinigame.Level.Operator == Minigames.OperatorType.Add ? OperationType.add : OperationType.sub);
            }
            else
            {
                this.operation = OperationType.mixed;
            }
        }