コード例 #1
0
        public IEnumerable <View> RunTrial(string tst, string ans, int numstim, StreamWriter logWriter, StreamWriter anslog)
        {
            IViewResult result;
            var         vocabView = new VocabView(tst, ans, settings.DisplayTime, settings.DelayTime, false, anslog, out result);

            yield return(vocabView);

            //No feedback in original Karpicke and Roediger, but I'm leaving the option
            //yield return new TextView((bool)result.Value ? "Correct" : "Incorrect", settings.FeedbackTime, GUIUtils.Constants.DISPLAY_FONT);
            int towrite = 0;

            if ((bool)result.Value)
            {
                towrite = 1;
            }
            logWriter.WriteLine(numstim + ", " + towrite);

            //if (needToRerun)
            //{
            //    foreach (var view in RunTrial(index, tst, ans, dataWriter, logWriter, currentTrialEntries, pres))
            //    {
            //        yield return view;
            //    }
            //}
        }
コード例 #2
0
        public FormMain(SCIPackage package, SCIPackage translate)
        {
            _package   = package;
            _translate = translate;

            InitializeComponent();

            Text = package.GameDirectory;

            SetStyle(ControlStyles.OptimizedDoubleBuffer, true);

            sc.Panel2.Controls.Add(hexViewer  = new HexViewer());
            sc.Panel2.Controls.Add(textViewer = new TextViewer());
            sc.Panel2.Controls.Add(fontView   = new FontView());
            sc.Panel2.Controls.Add(scriptView = new ScriptView());
            sc.Panel2.Controls.Add(vocabView  = new VocabView());
            sc.Panel2.Controls.Add(msgView    = new MsgView());
            sc.Panel2.Controls.Add(picView    = new PicView());

            foreach (ResType resType in Enum.GetValues(typeof(ResType)))
            {
                var resources = package.GetResources(resType);
                if (!resources.Any())
                {
                    continue;
                }

                TreeNode tnRes = tv.Nodes.Add(ResTypeName(resType));
                tnRes.ImageKey         = "folder";
                tnRes.SelectedImageKey = tnRes.ImageKey;

                foreach (var res in resources)
                {
                    TreeNode tnRec = tnRes.Nodes.Add(res.ToString());
                    tnRec.ImageKey         = ResTypeKey(resType);
                    tnRec.SelectedImageKey = tnRec.ImageKey;
                    tnRec.Tag = res;
                }
            }

            if (_translate == null)
            {
                tsbTranslated.Checked = false;
                tsbTranslated.Visible = false;
                tsbSave.Visible       = false;
            }
        }
コード例 #3
0
        /// <summary>
        /// The enumerator implementation
        /// </summary>
        public override IEnumerator <View> GetEnumerator()
        {
            IViewResult result;

            yield return(new ChoiceView(new string[]
            {
                "Start Training Phase"
            }, out result)
            {
                Text = "Click When Ready"
            });

            for (int j = 0; j < comp.Count; j++)
            {
                yield return(new TextView(comp[j], 3000, GUIUtils.Constants.DISPLAY_FONT_LARGE));

                yield return(new RestView(1500));
            }
            yield return(new ChoiceView(new string[]
            {
                "Begin Testing"
            }, out result)
            {
                Text = "Click When Ready"
            });

            //Display each block of stimuli
            for (int j = 0; j < (settings.NumBlocks * 2); j++)
            {
                int limit = blocks[j].Count;
                for (int k = 0; k < limit; k++)
                {
                    //Rest
                    yield return(new RestView(this.settings.BlinkTime));

                    //Fixate
                    yield return(new FixationView(this.settings.FixationTime));

                    var stimulus = blocks[j].RemoveRandom();
                    //Generate stimulus view
                    yield return(new TextView(stimulus, 2000, GUIUtils.Constants.DISPLAY_FONT_LARGE));

                    yield return(new TextView(stimulus + "*", 1000, GUIUtils.Constants.DISPLAY_FONT_LARGE));
                }
                yield return(new ChoiceView(new string[]
                {
                    "Ready for next block"
                }, out result));
            }

            yield return(new ChoiceView(new string[]
            {
                "Start Study Phase"
            }, out result));

            foreach (var stim in study)
            {
                yield return(new TextView(stim, this.settings.PresentationTime, GUIUtils.Constants.DISPLAY_FONT_LARGE));

                yield return(new RestView(this.settings.RestTime));
            }


            yield return(new ChoiceView(new string[]
            {
                "Start Practice Phase"
            }, out result));

            //Present all the stimuli for practice
            foreach (var stimulus in presentation)
            {
                yield return(new RestView(this.settings.RestTime));

                yield return(new FixationView(this.settings.FixationTime));

                if (stimulus.isStudy)
                {
                    yield return(new TextView(stimulus.test, this.settings.PresentationTime,
                                              GUIUtils.Constants.DISPLAY_FONT_LARGE));
                }
                else
                {
                    VocabView vocabView = new VocabView(stimulus.test, stimulus.answer, this.settings.PresentationTime, this.settings.DelayTime,
                                                        false, out result);
                    yield return(vocabView);
                }
            }
        }