Прошу помощи с алгоритмом в GMS
| |
Sirius105 | Дата: Среда, 04 Июня 2014, 23:43 | Сообщение # 1 |
участник
Сейчас нет на сайте
| Здравствуйте!
Я вот решил намутить что то наподобие "Кто хочет стать миллионером"... Теперь вот думаю, как это лучше осуществить...Чтоб с оптимизацией был все норм..Прошу помощи с местных Гуру..
Сам я рассмотрел несколько банальных способов...
1. Создать комнаты для каждого вопроса.. 2 Намутить некий мини алгоритм для вывода вопроса и ответов в одной комнате (но как?)
И еще несколько, которые будут тратить массу памяти...
Короче, скажите как лучше это осуществить "Пожалуйста"?
|
|
| |
XDominator | Дата: Четверг, 05 Июня 2014, 10:17 | Сообщение # 2 |
постоянный участник
Сейчас нет на сайте
| Комнаты для каждого вопроса? Думаю в области 30 вопроса уже малость подзаманаешься, а для чего то похожего на игру их должно быть хотя бы штук 500.
Чтобы сделать кучу вопросов, достаточно сделать 1 грид, размером 6 * (кол-во вопросов). 1 столбец грида - сам вопрос, следующие 4 или сколько тебе нужно - варианты ответов. Последний столбец - номер правильного варианта. Создавать сей массив можно при создании первой же комнаты. ВЫглядит примерно так:
Создаешь 1 комнату. Это будет что то вроде комнаты инициализации и подгрузки всех данных. Потом ищешь в settings кнопку creation code - это код загрузки комнаты. В ней пишешь что то типа: Код global.questions = ds_grid_create(6, 1000) // для 1к вопросов например write_question(0, "What's my name?", "Olexandr", "Vasya", "Petya", "Abdula", 3);//write_question - наш личный скрипт, его опишу ниже //Повторяешь write_question для все вопросов(Тут уже только писать их все вручную, не обессудь).
Скрипт write_question: Код ind = argument0; questn = argument1; answ0 = argument2; answ1 = argument3; answ2 = argument4; answ3 = argument5; answ_true = argument6;
ds_grid_set(global.questions, 0, ind, questn); ds_grid_set(global.questions, 1, ind, answ0 ); ds_grid_set(global.questions, 2, ind, answ1 ); ds_grid_set(global.questions, 3, ind, answ2 ); ds_grid_set(global.questions, 4, ind, answ3 ); ds_grid_set(global.questions, 5, ind, answ_true );
Вот таким нехитрым образом ты структурировано задаешь все свои вопросы, которые уже можешь использовать по своему усмотрению. Ну а касательно вывода... Тут уже только думать самому, как тебе удобней
Ghaarp
The soul lighter(Android, logic)
Zzzzombie RAGE!!!(For android)
Сообщение отредактировал XDominator - Пятница, 06 Июня 2014, 11:49 |
|
| |
Sirius105 | Дата: Воскресенье, 08 Июня 2014, 23:44 | Сообщение # 3 |
участник
Сейчас нет на сайте
| Спасибо большое... Думаю теперь разберусь.. Добавлено (08.06.2014, 23:44) --------------------------------------------- XDominator, Прошу прощение за наглость , но можешь сделать мне пример? С самым простым выводом, с нескольким вопросом..Буду благодарен надолго...
|
|
| |
XDominator | Дата: Понедельник, 09 Июня 2014, 00:47 | Сообщение # 4 |
постоянный участник
Сейчас нет на сайте
| На, накидал вот за полчаса) не все естественно сделано лучшим образом, но думаю поймешь. Чтобы добавить новые вопросы в список, просто воспользуйся creation code в room.
тык
Ghaarp
The soul lighter(Android, logic)
Zzzzombie RAGE!!!(For android)
|
|
| |
KaramBino | Дата: Понедельник, 09 Июня 2014, 09:26 | Сообщение # 5 |
Karam Грозный
Сейчас нет на сайте
| XDominator, ты гений!
|
|
| |
Sirius105 | Дата: Среда, 10 Января 2018, 21:33 | Сообщение # 6 |
участник
Сейчас нет на сайте
| Спасибо еще раз за помощь..
Добавлено (10 января 2018, 17:36) --------------------------------------------- Вынужден поднять это тему... Чел (XDominator)который сделал мне пример вроде уже не посещает этот сайт, этот пример давно утерян... Чуть выше можно найти код который он написал, тот что был в примере, но с выводом у меня проблемы..Может кто нибудь доделать данный код с выводом вопроса и ответами?
Добавлено (10 января 2018, 17:37) --------------------------------------------- Есть в сети много разных примеров подобной игры, но именно по его алгоритму все очень минимально и удобноДобавлено (10 января 2018, 21:33) --------------------------------------------- Хелп хелп ))
Сообщение отредактировал Sirius105 - Среда, 10 Января 2018, 17:37 |
|
| |
Abel399 | Дата: Суббота, 13 Января 2018, 21:16 | Сообщение # 7 |
Surpass your limits. Right now.
Сейчас нет на сайте
| Пример на простых массивах, если еще необходимо.
В 0 индексе хранится вопрос, в 1-[answers_count] хранятся ответы, в последнем - индекс правильного ответа. Функция generate_questions - заполнение массива, просто для примера заполняет вопросы на сложение двух чисел. Выбор ответа осуществляется клавишами 1-9, для простоты.
P.S.> Пример написан в GM8, но проблем с портированием на студию возникнуть не должно, нужна ведь только идея, верно?) P.S.S.> В студии имеется стэк, для полного профита можно использовать его и написать хороший генератор, юзающий определенный пул вопросов и заполняющий стэк/очередь/небо/Аллаха. Другой вариант - использовать shuffle из grid / написать свой, который будет перемешивать массив индексов вопросов, чтобы получить случайную последовательность.
Ninja Slayer - 2D Physics Puzzle [cancelled]
Сообщение отредактировал Abel399 - Суббота, 13 Января 2018, 21:46 |
|
| |
vampir0305 | Дата: Суббота, 13 Января 2018, 21:38 | Сообщение # 8 |
Unity C# Programmer
Сейчас нет на сайте
| Можно к скрипту write_question добавить draw_text. Примерно так:
Код ind = argument0; questn = argument1; answ0 = argument2; answ1 = argument3; answ2 = argument4; answ3 = argument5; answ_true = argument6;
ds_grid_set(global.questions, 0, ind, questn); ds_grid_set(global.questions, 1, ind, answ0 ); ds_grid_set(global.questions, 2, ind, answ1 ); ds_grid_set(global.questions, 3, ind, answ2 ); ds_grid_set(global.questions, 4, ind, answ3 ); ds_grid_set(global.questions, 5, ind, answ_true );
draw_text(x, y, questn); //вывод вопроса draw_text(x, y + 32, answ0); //вывод ответа 1 draw_text(x + 32, y + 32, answ1); //вывод ответа 2 draw_text(x + 64, y + 32, answ2); //вывод ответа 3 draw_text(x + 128, y + 32, answ3); //вывод ответа 4
И так все ответы через драв размещая как нужно (координаты x, y)
Красочная сюжетно-ориентированная игра-головоломка
Сообщение отредактировал vampir0305 - Суббота, 13 Января 2018, 21:39 |
|
| |
Sirius105 | Дата: Суббота, 13 Января 2018, 23:41 | Сообщение # 9 |
участник
Сейчас нет на сайте
| Спасибо вам, очень помогли.
|
|
| |
|