2014-02-21 111 views
-1

我正在制作一个将在动漫大会上使用的测验游戏。 使用笔记本电脑和wifi点,计划是让观众使用他们的手机作为答案选择设备。玩家号码将基于IP地址。客户端屏幕将基本显示用于应答1,2,3和4的按钮。测验游戏开发

我在服务器上使用MYSQL和PHP。我有几个表,如:

  • 问题:凡acutal问题与正确答案一起列出。这个字段是id | Q_text | Ans1 | Ans2 | Ans3 | Ans4 | Cor_Ans | Image_Path

  • 测验:有ID和测验名称。

  • Quiz_Questions:此表格有多个问题分开的多个测验的字段。

  • 控制:这有管理员用户帐户(不担心安全问题,因为这不会上网,将是只用于糖果奖励),游戏名称(因此它可以被其他人是否使用它改变) 。

我的问题是如何获取的当前测验问题清单(使用测验#4,并获得在问答题的列表),并表明只有在当前的问题去下一个用按钮按下。

就像我说的,安全不是问题。他们只赢得糖果,系统不会只有。 我还需要一个表格,其中将包含当前问题的所有提交答案。有了这个,我可以制作一个漂亮的饼图,当我显示正确的答案时,它会显示答案百分比。希望这一切都有道理。

编辑:我会提供WiFi点。封闭的网络,密码保护,所以唯一的ip分发给房间的人。 另外,我会选择测验。客户只能选择一个答案。我选择的问题将显示在投影机上供所有人查看。观众选择他们的答案。我接下来打了,它显示了正确的答案,糖果分发了,然后我打了下一个问题。这一切都会持续下去,直到我们在当前测验中用完问题或者我们提前结束测验。然后,我会列出一个列表显示谁总得到最正确的答案,并且我们颁发了一个大奖。

+5

球员号码是不是一个好主意。在很多情况下,几个用户将拥有相同的公共IP地址。在很多使用相同WiFi的人们参加的会议中,这可能尤其如此。改用会话ID。 – Brad

+0

用户可以选择测验吗?如果是这样,您需要一个测验列表,每个测验都有一个指定测验ID的查询字符串。从中,您可以从数据库中查询测验问题,并将其呈现到测验页面。 – halfer

+0

我怀疑OP意味着他们将提供自己的无线网络连接点,在这种情况下,每个用户确实会获得自己的IP专用LAN上。但是,我同意会议通常会更好,没有缺点。 – halfer

回答

0

你想从数据库中获取与当前测验对应的问题..对吧? 您可以创建一个采用当前测验ID的PHP页面(因此每个测验都应该有一个唯一的ID),然后用quizID = quiz_passed返回每个问题。

SELECT question_content FROM questions WHERE quizID = currentQuiz 

就是这样。

当你得到问题后,你可以将它存储在某个地方(一个ArrayList可能?或LinkedList或你想要什么)。你可以从数组中拿出它并把问题放在屏幕内。

你可以用同样的方法得到答案。根据问题ID,您可以选择答案。 也许你可以创建一个班级来管理这个问题。

这将是一种方法。

0

如已经由AgRizzo建议,给在测验每个问题的序列号。

SELECT q.* 
FROM Questions q 
INNER JOIN Quiz_Questions qq ON qq.QuestionID = q.ID 
WHERE qq.QuizID = 11 
    AND qq.SequenceNumber = 3 

该示例产生测验#11的第三个问题。

增加参数SequenceNumber下一个问题。一旦查询不返回任何内容,测验就完成了。通过IP地址