![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
||||
|
||||
![]() Здравствуйте! Я вот решил написать игру "Кто хочет стать миллионером".
Столкнулся с такой трудностью как создания массивов с вопросами и ответами. Инфа берется с файла. Там вот такая "иерархия": Код:
Код:
--- обозначало новый вопрос (разделитель). ^ обозначало новый вопрос и заполнялось в массив Vopros + и - обозначало вариант ответа и все 4 варианта писались в массивы Variant (1-4) + обозначало правильный вариант ответа и заполнялось в массив Otvet И еще один вопрос: как потом послать строку массива в Lable каждый раз РАНДОМНО? Буду очень благодарен за ответы!! |
#2
|
||||
|
||||
![]() Пересмотри архитектуру игры.
Некоторые программисты настолько ленивы, что сразу пишут рабочий код. Если вас наказали ни за что - радуйтесь: вы ни в чем не виноваты. |
#3
|
|||
|
|||
![]() Цитата:
|
#4
|
||||
|
||||
![]() Подумай как по другому хранить вопросы и ответы. Подумай о том, что, например, вопросов у тебя 10 гигов. И ты их будешь загружить в программу все кучей?
Некоторые программисты настолько ленивы, что сразу пишут рабочий код. Если вас наказали ни за что - радуйтесь: вы ни в чем не виноваты. |
#5
|
|||
|
|||
![]() архитектуру однозначно надо переделать.
вопросов действительно может быть много и они вначале должны быть легкие вопросы и по мере игры усложнятся. если держать их в тхт то тебе придётся загружать все вопросы, разбивать их на уровни сложности, и тд.. тут лучше БД использовать. и еще Цитата:
и почему каждый вариант идёт как массив? они что каждый раз в одном и том же порядке будут? лучше рандомно варианты распологать .а массив с вариантами сделать размером всего 4. примерная БД будет такая: таблица Вопросы: id вопроса, вопрос, уровень сложности вопроса. Таблица Ответы: id ответа, ответ, номер вопроса к которому относится ответ, правильность ответа. ну и примерная логика выборки. допустим нужно показать первый вопрос уровня сложности 1. у тебя в БД несколько вопросов с уровнем сложности 1.ты выбираешь id'ы всех таких вопросов и потом из них рандомно выбираешь один ИД и загружаешь варианты ответа для этого ид. |
#6
|
||||||
|
||||||
![]() Зачем новичку БД, если он ещё string от array of string не отличает.
Dmitry_DM, прочитай про типы данных и ключевое слово type Собери тип которой будет в себе содержать вопросы и к каждому вопросу 3и варианта + 1н правильный ответ. Код:
Заведи массив таких вопросов и файл из этого типа данных: Код:
Запись типизированных данных в файл и считывание оных оттуда: Записывать: Код:
Читать по аналогии. Последний раз редактировалось Uniq!, 28.03.2013 в 17:39. |
#7
|
||||
|
||||
![]() спасибо за предложенные варианты! но я хочу пояснить более детально как все устроено.. есть 15 файлов (на 15 уровней сложности), я их сделал в ini формате. Каждый файл содержит множество вопросов. Вот пример 2 вопросов в ini на 1 уровне сложности.
Код:
Потом я делаю так (знаю что не правильно, но понять что я хочу из этого можно..) Код:
|
#8
|
||||
|
||||
![]() Значит, и типы сложно. Окей. начнём с простого:
Код:
После этого у тебя создасться пустой массив, в каждую ячейку которого ты сможешь положить целую строку. Зачем? Если тебе сюда нужно положить лишь один вопрос? Question: string; - правильный вариант. Сюда ты сможешь положить ТОЛЬКО одну строку (только один вопрос) Дальше перестраивай картину у себя в голове, и думай что будем менять дальше. Потуги сделать массив из 15ти вопросов\ответов я вижу. Но смысл их тогда перезаписывать? Из приведённого тобой примера: Код:
Но это ужасный код=\ Последний раз редактировалось Uniq!, 28.03.2013 в 19:58. |
#9
|
|||
|
|||
![]() Цитата:
|
#10
|
||||
|
||||
![]() Верным путем идете товарищ! Не бойтесь экспериментировать. Набьете шишек, но это будут ваши шишки.
![]() Я так понял INI вы выбрали с точки зрения удобства доступа к исходному тексту. Можно конечно и в Ini все хранить, но пока вы еще только начали, я бы рекомендовал вам про XML почитать. Он тоже позволяет хранить данные в виде текста, но возможности его на порядок выше чем Ini. Жизнь такова какова она есть и больше никакова. Помогаю за спасибо. |
#11
|
||||
|
||||
![]() Цитата:
Я не понял Вашего вопроса, но всё же Вам на него отвечу! Последний раз редактировалось Alegun, 09.05.2013 в 12:21. |
Этот пользователь сказал Спасибо Alegun за это полезное сообщение: | ||
Dmitry_DM (29.03.2013)
|