public static void Main(string[] args) { Console.WriteLine("输入创建用户名,例如:FREEstrikerABbo"); //string userName = Console.ReadLine(); string userName = "******"; Console.WriteLine("输入创建密码,例如:1236zccg99326TEST"); //string password = Console.ReadLine(); string password = "******"; Console.WriteLine(UserLogic.CreateUser(userName, password).Prompt); var userOR = UserLogic.LogInUser(userName, password); Console.WriteLine(userOR.Prompt); var userInfoOR = UserInfoLogic.GetUserInfo(userOR.Result); Console.WriteLine(userInfoOR.Prompt); var judgeInfoOR = JudgeInfoLogic.GetJudgeInfo(userOR.Result); Console.WriteLine(judgeInfoOR.Prompt); ExerciseOption exerciseOption = new ExerciseOption(IntervalType.LE10, //OperationType.Plus | //OperationType.Sub | //OperationType.Mul | //OperationType.Div | OperationType.DivWithRemainder, QuantityType.E10); var exerciseOR = ExerciseLogic.GetExercise(exerciseOption); Console.WriteLine(exerciseOR.Prompt); for (int i = 0; i < exerciseOR.Result.ExerciseUnits.Length; i++) { Console.WriteLine(exerciseOR.Result.ExerciseUnits[i].Topic); } Console.WriteLine("输入答案:"); ExerciseResult exerciseResult = new ExerciseResult() { ExerciseResultUnit = new ExerciseResultUnit[exerciseOR.Result.ExerciseUnits.Length] }; for (int i = 0; i < exerciseOR.Result.ExerciseUnits.Length; i++) { exerciseResult.ExerciseResultUnit[i].Remainder = 0; exerciseResult.ExerciseResultUnit[i].Result = Convert.ToInt32(Console.ReadLine()); } var judgeResultOR = ExerciseLogic.JudgeExercise(exerciseOR.Result, exerciseResult, userOR.Result); Console.WriteLine(judgeResultOR.Prompt); userInfoOR = UserInfoLogic.GetUserInfo(userOR.Result); Console.WriteLine(userInfoOR.Prompt); judgeInfoOR = JudgeInfoLogic.GetJudgeInfo(userOR.Result); Console.WriteLine(judgeInfoOR.Prompt); Console.WriteLine(UserLogic.DeleteUser(userOR.Result).Prompt); Console.ReadKey(); }
public static OperationResult <Exercise> GetExercise(ExerciseOption exerciseOption) { Exercise exercise = null; try { exercise = ExerciseGeneratorFactory.DriveGenerator().GetExercise(exerciseOption); } catch (Exception e) { return(new OperationResult <Exercise>("生成失败!" + e.Message, true, null)); } return(new OperationResult <Exercise>("生成成功!", true, exercise)); }
public Exercise GetExercise(ExerciseOption exerciseOption) { var quantites = QuantityParser.GetQuantity(exerciseOption.QuantityType, exerciseOption.OperationType); var exerciseUnits = new ExerciseUnit[quantites[0]]; int index = 0; int enumIndex = 1; for (int i = 1; i < quantites.Length; i++) { OperationType t = (OperationType)enumIndex; for (int j = 0; j < quantites[i]; j++) { GeneratorParser.GetGenerator(exerciseOption.OperationType & (OperationType)enumIndex, exerciseOption.ResultIntervalType).Generate(ref exerciseUnits[index++]); } enumIndex *= 2; } return(new Exercise(DateTime.Now, exerciseOption.OperationType, exerciseOption.ResultIntervalType, exerciseOption.QuantityType, exerciseUnits)); }
//private System.Timers.Timer Timer; protected void Page_load(object sender, EventArgs e) { jssender = sender; jse = e; { Username = Request.QueryString["user"]; UserId = Request.QueryString["id"]; Time = Request.QueryString["time"]; Type = Request.QueryString["type"]; Quantity = Request.QueryString["quan"]; Interval = Request.QueryString["intvl"]; int inttime; switch (Interval) { case "A": IntervalTp = IntervalType.LE10; break; case "B": IntervalTp = IntervalType.LE20; break; case "C": IntervalTp = IntervalType.LE50; break; case "D": IntervalTp = IntervalType.LE100; break; default: break; } switch (Quantity) { case "A": QuantityTp = QuantityType.E10; break; case "B": QuantityTp = QuantityType.E30; break; case "C": QuantityTp = QuantityType.E50; break; case "D": QuantityTp = QuantityType.E100; break; default: break; } switch (Type) { case "A": ExerciseOp = new ExerciseOption(IntervalTp, OperationType.Plus | OperationType.Sub, QuantityTp); break; case "B": ExerciseOp = new ExerciseOption(IntervalTp, OperationType.Mul | OperationType.Div, QuantityTp); break; case "C": ExerciseOp = new ExerciseOption(IntervalTp, OperationType.Plus | OperationType.Sub | OperationType.Mul | OperationType.Div, QuantityTp); break; case "D": ExerciseOp = new ExerciseOption(IntervalTp, OperationType.DivWithRemainder, QuantityTp); break; default: break; } switch (Time) { case "A": inttime = 300; break; case "B": inttime = 600; break; case "C": inttime = 1800; break; case "D": inttime = 3600; break; default: inttime = 0; break; } jstime = inttime; if (!IsPostBack) { ExerciseOR = ExerciseLogic.GetExercise(ExerciseOp); Session["ExerciseORSession"] = ExerciseOR; Session["UsernameSession"] = Username; Session["UseridSession"] = UserId; Debug.WriteLine("if"); } else { ExerciseOR = (OperationResult <Exercise>)Session["ExerciseORSession"]; Username = Session["UsernameSession"].ToString(); //Debug.WriteLine("writtename" + Username); UserId = Session["UseridSession"].ToString(); //Debug.WriteLine("else"); } num = ExerciseOR.Result.ExerciseUnits.Length; Debug.WriteLine("106"); for (int i = 0; i < num; i++) { HtmlGenericControl li = new HtmlGenericControl("li"); TextBox t = new TextBox(); t.ID = "result" + i.ToString(); t.Attributes["class"] = "textbox"; Label l = new Label(); l.Attributes["class"] = "label"; l.Text = ExerciseOR.Result.ExerciseUnits[i].Topic; Label rw = new Label(); rw.ID = "dynalabel" + i.ToString(); rw.Attributes["class"] = "rwlabel"; li.Controls.Add(l); li.Controls.Add(t); if (Type == "D") { TextBox trm = new TextBox(); trm.ID = "remainder" + i.ToString(); trm.Attributes["class"] = "rtextbox"; li.Controls.Add(trm); } li.Controls.Add(rw); Exlist.Controls.Add(li); Debug.WriteLine("135"); } } }