Ejemplo n.º 1
0
        private void MakeMistake(ref string text, double mistakeCount)
        {
            while (_mistakeCounter >= 1)
            {
                var randomIndex = random.Next(0, text.Length - 1);

                switch (_mistakeType)
                {
                case Mistakes.Switch:
                    _mistakeType = Mistakes.AddChar;
                    var chararray = text.ToCharArray();
                    Array.Reverse(chararray, randomIndex, 2);
                    text = new string(chararray);
                    break;

                case Mistakes.AddChar:
                    text         = text.Insert(randomIndex, $"{_symbols[random.Next(0, _symbols.Length)]}");
                    _mistakeType = Mistakes.RemoveChar;
                    break;

                case Mistakes.RemoveChar:
                    text         = text.Remove(randomIndex, 1);
                    _mistakeType = Mistakes.Switch;
                    break;
                }
                _mistakeCounter--;
            }
            _mistakeCounter += mistakeCount;
        }
Ejemplo n.º 2
0
 public void CreateMistake(string mistake, int minusPoints = 1)
 {
     if (Mistakes.ContainsKey(mistake))
     {
         Mistakes[mistake] += minusPoints;
     }
     else
     {
         Mistakes.Add(mistake, minusPoints);
     }
 }
Ejemplo n.º 3
0
        //存表的信息
        int IMistakes.Insert(Mistakes mistakes)
        {
            string sql = "insert into Mistakes values(@UserID,@ObID,@MisTime)";

            SqlParameter[] sp = new SqlParameter[]
            {
                new SqlParameter("@UserID", mistakes.UserID),
                new SqlParameter("@ObID", mistakes.ObID),
                new SqlParameter("@MisTime", mistakes.MisTime)
            };
            return(DBHelper.GetExcuteNonQuery(sql, sp));
        }
Ejemplo n.º 4
0
    private void Start()
    {
        SolvedCadences = PlayerPrefs.GetInt("Solved Cadences", 0);
        Mistakes       = PlayerPrefs.GetInt("Mistakes", 0);
        FailedCadences = PlayerPrefs.GetInt("Failed Cadences", 0);
        Score          = PlayerPrefs.GetInt("Score", 0);

        GameObject.Find("Failed").GetComponent <Text>().text = "Failed: " + FailedCadences.ToString();

        GameObject.Find("Errors").GetComponent <Text>().text = "Mistakes: " + Mistakes.ToString();

        GameObject.Find("Solved").GetComponent <Text>().text = "Solved: " + SolvedCadences.ToString();

        GameObject.Find("Score").GetComponent <Text>().text = "Score: " + Score;
    }
Ejemplo n.º 5
0
 public static int Insert(Mistakes mistakes)
 {
     return(imistakes.Insert(mistakes));
 }
Ejemplo n.º 6
0
        protected void Button1_ServerClick1(object sender, EventArgs e)
        {
            //获取考卷ID
            int KaoJuanId  = int.Parse(Request.QueryString["id"].ToString());
            int sum        = 0;                                                                //初始化对的信息 默认为0个
            int Score      = 0;                                                                //初始化分数的信息 默认为0分
            int singlemark = int.Parse(((Label)GridView1.Rows[0].FindControl("Label4")).Text); //每一道单选题的分数

            foreach (GridViewRow dr in GridView1.Rows)

            //遍历每一行的数据
            {
                string str = "";
                if (((RadioButton)dr.FindControl("RadioButton1")).Checked)
                {
                    str = "A";
                }
                else if (((RadioButton)dr.FindControl("RadioButton2")).Checked)
                {
                    str = "B";
                }
                else if (((RadioButton)dr.FindControl("RadioButton3")).Checked)
                {
                    str = "C";
                }
                else if (((RadioButton)dr.FindControl("RadioButton4")).Checked)
                {
                    str = "D";
                }
                //逐个 判断 某一个单选框是否选中 即  选择的答案 ABCD  哪一个
                if (((Label)dr.FindControl("Label3")).Text.Trim() == str)
                //用户选择的答案 和正确答案 对比
                {
                    sum   = sum + 1;
                    Score = Score + singlemark;
                    //分数 增加
                    string   title = ((Label)dr.FindControl("Label2")).Text.Trim();
                    int      fid   = int.Parse(((Label)dr.FindControl("Label111")).Text.Trim());
                    UserPage up    = new UserPage();
                    up.Fid       = fid;
                    up.Title     = title;
                    up.UserID    = int.Parse(Session["UserID"].ToString());
                    up.KaoJuanID = KaoJuanId;
                    up.UserAns   = str;
                    UserPageService.Insert(up);
                    //将信息再插入到 用户试卷题目表里
                }
                else
                {
                    string   title = ((Label)dr.FindControl("Label2")).Text.Trim();
                    int      fid   = int.Parse(((Label)dr.FindControl("Label111")).Text.Trim());
                    UserPage up    = new UserPage();
                    up.Fid       = fid;
                    up.Title     = title;
                    up.UserID    = int.Parse(Session["UserID"].ToString());
                    up.KaoJuanID = KaoJuanId;
                    up.UserAns   = str;
                    UserPageService.Insert(up);
                    Mistakes Mt = new Mistakes();
                    Mt.UserID  = int.Parse(Session["UserID"].ToString());
                    Mt.ObID    = fid;
                    Mt.MisTime = DateTime.Now;
                    MistakesService.Insert(Mt);
                    //将信息再插入到 用户试卷题目表和错题表里
                }
                int id = int.Parse(Request.QueryString["id"].ToString());
                Session["KaoshiID"] = id;
                string UserName = Session["UserName"].ToString();
                //插入到 分数表 和 学生考试表
                Score sc = new Score();
                sc.UserID    = int.Parse(Session["UserID"].ToString());
                sc.KaoJuanID = id;
                sc.Scores    = Score;
                sc.UserName  = UserName;
                sc.Sum       = sum;
                int    j  = ScoreService.Insert(sc);
                KaoShi ks = new KaoShi();
                ks.PageID = id;
                ks.UserID = int.Parse(Session["UserID"].ToString());
                int i = KaoShiService.Insert(ks);
                if (i >= 1 && j >= 1)
                {
                    Page.ClientScript.RegisterStartupScript(this.GetType(), "true", "<script>alert('答题成功!查看成绩!!');location='ExamResult.aspx'</script>");
                }
            }
        }
Ejemplo n.º 7
0
        public MistakesListViewModel(IDocumentService documentService, SpellChecker spellChecker)
        {
            _documentService = documentService;
            _spellChecker    = spellChecker;

            FindMistakesCommand = new DelegateCommand(_ =>
            {
                Mistakes.Clear();
                var words = _documentService.GetAllWords().ToList();
                foreach (var word in words)
                {
                    if (string.IsNullOrWhiteSpace(word.Literal))
                    {
                        continue;
                    }

                    if (_spellChecker.Check(word.Literal) == false)
                    {
                        var mistake = new MistakeViewModel
                        {
                            Start = word.Start,
                            End   = word.End,
                            Text  = word.Literal
                        };

                        mistake.Suggestions = _spellChecker.Suggest(word.Literal, 3)
                                              .Select(i => new SuggestionViewModel(mistake, i))
                                              .ToList();

                        Mistakes.Add(mistake);
                    }
                }
            });

            ApplyFixCommand = new DelegateCommand(p =>
            {
                var fix = p as SuggestionViewModel;
                if (fix is null)
                {
                    return;
                }

                Mistakes.Remove(fix.Parent);
                var word = _documentService.Replace(fix.Parent.Start, fix.Parent.End, fix.Text);
                _documentService.Select(word);
                var delta = fix.Parent.Text.Length - fix.Text.Length;

                foreach (var mistake in Mistakes.Where(m => m.Start > fix.Parent.Start))
                {
                    mistake.Start -= delta;
                    mistake.End   -= delta;
                }
            });

            AddToDictionaryCommand = new DelegateCommand(p =>
            {
                var mistake = p as MistakeViewModel;
                if (mistake is null)
                {
                    return;
                }

                for (int i = Mistakes.Count - 1; i >= 0; i--)
                {
                    if (Mistakes[i].Text == mistake.Text)
                    {
                        Mistakes.Remove(Mistakes[i]);
                    }
                }

                _spellChecker.AddToDictionary(mistake.Text);
            });
        }