我目前正在Unity 3D中使用C#制作测验网络服务。我对C#比较陌生。使用C测验网络服务#
我遇到了一个我自己无法修复的问题。我能够立即从数据库中检索所有问题和可能的答案。我的问题是,我无法将它们分开,一次显示一个问题和一组答案。我不知道如何去做这件事!
这里是我的方法,它调用Web服务:
public void retrieveQuizObject(){
QuizService service = new QuizService();
quizModel q = new quizModel();
quizModel[] quizArray = new quizModel[3];
List<quizModel> quizList = new List<quizModel>();
//consuming web service
object[] qArray = quizList.ToArray();
qArray = service.playQuiz();
foreach(object element in qArray)
{
quizArray[n] = (quizModel)element;
Debug.Log ("Array Size: " + quizArray.Length);
Debug.Log ("Questions: " + quizArray[n].question);//just checking to see questions returned
}
}
这里是Web服务SQL:
"SELECT * from quiz ORDER BY RAND() LIMIT 3"
测验表有以下几列:QuizId,提问,回答,答案B,答案C,答案D.答案A将永远是正确的答案。我打算晚些时候洗牌!
使用GUI界面,我希望一次显示每个问题和四个可能的答案,而不是一次显示所有问题(如希望成为百万富翁)。当用户选择他们的选项时,应该出现一个新问题。我已经尝试了许多循环变体,并试图在按下GUI按钮但是无法弄清楚的情况下循环遍历循环。
我该如何解决这个问题?我应该使用哪个循环,以及如何暂停它?
我真的很感谢帮助!谢谢!
你应该使用像LINQ-2-SQL或实体框架ORM框架,数据库表映射到C#的对象,这将使你的生活轻松了许多 –
另外你需要在你的服务参考使用条款。 – asawyer
如果你随机选择3行,你的玩家是不是有机会在一次会话中多次获得同样的问题? – asawyer