Проверка на наличие значения переменной в списке.
|
|
dikfair | Дата: Пятница, 13 Марта 2015, 17:44 | Сообщение # 1 |
почетный гость
Сейчас нет на сайте
| Сразу хочу попросить тех ребят которые зашли тыкнуть в меня пальцем и сказать, - "Читай, справку! Иванушка", не говорить так. В справке я колупался и видимо по своей глупости или невнимательности не нашел, хотя облазил: стеки, очереди, словари и ост.
Теперь к проблеме. Мне нужно создать список, который будет выглядеть так. Списик 1= 1, 3, 8, 12.
Дальше, генер. случ число в переменной iq. И бац, надо проверить есть ли такое число в этом списке. Вероятно ответ "задротам" своего дела покажется банальным, но прошу схватить побольше воздуха в легкие и терпИливо ответить на мой глупый вопрос. = ). По сути этот список может являть собой переменную имеющую одновременно несколько значений, еси такое возможно О_о.
Объект 25 - Исследовательская игра на выживание
Сообщение отредактировал dikfair - Пятница, 13 Марта 2015, 17:45 |
|
| |
dima9595 | Дата: Пятница, 13 Марта 2015, 19:02 | Сообщение # 2 |
почти ветеран
Сейчас нет на сайте
| Цитата dikfair ( ) По сути этот список может являть собой переменную имеющую одновременно несколько значений, еси такое возможно если я не ошибаюсь, то это массив тебе нужно юзать.
я в GML не шарю, но я бы сделал так: 1. Создаю или генерирую массив с числами. Здесь всё зависит от того, какой нужен тебе список. 2. Далее, как список создан - генерируем случайное число. Далее, через цикл (почитай "циклы") сверяю число с массивом..
Надеюсь понятно объяснил)
|
|
| |
dikfair | Дата: Пятница, 13 Марта 2015, 19:29 | Сообщение # 3 |
почетный гость
Сейчас нет на сайте
| Понятно и я предполагал такой вариант, но это нужно назначать каждой переменной в массиве свое число, а учитывая что их много это не удобно да и поиск штука цикличная, а я любой оптимизации кода рад.
Объект 25 - Исследовательская игра на выживание
|
|
| |
OpenGOO | Дата: Пятница, 13 Марта 2015, 20:05 | Сообщение # 4 |
почти ветеран
Сейчас нет на сайте
| Незанаю куда ты там смотрел, но список это DS Lists (List это и есть список) Еcть такая фунция ds_list_find_index, если она вернет -1 то значит в списке значения нет.
Мои проекты: - Свободный и открытый клон World Of Goo - TrueEngine2D (2D игровой фреймворк основанный на FreeBASIC)
[GameMaker: Studio v1.4.9999]
|
|
| |
dikfair | Дата: Пятница, 13 Марта 2015, 22:31 | Сообщение # 5 |
почетный гость
Сейчас нет на сайте
| Цитата OpenGOO ( ) Незанаю куда ты там смотрел, но список это DS Lists (List это и есть список) Еcть такая фунция ds_list_find_index, если она вернет -1 то значит в списке значения нет.
Отлично, эти слова я встречал в справке, и если бы я их понял то не писал бы сюда. Я прошу разьяснения, или пример в виде маленького кода, я уже весь гугл обшарил и этот форум в надежде найти ответ.
Вот примерно какой ответ я бы желал увидеть: Код tipa_list=ds_list_create();
ds_list_add(tipa_list,3);
rand=irandom_range(1,10);
if ds_list_find_index(tipa_list,rand) {draw_text(blalba....,"Ура, заработало")} Вот этот код почему-то ну никак не хочет работать в случае выпадения 3 в ранде. Вывод: Я делаю что-то не так. Прошу подобный наглядный пример.
Объект 25 - Исследовательская игра на выживание
Сообщение отредактировал dikfair - Пятница, 13 Марта 2015, 22:33 |
|
| |
OpenGOO | Дата: Пятница, 13 Марта 2015, 23:15 | Сообщение # 6 |
почти ветеран
Сейчас нет на сайте
| Код if ds_list_find_index(tipa_list, rand) != -1
Обрати внимание, что каждый раз когда ты вызываешь ds_list_create, то создаешь новый список
Мои проекты: - Свободный и открытый клон World Of Goo - TrueEngine2D (2D игровой фреймворк основанный на FreeBASIC)
[GameMaker: Studio v1.4.9999]
|
|
| |