我想创建一个“ 20个问题游戏”,并且如果玩家考虑了我在DB游戏中没有的单词,则会添加它作为女巫玩家的答案。 通常,DB的外观或下一步需要执行的查询。
我目前的数据库如下所示:
I have 3 tables:
- questions
- id
- question // questions witch my game will ask a player.
- words
- id
- word // words just words
- relations
- id_question
- id_word
- value // One of three values (-1,0,1)
“ -1”表示我没有有关此组合问题和单词的数据,
“ 0”表示答案为“否”,
“ 1”表示答案是“是”。
还有我的算法:
我要问DB答案最多的问题(1和0)。
“通过关系GROUP BY id_question ORDER BY id_question
DESC从关系中选择SELECT answers
,COUNT(id_question)AS answers
”
我要向DB求&1中的问题的计数为“ 1”。
“从id_question
= 1 GROUP BY id_question OR BY BY positive
DESC的关系中选择value
,COUNT {{id_question)AS answers
”
查找问题中答案最多的问题(&1),并且“是”与“否”的比率最接近0.5
向玩家询问他可以选择“是”,“否”,“我不知道”三个答案之一。
(这有麻烦),根据答案,我想更改查询,但我不知道如何要求DB仅在单词的一部分中进行搜索,例如,答案为问题编号2为“否”(0)。
如果我只有1个字,或者我问了20次,则程序将结束,但如果没有返回到&1。
所以,我认为我的数据库需要一个或多个表。 如果答案是我需要一张桌子,我不知道它的外观。 我考虑过在带有字符串的“单词”表中添加列,例如“ 0110110-1”,数字的位置将是问题的ID,但这很难写。
我的第二个想法是为单词表中的每个问题添加一列,但是在添加问题的情况下,我需要添加下一列,但这似乎不是最佳选择。
或者在MySQL中,可能只选择部分行。
我希望它写得清楚,因为我不会英语。