Example #1
0
        void showInstruction4(object obj)
        {
            mPage.ClearAll();

            CompCentralText text = new CompCentralText();

            text.PutTextToCentralScreen(
                "下面练习判断图形是否对称", "KaiTi", 30, ref mPage.mBaseCanvas,
                -100, System.Windows.Media.Color.FromRgb(255, 255, 255));

            CompCentralText text3 = new CompCentralText();

            text3.PutTextToCentralScreen(
                "在看完每幅图片后,请尽快单击           ", "KaiTi", 30, ref mPage.mBaseCanvas,
                -50, System.Windows.Media.Color.FromRgb(255, 255, 255));

            CompBtnNextPage btnOKexap = new CompBtnNextPage("看好了");

            btnOKexap.Add2Page(mPage.mBaseCanvas, FEITStandard.PAGE_BEG_Y + FEITStandard.PAGE_HEIGHT / 2
                               - text3.OUTHEIGHT / 2 - 55, 200);
            btnOKexap.mfOnAction = doNothing;

            CompCentralText text2 = new CompCentralText();

            text2.PutTextToCentralScreen(
                "然后判断给出的图形是否对称。", "KaiTi", 30, ref mPage.mBaseCanvas,
                0, System.Windows.Media.Color.FromRgb(255, 255, 255));

            //new FEITClickableScreen(ref mPage.mBaseCanvas, showBlankMask);
            CompBtnNextPage btn2 = new CompBtnNextPage("开始练习");

            btn2.Add2Page(mPage.mBaseCanvas, FEITStandard.PAGE_BEG_Y + 470, 0);
            btn2.mfOnAction = showBlankMask;
        }
Example #2
0
        void showIKnowBtn()
        {
            CompBtnNextPage btn = new CompBtnNextPage("看好了");

            btn.Add2Page(mPage.mBaseCanvas, FEITStandard.PAGE_BEG_Y + 450);
            btn.mfOnAction = onIKnowBtn;
        }
Example #3
0
        void showInstruction2(object obj)
        {
            mPage.ClearAll();
            //abc
            CompCentralText text = new CompCentralText();

            text.PutTextToCentralScreen(
                "         后两侧图形可以重合,是对称的。", "KaiTi", 30, ref mPage.mBaseCanvas,
                300, System.Windows.Media.Color.FromRgb(255, 255, 255));

            CompCentralText text0 = new CompCentralText();

            text0.PutTextToCentralScreen(
                "左右对折                             ", "KaiTi", 30, ref mPage.mBaseCanvas,
                300, System.Windows.Media.Color.FromRgb(0, 255, 0));

            putPicAtCanvas("symmInstruction.bmp");

            CompBtnNextPage btn = new CompBtnNextPage("上一页");

            btn.Add2Page(mPage.mBaseCanvas, FEITStandard.PAGE_BEG_Y + 470, -70);
            btn.mfOnAction = showInstruction1;

            CompBtnNextPage btn2 = new CompBtnNextPage("下一页");

            btn2.Add2Page(mPage.mBaseCanvas, FEITStandard.PAGE_BEG_Y + 470, 70);
            btn2.mfOnAction = showInstruction3;
        }
Example #4
0
        void showInstructionPage()
        {
            mPage.ClearAll();
            CompCentralText text = new CompCentralText();

            text.PutTextToCentralScreen(
                "下面练习同时完成这两个任务", "KaiTi", 30, ref mPage.mBaseCanvas,
                -100, System.Windows.Media.Color.FromRgb(255, 255, 255));


            CompCentralText text2 = new CompCentralText();

            text2.PutTextToCentralScreen(
                "请在做对称判断的同时", "KaiTi", 30, ref mPage.mBaseCanvas,
                0, System.Windows.Media.Color.FromRgb(255, 255, 255));


            CompCentralText text3 = new CompCentralText();

            text3.PutTextToCentralScreen(
                "记住随后出现的红点的位置", "KaiTi", 30, ref mPage.mBaseCanvas,
                100, System.Windows.Media.Color.FromRgb(255, 255, 255));

            CompBtnNextPage btn = new CompBtnNextPage("开始练习");

            btn.Add2Page(mPage.mBaseCanvas, FEITStandard.PAGE_BEG_Y + 470);
            btn.mfOnAction = go2PageNextStep;
        }
Example #5
0
        private void showFeedback()
        {
            mRTs.Add((mSW.ElapsedMilliseconds - 500));
            mSW.Stop();
            mSW.Reset();
            CompCentralText ct  = new CompCentralText();
            CompCentralText ct2 = new CompCentralText();
            //bool correctness = false;
            int correctCount = 0;


            for (int i = 0; i < mRealOrder[mGrandGroupAtIndex].Count; i++)
            {
                if (i < mAnswer.Count && mAnswer[i] == mRealOrder[mGrandGroupAtIndex][i])
                {
                    correctCount++;
                }
            }

            ct.PutTextToCentralScreen(
                "  这组属相(共" + mRealOrder[mGrandGroupAtIndex].Count + "个)中,",
                "KaiTi", 40, ref mPage.mBaseCanvas, 0, Color.FromRgb(255, 255, 255));

            ct2.PutTextToCentralScreen(
                "你记对了" + correctCount + "个",
                "KaiTi", 40, ref mPage.mBaseCanvas, 42, Color.FromRgb(255, 255, 255));

            if (mRealOrder[mGrandGroupAtIndex].Count == correctCount)
            {
                mCorrectness.Add(true);
            }
            else
            {
                mCorrectness.Add(false);
            }

            mAnswers.Add(mAnswer);

            mGrandGroupAtIndex++;

            if (mGrandGroupAtIndex ==
                mRealOrder.Count)
            {
                mfNext = mPage.nextStep;
            }
            else
            {
                mfNext = showAnimal;
            }

            CompBtnNextPage btn = new CompBtnNextPage("下一练习");

            btn.Add2Page(mPage.mBaseCanvas, FEITStandard.PAGE_BEG_Y + 470);
            btn.mfOnAction = oneSecBlackScreen;
        }
Example #6
0
        private void showCallingAttentionPage()
        {
            CompCentralText ct = new CompCentralText();

            ct.PutTextToCentralScreen("记忆测试" + mCharNum,
                                      "KaiTi", 50, ref mPage.amBaseCanvas, 0, Color.FromRgb(255, 255, 255));

            CompBtnNextPage btn = new CompBtnNextPage("开始");

            btn.Add2Page(mPage.amBaseCanvas, FEITStandard.PAGE_BEG_Y + 470);
            btn.mfOnAction = showBlackPage;
        }
Example #7
0
        private void showTitle()
        {
            clearAll();
            Title comp = new PairedAsso.Title();

            amBaseCanvas.Children.Add(comp);
            Canvas.SetTop(comp, FEITStandard.PAGE_BEG_Y + (FEITStandard.PAGE_HEIGHT - 600) / 2);
            Canvas.SetLeft(comp, FEITStandard.PAGE_BEG_X + (FEITStandard.PAGE_WIDTH - 800) / 2);

            //new FEITClickableScreen(ref amBaseCanvas, next);
            CompBtnNextPage btn = new CompBtnNextPage("开始");

            btn.Add2Page(amBaseCanvas, FEITStandard.PAGE_BEG_Y + 470);
            btn.mfOnAction = next;
        }
Example #8
0
        //Timer mIKnowBtnShower;

        public void showSymmPage()
        {
            Mouse.OverrideCursor = Cursors.Hand;
            mPage.ClearAll();

            //control component
            System.Windows.Controls.Image img_ctrl = new System.Windows.Controls.Image();

            //uri resource loading
            Uri uriimage = new Uri(LoaderSymmSpan.GetBaseFolder() + "SYMM\\" +
                                   mContent[mGrpAt].Trails[mItemAt].FileName);

            //image
            BitmapImage img = new BitmapImage(uriimage);

            //set to control
            img_ctrl.Source = img;
            img_ctrl.Width  = 600;
            img_ctrl.Height = 450;

            mPage.mBaseCanvas.Children.Add(img_ctrl);
            Canvas.SetTop(img_ctrl, FEITStandard.PAGE_BEG_Y + (FEITStandard.PAGE_HEIGHT - img_ctrl.Height) / 2);
            Canvas.SetLeft(img_ctrl, FEITStandard.PAGE_BEG_X + (FEITStandard.PAGE_WIDTH - img_ctrl.Width) / 2);

            mfRoute = showDualDeterPage;

            if (!mPractise)
            {
                arrangeAutoIKnowAndAutoFlipperInSymmPage();
            }
            else
            {
                if (mGrpAt == 0)
                {
                    CompBtnNextPage btn = new CompBtnNextPage("看好了");
                    btn.Add2Page(mPage.mBaseCanvas, FEITStandard.PAGE_BEG_Y + 450);
                    btn.mfOnAction = nextStep;
                }
                else
                {
                    arrangeAutoIKnowAndAutoFlipperInSymmPage();
                }
            }

            //record
            mPage.mRecorder.symmOnTime.Add(mPage.mTimer.GetElapsedTime());
        }
Example #9
0
        private void showInstruction()
        {
            mPage.ClearAll();

            LayoutInstruction li = new LayoutInstruction(ref mPage.mBaseCanvas);

            //li.addTitle(200, 0, "", "KaiTi", 50, Color.FromRgb(255, 255, 255));
            li.addInstruction(240, 0, 570, 200, " 下面先来练习一下记忆属相",
                              "KaiTi", 40, Color.FromRgb(255, 255, 255));

            mfNext = showAnimal;

            CompBtnNextPage btn = new CompBtnNextPage("开始练习");

            btn.Add2Page(mPage.mBaseCanvas, FEITStandard.PAGE_BEG_Y + 470);
            btn.mfOnAction = oneSecBlackScreen;
        }
Example #10
0
        public void ShowPic()
        {
            mWatch.Stop();
            mWatch.Reset();
            mWatch.Start();
            if (mAt < mSymmItems.Count)
            {
                mPage.ClearAll();

                putPicAtCanvas(mSymmItems[mAt].FileName);
                mRecorder.pracSymmPicName.Add(mSymmItems[mAt].FileName);

                CompBtnNextPage btn = new CompBtnNextPage("看好了");
                btn.Add2Page(mPage.mBaseCanvas, FEITStandard.PAGE_BEG_Y + 450);
                btn.mfOnAction = blankMask200withShowJudge;
            }
        }
Example #11
0
        public void ShowCallingAttentionPage()
        {
            CompCentralText ct = new CompCentralText();

            ct.PutTextToCentralScreen("下面开始呈现词对",
                                      "KaiTi", 32, ref mPage.amBaseCanvas, 0, Color.FromRgb(255, 255, 255));

            CompCentralText ct2 = new CompCentralText();

            ct2.PutTextToCentralScreen("请注意记",
                                       "KaiTi", 32, ref mPage.amBaseCanvas, 150, Color.FromRgb(0, 255, 0));

            CompBtnNextPage btn = new CompBtnNextPage("开始");

            btn.Add2Page(mPage.amBaseCanvas, FEITStandard.PAGE_BEG_Y + 470);
            btn.mfOnAction = afterCallingAttentionPagesBlack;
        }
Example #12
0
        private void showEndPage()
        {
            PARecorder rec = new PARecorder(this);

            rec.outputReport(FEITStandard.GetExePath() + "Report\\pa\\" +
                             mMainWindow.mDemography.GenBriefString() + ".txt");
            clearAll();
            CompCentralText ct = new CompCentralText();

            ct.PutTextToCentralScreen("本测验结束",
                                      "KaiTi", 32, ref amBaseCanvas, 0, Color.FromRgb(255, 255, 255));

            //new FEITClickableScreen(ref amBaseCanvas, close);
            CompBtnNextPage btn = new CompBtnNextPage("结束测验");

            btn.Add2Page(amBaseCanvas, FEITStandard.PAGE_BEG_Y + 470);
            btn.mfOnAction = testForward;
        }
Example #13
0
        private void loadInstructionComprehensivePrac()
        {
            ClearAll();

            mMeanRT = getMeanRT(mRTs);

            mLayoutInstruction.addInstruction(150, 100,
                                              FEITStandard.PAGE_WIDTH, 400,
                                              "下面练习一下同时完成这两项任务\r\n      请在做心算题的同时\r\n      记住随后出现的属相",
                                              "KaiTi", 40, Color.FromRgb(255, 255, 255));

            mCurrentStatus = PageAttr.practise;

            //new FEITClickableScreen(ref mBaseCanvas, blank1000WithNextStep);
            CompBtnNextPage btnGO = new CompBtnNextPage("开始练习");

            btnGO.Add2Page(mBaseCanvas, FEITStandard.PAGE_BEG_Y + 590);
            btnGO.mfOnAction = blank1000WithNextStep;
        }
Example #14
0
        void showInstruction1(object obj)
        {
            mPage.ClearAll();
            CompCentralText ct = new CompCentralText();

            ct.PutTextToCentralScreen("下面再来练习一下图形对称判断,",
                                      "KaiTi", 30, ref mPage.mBaseCanvas, -40, Color.FromRgb(255, 255, 255));

            CompCentralText ct2 = new CompCentralText();

            ct2.PutTextToCentralScreen("先了解一下怎样判断\r\n本任务中的图形是否对称。",
                                       "KaiTi", 30, ref mPage.mBaseCanvas, 40, Color.FromRgb(255, 255, 255));

            // new FEITClickableScreen(ref mPage.mBaseCanvas, showInstruction2);
            CompBtnNextPage btn = new CompBtnNextPage("下一页");

            btn.Add2Page(mPage.mBaseCanvas, FEITStandard.PAGE_BEG_Y + 470);
            btn.mfOnAction = showInstruction2;
        }
Example #15
0
        private void loadMainTitle()
        {
            ClearAll();
            mLayoutInstruction.addTitle(70, 0, "对称广度", "SimHei", 52, Color.FromRgb(255, 255, 255));
            mLayoutInstruction.addTitle(133, 105, "Operation Span", "Batang", 32, Color.FromRgb(255, 255, 255));
            mLayoutInstruction.addTitle(240, 5,
                                        "请你判断图形的对称性,并记住随后出现的红点位置。",
                                        "SimHei", 30, Color.FromRgb(255, 255, 255));
            mLayoutInstruction.addTitle(290, 0,
                                        "下面先来练习一下记忆红点位置",
                                        "SimHei", 30, Color.FromRgb(255, 255, 255));

            mStatus = StatusSS.singlePos;
            //new FEITClickableScreen(ref mBaseCanvas, nextStep);
            CompBtnNextPage btn = new CompBtnNextPage("下一页");

            btn.Add2Page(mBaseCanvas, FEITStandard.PAGE_BEG_Y + 470);
            btn.mfOnAction = BlankMask1000Next;
        }
Example #16
0
        private void loadInstructionPage2()
        {
            ClearAll();

            CompCentralText cct = new CompCentralText();

            cct.PutTextToCentralScreen("下面是正式测验", "KaiTi",
                                       38, ref mBaseCanvas, -50, Color.FromRgb(255, 255, 255));
            CompCentralText cct2 = new CompCentralText();

            cct2.PutTextToCentralScreen("请在做心算题的同时\r\n记住随后出现的属相", "KaiTi",
                                        38, ref mBaseCanvas, 50, Color.FromRgb(255, 255, 255));

            mCurrentStatus = PageAttr.test;
            //new FEITClickableScreen(ref mBaseCanvas, nextStep);
            CompBtnNextPage btnGO = new CompBtnNextPage("开始测验");

            btnGO.Add2Page(mBaseCanvas, FEITStandard.PAGE_BEG_Y + 550);
            btnGO.mfOnAction = nextStep;
        }
Example #17
0
        public void showEquation()
        {
            mWatch.Start();
            if (mPage.mbFixedItemMode)
            {
                mExpression = mEquations[mPosMark].Equation;
                mResult     = mEquations[mPosMark].Result;
            }
            else
            {
                if (mPosMark >= 0 && mPosMark < 8)
                {
                    mOSEM.GenEquation(ref mExpression, ref mResult, EquationType.NonCarry);
                }
                else if (mPosMark >= 8 && mPosMark < 16)
                {
                    mOSEM.GenEquation(ref mExpression, ref mResult, EquationType.Carry);
                }
            }

            mPage.ClearAll();
            CompCentralText cct = new CompCentralText();

            cct.PutTextToCentralScreen(mExpression + " ?",
                                       "Batang", 74, ref mPage.mBaseCanvas, 0, Color.FromRgb(255, 255, 255));

            /*Timer t = new Timer();
             * t.Elapsed += new ElapsedEventHandler(t_Elapsed2QuaterSecond);
             * t.Interval = 2000;
             * t.AutoReset = false;
             * t.Enabled = true;*/

            //new FEITClickableScreen(ref mPage.mBaseCanvas, equationClicked);

            CompBtnNextPage btn = new CompBtnNextPage("算好了");

            btn.Add2Page(mPage.mBaseCanvas, FEITStandard.PAGE_BEG_Y + 400);
            btn.mfOnAction = equationClicked;

            mfNext = showAnswer;
        }
Example #18
0
        private void loadTitlePage()
        {
            ClearAll();
            mLayoutInstruction.addTitle(70, 0, "操作广度", "KaiTi", 52, Color.FromRgb(255, 255, 255));
            mLayoutInstruction.addTitle(133, 105, "Operation Span", "Batang", 32, Color.FromRgb(255, 255, 255));
            mLayoutInstruction.addInstruction(240, 0, 600, 200,
                                              "请在做心算题的同时,记住随后出现的属相(十二生肖)",
                                              "KaiTi",
                                              42, Color.FromRgb(255, 255, 255));

            mCurrentStatus = PageAttr.practiseChar;

            //test////////////////////////////////////////////////////for stage control
            //mCurrentStatus = PageAttr.instructCompreh;
            //test above//////////////////////////////////////////////

            //new FEITClickableScreen(ref mBaseCanvas, nextStep);
            CompBtnNextPage btn = new CompBtnNextPage("下一页");

            btn.Add2Page(mBaseCanvas, FEITStandard.PAGE_BEG_Y + 470);
            btn.mfOnAction = nextStep;
        }
Example #19
0
        private void loadFinishPage()
        {
            ClearAll();

            CompCentralText cct  = new CompCentralText();
            CompCentralText cct2 = new CompCentralText();
            CompCentralText cct3 = new CompCentralText();

            cct.PutTextToCentralScreen("本次测验结束", "KaiTi",
                                       50, ref mBaseCanvas, -100, Color.FromRgb(255, 255, 255));

            cct2.PutTextToCentralScreen("请稍作休息进行其他测验", "KaiTi",
                                        50, ref mBaseCanvas, -35, Color.FromRgb(255, 255, 255));

            cct3.PutTextToCentralScreen("点击按钮继续", "KaiTi",
                                        50, ref mBaseCanvas, 30, Color.FromRgb(255, 255, 255));

            //new FEITClickableScreen(ref mBaseCanvas, exitOpSpan);
            CompBtnNextPage btnGO = new CompBtnNextPage("测验结束");

            btnGO.Add2Page(mBaseCanvas, FEITStandard.PAGE_BEG_Y + 490);
            btnGO.mfOnAction = exitOpSpan;
        }
Example #20
0
        private void showInstruction()
        {
            mPage.ClearAll();

            LayoutInstruction li = new LayoutInstruction(ref mPage.mBaseCanvas);

            //li.addTitle(200, 0, "算式练习", "KaiTi", 50, Color.FromRgb(255, 255, 255));
            li.addInstruction(200, 0, 638, 400,
                              "下面再来练习一下心算\r\n在完成每一心算题后请尽快单击         \r\n然后判断给出的心算答案是否正确",
                              "KaiTi", 40, Color.FromRgb(255, 255, 255));

            CompBtnNextPage btn = new CompBtnNextPage("算好了");

            btn.Add2Page(mPage.mBaseCanvas, FEITStandard.PAGE_BEG_Y + 290, 330);
            btn.mfOnAction = doNothing;

            mfNext = showEquation;

            CompBtnNextPage btnGO = new CompBtnNextPage("开始练习");

            btnGO.Add2Page(mPage.mBaseCanvas, FEITStandard.PAGE_BEG_Y + 490);
            btnGO.mfOnAction = oneSecBlackScreen;
        }
Example #21
0
        public bool showReportPage()//only in practise
        {
            mPage.ClearAll();

            CompCentralText ct  = new CompCentralText();
            CompCentralText ct2 = new CompCentralText();
            CompCentralText ct3 = new CompCentralText();

            ct.PutTextToCentralScreen("这组题(共" + mCurTrailsCount + "个)中,你",
                                      "KaiTi", 32, ref mPage.mBaseCanvas, -30, Color.FromRgb(255, 255, 255));
            ct2.PutTextToCentralScreen("记对了" + mOrderCorrectCount + "个属相",
                                       "KaiTi", 32, ref mPage.mBaseCanvas, 4, Color.FromRgb(255, 255, 255));
            ct3.PutTextToCentralScreen("做对了" + mMathCorrectCount + "个心算",
                                       "KaiTi", 32, ref mPage.mBaseCanvas, 36, Color.FromRgb(255, 255, 255));

            if (mGrpAt == mGroups.Count - 1)
            {
                //quit practise
                route = quit;
            }
            else
            {
                groupIterate();
                route = showLongBlackPage2Equation;
            }

            //new FEITClickableScreen(ref mPage.mBaseCanvas, mPage.nextStep);
            //delayAndNext(2000);

            CompBtnNextPage btn = new CompBtnNextPage("继续");

            btn.Add2Page(mPage.mBaseCanvas, FEITStandard.PAGE_BEG_Y + 470);
            btn.mfOnAction = mPage.nextStep;

            return(true);
        }
Example #22
0
        public bool showEquationPage()
        {
            mPage.ClearAll();

            if (!mPage.mbFixedItemMode)//if not fixed gen random
            {
                if (mPractiseMode)
                {
                    mOSEM.GenEquation(ref mEquation, ref mEquationResult, EquationType.NonCarry);
                }
                else
                {
                    if (mGrpAt < 2)//non-carry
                    {
                        mOSEM.GenEquation(ref mEquation, ref mEquationResult, EquationType.NonCarry);
                    }
                    else//carry
                    {
                        mOSEM.GenEquation(ref mEquation, ref mEquationResult, EquationType.Carry);
                    }
                }

                Random rdm = new Random();
                if (rdm.Next(0, 2) == 0)//set incorrect to show
                {
                    mGroups[mGrpAt].mTrails[mTraAt].result      = rdm.Next(0, 200).ToString();
                    mGroups[mGrpAt].mTrails[mTraAt].correctness = false;
                }
                else//set correct to show
                {
                    mGroups[mGrpAt].mTrails[mTraAt].result      = mEquationResult.ToString();
                    mGroups[mGrpAt].mTrails[mTraAt].correctness = true;
                }

                mGroups[mGrpAt].mTrails[mTraAt].equation = mEquation;
            }

            mGroups[mGrpAt].mTrails[mTraAt].equation += " ?";

            CompCentralText ct = new CompCentralText();

            ct.PutTextToCentralScreen(mGroups[mGrpAt].mTrails[mTraAt].equation,
                                      "Batang", 74, ref mPage.mBaseCanvas, 0, Color.FromRgb(255, 255, 255));

            route = showBlackPage2Determine;

            //record
            Timer t = null;

            //save rec
            mPage.mRecorder.mathOn.Add(mPage.mTimer.GetElapsedTime());
            mPage.mRecorder.mathExpression.Add(mGroups[mGrpAt].mTrails[mTraAt].equation);

            if (!mPractiseMode)
            {
                //overtime!
                t           = new Timer();
                t.Elapsed  += new ElapsedEventHandler(t_Overtime);
                t.Interval  = mPage.mMeanRT * 2;
                t.AutoReset = false;
                t.Enabled   = true;
            }

            //new FEITClickableScreen(ref mPage.mBaseCanvas, mPage.nextStep, ref t);
            CompBtnNextPage btn = new CompBtnNextPage("算好了", t);

            btn.Add2Page(mPage.mBaseCanvas, FEITStandard.PAGE_BEG_Y + 400);
            btn.mfOnAction = mPage.nextStep;

            return(true);
        }