我将如何构建该数据库?

时间:2018-12-03 11:04:58

标签: c# database

我已经为战舰游戏编写了代码,现在我正在尝试制作它,以便用户必须猜测正确的数学问题才能猜出飞船的位置。然后,我希望提出一些困难的问题以适应用户的能力。我相信,做到这一点的最佳方法是创建一个按难度列排列的数学问题表格。例如,第一个问题将是第5列中的一个随机问题;如果用户正确,那么将在第6列中询问下一个问题,如果在第4列中询问是否有误,我以前从未创建过数据库,我需要有关如何做的帮助。

1 个答案:

答案 0 :(得分:1)

使用以下各列创建一个名为Question的表:

  • 名称-唯一标识问题。
  • 文本-用户将看到的问题的文本。
  • ExpectedAnswer-问题的预期答案;因为这些是数学问题,我认为您期望 用户输入数字答案,然后可以将其与 预期的答案。
  • 难度-问题的难度。

通过将“难度”列为一栏,您不必具有多列问题。这是数据库“ normalization”的示例。它允许您运行这样的查询:

select Name, Text, ExpectedAnswer from Question where Difficulty = 'Hard'

您还需要一些不重复提问的方法。例如,保留您已经问过的问题列表,然后可以使用查询:

select Name, Text, ExpectedAnswer from Question where Difficulty = 'Hard' and Name not in listOfPreviouslyAskedQuestions.

您将需要弄清楚如何将 listOfPreviouslyAskedQuestions 传递到数据库查询中。