Как бы я построить эту базу данных? - PullRequest
0 голосов
/ 03 декабря 2018

Я запрограммировал игру на линейные корабли и сейчас пытаюсь сделать так, чтобы, прежде чем пользователь мог угадать положение кораблей, он должен правильно задать математический вопрос.Затем я хочу, чтобы сложный из задаваемых вопросов адаптировался к возможностям пользователя.Я считаю, что лучший способ сделать это - создать таблицу математических вопросов, упорядоченных по столбцам сложности.Например, первый вопрос будет случайным вопросом из столбца 5;если пользователь получит правильное значение, то следующий вопрос будет задан в столбце 6, а если неправильный - в столбце 4. Я никогда ранее не создавал базу данных, и мне нужна помощь, как это сделать.

1 Ответ

0 голосов
/ 03 декабря 2018

Создайте таблицу с именем Вопрос со следующими столбцами:

  • Имя - уникально идентифицирует вопрос.
  • Текст - текст вопроса, который увидит пользователь.
  • ExpectedAnswer - ожидаемый ответ на вопрос;так как это математические вопросы, я предполагаю, что вы ожидаете, что пользователь введет числовой ответ, который затем вы сможете сравнить с ожидаемым ответом.
  • Трудность - сложность вопроса.

Делая Трудность столбцом, вам не нужно иметь несколько столбцов вопросов.Это пример базы данных " нормализация ".Это позволяет вам выполнить запрос, подобный следующему:

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

Вам также необходимо иметь способ не повторять вопросы.Например, сохраните список вопросов, которые вы уже задавали, тогда вы можете использовать запрос:

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

Вам нужно будет решить, как передать listOfPreviouslyAskedQuestions в запрос к базе данных.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...