Задача такая: имеется целочисленная переменная, допустим диапазон чисел будет от 1 до 10.
Каждые 2 сек. нужно выдавать рандомное значение этой переменной от 1 до 10, при этом чтобы значения не повторялись пока все значения не будут выданы, только gui

Принятый ответ

easypeasy, что не понятно?
`
ОЖИДАНИЕ РЕКЛАМЫ...

Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
0
13
4 года назад
0
TheMilka, а обычными триггерами это можно запилить?
2
7
4 года назад
2
easypeasy:
TheMilka, а обычными триггерами это можно запилить?
да, конечно
0
13
4 года назад
0
TheMilka, не подскажешь, пожалуйста, как?
2
7
4 года назад
2
easypeasy:
TheMilka, не подскажешь, пожалуйста, как?
cейчас. нужно время. на гуи работать дольше.

создаешь две глобальные переменные А и MAX.
Создаёшь вот такой триггер.
Получить случайное число из списка без повторений командой GetRandomInteger().
Если числа закончились, будешь получать нули.
Загруженные файлы
2
28
4 года назад
2
Есть переменная InitialTop, изначально равна 9.
Есть массив Initial, где в ячейках с 0 по 9 находятся значения 1 - 10 без повторений.
Теперь о самом выборе случайного значения.
  1. Присваиваем переменной idx случайное значение с 0 по InitialTop.
  2. Переменной Result присваиваем значение из Initial[idx].
  3. Присваиваем Initial[idx] значение Initial[InitialTop].
  4. Присваиваем InitialTop значение (InitialTop - 1).
  5. Если InitialTop равно -1, то тогда сбрасываем массив Initial и InitialTop в начальное состояние.
0
13
4 года назад
0
TheMilka, половина не понял, а в этом триггере сработает сразу 10 циклов?только как выдать только 1 значение и спустя какое то время или событие, выдать другое

Присваиваем Initial[idx] значение Initial[InitialTop].
Присваиваем InitialTop значение (InitialTop - 1).
Если InitialTop равно -1, то тогда сбрасываем массив Initial и InitialTop в начальное состояние.
а это случайно не значит что если первое число, например, выпадет 6 то последующие выпадающие будут меньше 6?

ладно, спасибо буду разбираться
2
7
4 года назад
2
easypeasy:
TheMilka, половина не понял, а в этом триггере сработает сразу 10 циклов?только как выдать только 1 значение и спустя какое то время или событие, выдать другое

Присваиваем Initial[idx] значение Initial[InitialTop].
Присваиваем InitialTop значение (InitialTop - 1).
Если InitialTop равно -1, то тогда сбрасываем массив Initial и InitialTop в начальное состояние.
а это случайно не значит что если первое число, например, выпадет 6 то последующие выпадающие будут меньше 6?

ладно, спасибо буду разбираться
эта система создаёт 10 значений. из них ты каждым вызовом берёшь рандомное без повторений. можно ещё добавить, чтобы система обновлялась каждый раз, когда числа внутри ней заканчиваются.
2
28
4 года назад
2
а это случайно не значит что если первое число, например, выпадет 6 то последующие выпадающие будут меньше 6?
Нет, результат хранится в переменной Result.
0
13
4 года назад
0
TheMilka, PT153, в итоге запилил такой рабочий вариант, без действия wait при быстром нажатии Esc варик крашится, а с действием wait 0 почему то нет
Загруженные файлы
2
26
4 года назад
Отредактирован Extremator
2
easypeasy, что не понятно?
Принятый ответ
0
13
4 года назад
0
Extremator, отвечаю не пойму как после действия Set Max=(Max-1) последующие выпадающие числа могут быть больше текущей выпавшей..
Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.