示例#1
0
    public static GuessFirst NewGame(int season)
    {
        GuessFirst gf = new GuessFirst();

        gf.gameId        = "";
        gf.questionCount = 10;
        gf.questions     = GuessFistQuestion.GetQuestionsRandomly(gf.questionCount, season);
        return(gf);
    }
示例#2
0
    public static GuessFistQuestion[] GetQuestionsRandomly(int questionCount, int season)
    {
        string sql = " select * from QuickGuessList where  ";// QuickGuessList_season = " + season.ToString();

        if (season == 0)
        {
            sql = sql + "  QuickGuessList_season >1  and  QuickGuessList_season < 7 ";
        }
        else
        {
            sql = sql + " QuickGuessList_season = " + season.ToString();
        }
        SqlDataAdapter da = new SqlDataAdapter(sql, System.Configuration.ConfigurationManager.AppSettings["constr"].Trim());
        DataTable      dt = new DataTable();

        da.Fill(dt);
        da.Dispose();
        Random rnd = new Random(DateTime.Now.Millisecond);

        GuessFistQuestion[] gfqArr = new GuessFistQuestion[questionCount];
        for (int i = 0; i < questionCount && i < dt.Rows.Count; i++)
        {
            int curIndex = rnd.Next(0, dt.Rows.Count);
            try
            {
                gfqArr[i] = new GuessFistQuestion();
                DataRow dr = dt.Rows[curIndex];
                gfqArr[i].id          = int.Parse(dr["QuickGuessList_id"].ToString());
                gfqArr[i].answer      = dr["QuickGuessList_answer"].ToString().Trim();
                gfqArr[i].answercount = dr["QuickGuessList_answer"].ToString().Trim().Length;
                gfqArr[i].prompt      = new string[4];
                gfqArr[i].prompt[0]   = dr["QuickGuessList_memo1"].ToString().Trim();
                gfqArr[i].prompt[1]   = dr["QuickGuessList_memo2"].ToString().Trim();
                gfqArr[i].prompt[2]   = dr["QuickGuessList_memo3"].ToString().Trim();
                gfqArr[i].prompt[3]   = dr["QuickGuessList_memo4"].ToString().Trim();
                gfqArr[i].promptimg   = dr["QuickGuessList_memoimg"].ToString().Trim();
                gfqArr[i].question    = dr["QuickGuessList_question"].ToString().Trim();

                string optionStr = dr["QuickGuessList_options"].ToString().Trim();
                if (optionStr.Trim().Equals(""))
                {
                    optionStr = dr["QuickGuessList_answer"].ToString().Trim();



                    gfqArr[i].options = new char[24];

                    for (int j = 0; j < optionStr.Length; j++)
                    {
                        gfqArr[i].options[j] = optionStr.Substring(j, 1).ToCharArray()[0];
                    }

                    for (int j = 0; j < 24 - optionStr.Trim().Length; j++)
                    {
                        gfqArr[i].options[j + optionStr.Length] = '测';
                    }
                }
                else
                {
                    gfqArr[i].options = GetOptions(gfqArr[i].answer,
                                                   ((dr["QuickGuessList_options"].ToString().Trim().Length >= 22) ? dr["QuickGuessList_options"].ToString().Trim() : dr["QuickGuessList_options"].ToString().Trim() + dr["QuickGuessList_memo4"].ToString().Trim()),
                                                   24).ToCharArray();
                }
                dt.Rows.RemoveAt(curIndex);
            }
            catch
            {
                i--;
                Thread.Sleep(1000);
            }
        }
        return(gfqArr);
    }
示例#3
0
    public static GuessFistQuestion[] GetQuestionsRandomly(int questionCount, int season)
    {
        string sql = " select * from QuickGuessList where  ";// QuickGuessList_season = " + season.ToString();
        if (season == 0)
        {
            sql = sql + "  QuickGuessList_season >1  and  QuickGuessList_season < 7 ";
        }
        else
        {
            sql = sql + " QuickGuessList_season = " + season.ToString();
        }
        SqlDataAdapter da = new SqlDataAdapter(sql, System.Configuration.ConfigurationManager.AppSettings["constr"].Trim());
        DataTable dt = new DataTable();
        da.Fill(dt);
        da.Dispose();
        Random rnd = new Random(DateTime.Now.Millisecond);
        GuessFistQuestion[] gfqArr = new GuessFistQuestion[questionCount];
        for (int i = 0; i < questionCount && i < dt.Rows.Count ; i++)
        {
            int curIndex = rnd.Next(0, dt.Rows.Count);
            try
            {
                gfqArr[i] = new GuessFistQuestion();
                DataRow dr = dt.Rows[curIndex];
                gfqArr[i].id = int.Parse(dr["QuickGuessList_id"].ToString());
                gfqArr[i].answer = dr["QuickGuessList_answer"].ToString().Trim();
                gfqArr[i].answercount = dr["QuickGuessList_answer"].ToString().Trim().Length;
                gfqArr[i].prompt = new string[4];
                gfqArr[i].prompt[0] = dr["QuickGuessList_memo1"].ToString().Trim();
                gfqArr[i].prompt[1] = dr["QuickGuessList_memo2"].ToString().Trim();
                gfqArr[i].prompt[2] = dr["QuickGuessList_memo3"].ToString().Trim();
                gfqArr[i].prompt[3] = dr["QuickGuessList_memo4"].ToString().Trim();
                gfqArr[i].promptimg = dr["QuickGuessList_memoimg"].ToString().Trim();
                gfqArr[i].question = dr["QuickGuessList_question"].ToString().Trim();

                string optionStr = dr["QuickGuessList_options"].ToString().Trim();
                if (optionStr.Trim().Equals(""))
                {
                    optionStr = dr["QuickGuessList_answer"].ToString().Trim();



                    gfqArr[i].options = new char[24];

                    for (int j = 0; j < optionStr.Length; j++)
                    {
                        gfqArr[i].options[j] = optionStr.Substring(j, 1).ToCharArray()[0];
                    }

                    for (int j = 0; j < 24 - optionStr.Trim().Length; j++)
                    {
                        gfqArr[i].options[j + optionStr.Length] = '测';
                    }
                }
                else
                {

                    gfqArr[i].options = GetOptions(gfqArr[i].answer,
                        ((dr["QuickGuessList_options"].ToString().Trim().Length >= 22) ? dr["QuickGuessList_options"].ToString().Trim() : dr["QuickGuessList_options"].ToString().Trim() + dr["QuickGuessList_memo4"].ToString().Trim()), 
                        24).ToCharArray();
                }
                dt.Rows.RemoveAt(curIndex);
            }
            catch
            {
                i--;
                Thread.Sleep(1000);
            }

        }
        return gfqArr;
    }