Вверх ↑
Этот топик читают: Гость
Ответов: 10
Рейтинг: 0
#1: 2019-09-03 21:24:02 ЛС | профиль | цитата
1) как переделать схему так, чтобы картинки не повторялись подряд (т. е. условно если у меня была надпись "карандаш", то при следующем нажатии будет 100% другая) (у меня около 150 картинок в моей схеме). - это основной вопрос
2 - добавочный) как сделать так, чтобы картинки не повторялись, в цикле? Т. е. допустим у меня там 150 строк с разными надписями и нужно сделать , чтобы они не только не попадались 2 раза подряд одно за другим, но и не повторялись, скажем так, в цикле. То есть у меня допустим будет условие при котором начинается цикл и условие при котором он завершается, и вот когда он снова начинается, то там смогут появляться снова все картинки, но не те, которые уже в нем появлялись до этого. (кол-во картинок за цикл меньше, чем кол-во всех картинок, т. е. цикл завершится раньше, чем будут показаны все возможные картинки).

Add(MainForm,2953706,119,273)
{
Width=261
Height=326
Position=1
link(onCreate,2476299:doRandomize,[])
}
Add(Button,3272711,189,301)
{
Left=15
Top=10
Width=200
link(onClick,3980929:doEvent1,[])
}
Add(Image,6566424,609,210)
{
Left=15
Top=60
Width=200
Height=200
Color=16777215
ViewStyle=0
}
Add(Jpeg,9896000,560,210)
{
Quality=100
Point(doBitmap)
Point(FileName)
link(onBitmap,6566424:doLoad,[])
}
Add(Hub,7362224,525,210)
{
link(onEvent1,9896000:doLoad,[])
link(onEvent2,9896000:doBitmap,[(549,223)(549,230)])
}
Add(StrCat,14212699,476,210)
{
Str2=".jpg"
link(onStrCat,7362224:doEvent1,[])
}
Add(StrList,3164099,343,196)
{
Strings=#6:солнце|6:камень|8:карандаш|
Point(EndIdx)
Point(doGetString)
Point(onGetString)
link(onGetString,2150770:doEvent1,[])
}
Add(Random,2476299,364,280)
{
Point(doMax)
Point(Max)
link(onRandom,3164099:doGetString,[(408,286)(408,258)(331,258)(331,230)])
link(Max,3164099:EndIdx,[])
}
Add(Label,10911830,476,140)
{
Left=15
Top=35
Width=200
}
Add(Hub,2150770,413,203)
{
link(onEvent1,10911830:doText,[(445,209)(445,146)])
link(onEvent2,14212699:doStrCat,[])
}
Add(Hub,3980929,245,301)
{
link(onEvent1,2476299:doMax,[])
link(onEvent2,2476299:doRandom,[(311,314)(311,286)])
}
карма: 0

0
vip
#1.1контекстная реклама от партнеров
Ответов: 16490
Рейтинг: 1210
#2: 2019-09-03 22:04:57 ЛС | профиль | цитата
На схеме выдели компонент Random и нажми F1.
В открывшемся окне найди
Пример использования компонента Random для генерации не повторяющейся последовательности случайных чисел от 0 до 99 (метод "удаления строк")

Или так:
Add(MainForm,2953706,42,105)
{
Height=334
Position=1
link(onCreate,5223206:doRandomize,[])
}
Add(Random,5223206,126,112)
{
Max=155
Point(doRandomWithoutRepeats)
link(onRandom,12154324:doAdd,[(170,118)(170,104)])
}
Add(Button,5429146,42,161)
{
Left=20
Top=55
link(onClick,10937529:doEvent1,[])
}
Add(Memo,12154324,182,98)
{
Left=110
Top=10
Width=100
Height=250
ScrollBars=2
}
Add(Hub,10937529,91,161)
{
OutCount=3
link(onEvent1,12154324:doClear,[(147,167)(147,111)])
link(onEvent2,5223206:doRandomWithoutRepeats,[(119,174)(119,139)])
link(onEvent3,4773382:doText,[])
}
Add(Label,4773382,189,175)
{
Left=265
Top=80
link(Text,12154324:Count,[])
}


K0ndar писал(а):
2 - добавочный
Это вообще не вопрос.
Сам догадаешься почему ?

Редактировалось 2 раз(а), последний 2019-09-03 23:16:33
карма: 22
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
2
Сообщение
...
Прикрепленные файлы
(файлы не залиты)