Flapiotun, получилось красиво и схема оформлена аккуратно, но участок схемы со списком индексов не совсем понятен. Если в схеме заменить список на список строк (для наглядности), то можно увидеть что в список заносятся индексы созданных (##add) схем (в моем случае их 19 штук). Add(MainForm,1214487,357,105) { Width=1920 Height=1080 Color=0 Caption="Drop_text" BorderStyle=0 WindowsState=2 Point(Width) Point(Height) Point(onKeyDown) link(onCreate,9405426:doEvent1,[]) link(onKeyDown,10262512:doCompare,[(396,132)(396,146)(291,146)(291,111)]) } Add(If_else,10262512,301,105) { Op2=Integer(27) link(onTrue,1214487:doClose,[(347,111)(347,132)]) } Add(PaintBox,324295,917,77) { Width=1920 Height=1080 Align=5 Color=0 } Add(MultiElementEx,800294,917,133) { link(Bitmap,324295:Bitmap,[]) } BEGIN_SDK Add(EditMultiEx,5032481,28,28) { WorkCount=#8:##select|5:##add| VarCount=#7:##count| DataCount=#6:Bitmap| Width=1210 Height=564 VOffset=140 HOffset=350 Point(##select) Point(##add) Point(##count) link(##select,7431850:doEvent1,[]) link(##add,16098172:doValue,[]) } Add(LineBreakEx,518403,1120,224) { Caption="X" Type=2 } Add(LineBreakEx,498210,1127,238) { Caption="Y" Type=2 } Add(Hub,1834365,980,301) { OutCount=3 link(onEvent1,15235833:doCompare,[(1005,307)(1005,265)]) link(onEvent2,5253420:doFont,[]) link(onEvent3,198922:doDraw,[(1068,321)(1068,307)]) } Add(Font,5253420,1029,308) { Font=[Symbol,18,1,0,2] link(onFont,198922:doFont,[]) link(Color,15235833:Value,[]) } Add(Img_Text,198922,1106,301) { Font=[MS Sans Serif,18,0,0,1] Point(X) Point(Y) Point(doFont) Point(Orientation) Point(Transform) link(Bitmap,14413677:getVar,[]) link(Text,9160298:Value,[(1119,292)(1098,292)(1098,348)(930,348)]) link(X,518403:getVar,[]) link(Y,498210:getVar,[]) link(Orientation,12521087:Value,[]) link(Transform,16629619:Var1,[(1147,289)]) } Add(Img_Rectangle,9092366,294,399) { Point2AsOffset=0 Style=1 BgColor=0 Point(Point1) Point(Point2) link(onDraw,10381362:doFor,[(438,405)(438,307)]) link(Bitmap,6596993:getVar,[(300,390)(272,390)]) link(Point1,7309819:Point,[]) link(Point2,13620870:Point,[]) } Add(PointXY,7309819,308,301) { link(X,16098172:Value,[(314,292)(62,292)]) } Add(LineBreakEx,12492403,378,49) { Caption="bmp" Type=3 link(_Data,5032481:Bitmap,[]) } Add(LineBreakEx,14413677,1106,210) { Caption="bmp" Type=2 } Add(LineBreakEx,6596993,266,343) { Caption="bmp" Type=2 } Add(ConvertorEx,9208594,672,175) { Mode=4 link(onResult,9310876:doWork2,[]) } Add(For,15278039,539,175) { Start=1 link(onEvent,14567666:doRandom,[]) link(End,9910294:Var3,[(552,166)(519,166)(519,222)]) } Add(Random,14567666,616,175) { Min=97 Max=119 link(onRandom,9208594:doConvert,[]) } Add(MultiElementEx,7431850,168,168) { @Hint=#15:Скорость змейки| link(onEvent1,4745142:doRandom,[]) link(onEvent2,9092366:doDraw,[(225,181)(225,405)]) link(Op2,4745142:Random,[(174,159)(230,159)(230,215)(286,215)]) link(X2,11982895:getVar,[]) } BEGIN_SDK Add(EditMultiEx,14506169,21,21) { WorkCount=#8:doEvent1|7:doValue| EventCount=#8:onEvent1|8:onEvent2| VarCount=#5:Count| DataCount=#3:Op2|2:X2| Width=265 Height=193 VOffset=77 HOffset=140 link(doEvent1,6244430:doNext,[(207,104)(207,111)]) link(doValue,16191468:doCalc,[(47,111)(47,118)]) link(Count,6244430:Count,[(167,173)(223,173)]) } Add(Screen,14142255,182,35) { } Add(MathParse,16191468,161,112) { DataCount=3 MathStr="((%3/(%1/10)) + (24*%2))" Point(onError) Point(PosErr) link(onResult,6244430:doMax,[]) link(X1,14506169:Op2,[]) link(X2,14506169:X2,[]) link(X3,14142255:Height,[(181,75)(195,75)]) } Add(CounterEx,6244430,217,105) { Max=0 Step=25 Point(onThroughMax) Point(doMax) link(onNext,14506169:onEvent2,[]) link(onThroughMax,14506169:onEvent1,[(256,118)(256,104)]) } END_SDK Add(StrList,3038389,847,175) { } Add(Hub,9243747,343,168) { OutCount=4 link(onEvent1,11663880:doOperation,[(368,174)(368,118)]) link(onEvent2,5367180:doRandom,[]) link(onEvent3,7431850:doValue,[(368,188)(368,209)(158,209)(158,181)]) link(onEvent4,12667648:doData,[(431,195)(431,531)]) } Add(LineBreakEx,8815716,105,231) { Caption="X" Type=3 link(_Data,11144372:Result,[]) } Add(LineBreakEx,13135512,581,350) { Caption="Y" Type=3 link(_Data,6825520:Result,[]) } Add(ArrayRW,6766912,861,301) { link(onRead,9160298:doValue,[]) link(Array,3460041:Var2,[]) link(Index,14078624:getVar,[]) } Add(Memory,9160298,924,301) { link(onData,1834365:doEvent1,[]) } Add(LineBreakEx,9150020,462,231) { Caption="shtk" Type=3 link(_Data,9910294:Var2,[]) } Add(LineBreakEx,4061221,1043,182) { Caption="shtk" Type=2 } Add(DoData,11392809,777,217) { Data=Integer(0) link(onEventData,3038389:doDelete,[(823,223)(823,195)]) } Add(For,10381362,469,301) { Start=1 link(onEvent,6825520:doCalc,[]) link(onStop,13850482:doEvent1,[(557,314)(557,461)]) link(End,7915976:getVar,[]) } Add(LineBreakEx,9937239,469,350) { Caption="++" Type=3 link(_Data,10381362:Position,[]) } Add(LineBreakEx,16492803,1036,161) { Caption="++" Type=2 } Add(LineBreakEx,14078624,868,266) { Caption="++" Type=2 } Add(MathParse,6825520,581,301) { DataCount=4 MathStr="(((%1*24)-(%2*24) + %3)*%4)" link(onResult,12733338:doCompare,[]) link(X1,10974919:getVar,[]) link(X2,3749042:getVar,[]) link(X3,14642366:getVar,[]) link(X4,11523231:Var2,[]) } Add(LineBreakEx,3749042,588,245) { Caption="shtk" Type=2 } Add(LineBreakEx,14642366,595,266) { Caption="y++" Type=2 } Add(LineBreakEx,9650834,168,224) { Caption="y++" Type=3 link(_Data,7431850:Count,[]) } Add(Memory,16098172,56,175) { link(onData,11144372:doOperation,[]) } Add(MultiElementEx,6543209,651,385) { @Hint=#17:Цвет первой буквы| link(onEvent1,6350101:doEvent1,[(690,391)(690,216)]) } BEGIN_SDK Add(EditMultiEx,1744732,14,14) { WorkCount=#8:doEvent1| EventCount=#8:onEvent1| VarCount=#5:Color|5:Value| Width=410 VOffset=70 HOffset=70 link(doEvent1,12921478:doEvent1,[]) link(Color,960973:Color,[]) link(Value,1248302:Var,[(97,187)(363,187)]) } Add(RGB,960973,84,98) { R=1 G=200 B=240 } Add(Hub,12921478,28,84) { OutCount=3 link(onEvent1,6402014:doWork2,[]) link(onEvent3,960973:doRGB,[]) } Add(ConvertorEx,1248302,357,84) { Mode=4 link(onResult,1744732:onEvent1,[]) } Add(Random,2485106,175,84) { Max=33 link(onRandom,875740:doRead,[]) } Add(StrList,14281744,231,28) { Strings=#2:34|2:35|2:36|2:37|2:38|2:68|2:74|2:81|2:83|2:87|2:88|2:89|3:118|3:119|3:120|3:121|3:122|3:161|3:192|3:193|3:194|3:195|3:198|3:199|3:200|3:201|3:204|3:209|3:210|3:211|3:229|2:97|2:98|2:99|3:100|3:103|3:105|3:109|3:115|3:117|0:| } Add(ArrayRW,875740,231,84) { link(onRead,10001970:doData,[]) link(Array,14281744:Array,[(237,68)(251,68)]) } Add(ChangeMon,10001970,294,84) { Point(onNoData) link(onData,1248302:doConvert,[]) link(onNoData,6402014:doWork1,[(333,97)(333,76)(158,76)]) } Add(HubEx,6402014,154,84) { link(onEvent,2485106:doRandom,[]) } END_SDK Add(Font,12038288,644,462) { Font=[Symbol,18,1,0,2] link(onFont,8650820:doFont,[]) link(Color,6543209:Color,[]) } Add(Img_Text,8650820,714,455) { Font=[MS Sans Serif,18,1,0,1] Point(X) Point(Y) Point(doFont) Point(Orientation) Point(Transform) link(Bitmap,1681701:getVar,[]) link(Text,6543209:Value,[(727,439)(664,439)]) link(X,5639361:getVar,[]) link(Y,9166504:getVar,[]) link(Orientation,790971:Value,[(748,411)(776,411)]) link(Transform,16629619:Var2,[(755,448)(1182,448)]) } Add(LineBreakEx,5639361,728,371) { Caption="X" Type=2 } Add(LineBreakEx,9166504,735,392) { Caption="Y" Type=2 } Add(Hub,13850482,567,455) { OutCount=4 link(onEvent1,6543209:doEvent1,[(592,461)(592,391)]) link(onEvent2,12038288:doFont,[]) link(onEvent3,8650820:doDraw,[(683,475)(683,461)]) link(onEvent4,3536494:doEvent1,[(634,482)(634,524)]) } Add(LineBreakEx,1681701,714,357) { Caption="bmp" Type=2 } Add(LineBreakEx,7915976,476,266) { Caption="shtk" Type=2 } Add(Hub,6350101,742,210) { link(onEvent1,9310876:doWork3,[(816,216)]) link(onEvent2,11392809:doData,[]) } Add(HubEx,9310876,812,175) { link(onEvent,3038389:doAdd,[]) } Add(ArrayRW,1116606,903,511) { link(Array,3460041:Var1,[(909,254)]) link(Index,3536494:Count,[(916,502)(895,502)(895,558)(853,558)]) } Add(MultiElementEx,3536494,847,518) { link(onEvent1,1116606:doWrite,[]) } BEGIN_SDK Add(EditMultiEx,11860882,21,21) { WorkCount=#8:doEvent1|5:doMax|8:doRandom| EventCount=#8:onEvent1|8:onEvent2| VarCount=#5:Count|6:Result| Height=151 link(doEvent1,5076343:doRandom,[(64,27)(64,97)]) link(doMax,5076343:doMax,[(46,34)(46,118)]) link(Count,5076343:Random,[(27,138)(90,138)]) } Add(ConvertorEx,13733802,252,91) { Mode=4 link(onResult,11860882:onEvent1,[(306,97)(306,27)]) } Add(Random,5076343,84,91) { Point(doMax) link(onRandom,14404474:doRandom,[]) } Add(Random,14404474,140,91) { Max=34 link(onRandom,2972464:doRead,[]) } Add(StrList,4368834,196,35) { Strings=#2:32|2:32|2:34|2:35|2:36|2:37|2:38|2:68|2:74|2:81|2:83|2:87|2:88|2:89|3:118|3:119|3:120|3:121|3:122|3:161|3:192|3:193|3:194|3:195|3:198|3:199|3:200|3:201|3:204|3:209|3:210|3:211|3:229|0:|0:| } Add(ArrayRW,2972464,196,91) { link(onRead,13733802:doConvert,[]) link(Array,4368834:Array,[(202,75)(216,75)]) } END_SDK Add(GetDataEx,3460041,861,249) { link(Data,3038389:Array,[]) } Add(DoData,12667648,784,525) { link(onEventData,3536494:doMax,[]) link(Data,3131296:getVar,[]) } Add(LineBreakEx,3131296,784,490) { Caption="shtk" Type=2 } Add(Memory,790971,770,357) { Default=Integer(0) } Add(Memory,12521087,1134,252) { Default=Integer(0) } Add(If_else,12733338,651,301) { Type=4 Op2=Integer(-50) link(onTrue,4080788:doCompare,[]) link(Op1,4883614:getVar,[]) } Add(LineBreakEx,4883614,651,266) { Caption="Y" Type=2 } Add(If_else,4080788,777,301) { Type=3 link(onTrue,6766912:doRead,[]) link(Op1,9683670:getVar,[]) link(Op2,13102385:Var3,[(790,289)]) } Add(LineBreakEx,9683670,777,266) { Caption="Y" Type=2 } Add(Screen,9849657,315,231) { } Add(PointXY,13620870,315,350) { X=64 Y=1920 link(Y,13102385:Var2,[]) } Add(Random,4745142,280,168) { @Hint=#11:Размер букв| Min=6 Max=32 link(onRandom,9243747:doEvent1,[]) AddHint(-27,-42,80,13,@Hint) } Add(GetDataEx,13102385,322,284) { link(Data,9849657:Height,[]) } Add(Math,11663880,602,112) { OpType=3 Op2=10 link(onResult,12119660:doRandom,[]) } Add(Img_UseScale,3699251,1176,210) { link(X,12758330:Var2,[]) link(Y,12758330:Var3,[(1196,152)]) } Add(GetDataEx,16629619,1176,284) { link(Data,3699251:Transform,[]) } Add(Math,11144372,105,175) { Op2=22 } Add(MultiElementEx,15235833,1036,259) { link(Op1,16492803:getVar,[]) link(X1,4061221:getVar,[]) link(Index,1515786:Value,[]) } BEGIN_SDK Add(EditMultiEx,7855501,21,21) { WorkCount=#9:doCompare|6:doData| EventCount=#6:onData| VarCount=#5:Value|5:Color| DataCount=#3:Op1|2:X1|5:Index| Width=363 Height=270 VOffset=35 HOffset=70 link(doCompare,7731191:doCalc,[]) link(doData,7697000:doData,[(81,69)(81,146)]) link(Value,1610606:Color,[(97,222)(307,222)]) } Add(RGB,1610606,301,182) { link(R,4746349:Value,[(307,131)(286,131)]) link(G,9954577:Value,[]) link(B,12540605:Value,[(321,173)(328,173)]) } Add(Hub,8699698,140,56) { link(onEvent1,13261033:doEvent,[]) link(onEvent2,1610606:doRGB,[(166,69)(166,188)]) } Add(Memory,12540605,322,133) { Default=Integer(0) } Add(MathParse,7731191,91,56) { MathStr="(%1 * (256/%2))" link(onResult,8699698:doEvent1,[]) link(X1,7855501:Op1,[]) link(X2,7855501:X1,[]) } Add(IndexToChanel,13261033,182,56) { Count=3 Point(Index) link(onEvent1,13187063:doWork2,[]) link(onEvent2,8781975:doWork2,[]) link(onEvent3,13809484:doWork2,[(221,76)(221,139)]) link(Index,7855501:Index,[(188,47)(111,47)]) } Add(Memory,9954577,308,91) { Default=Integer(0) } Add(Memory,4746349,280,56) { Default=Integer(0) } Add(DoData,7697000,91,140) { Data=Integer(0) link(onEventData,71511:doEvent1,[]) } Add(Hub,71511,175,140) { OutCount=3 link(onEvent1,13187063:doWork3,[(228,146)]) link(onEvent2,8781975:doWork3,[(235,153)]) link(onEvent3,13809484:doWork3,[(242,160)]) } Add(HubEx,13187063,224,56) { link(onEvent,4746349:doValue,[]) } Add(HubEx,8781975,231,63) { link(onEvent,9954577:doValue,[(261,69)(261,97)]) } Add(HubEx,13809484,238,133) { link(onEvent,12540605:doValue,[]) } END_SDK Add(Random,5367180,462,175) { @Hint=#12:сколько букв| Min=10 Max=14 link(onRandom,15278039:doFor,[]) AddHint(-30,-44,83,13,@Hint) } Add(LineBreakEx,11982895,175,140) { Caption="shtk" Type=2 } Add(LineBreakEx,10974919,581,224) { Caption="++" Type=2 } Add(GetDataEx,11523231,602,154) { link(Data,11663880:Result,[]) } Add(GetDataEx,12758330,1183,147) { Angle=3 link(Data,11523231:Var3,[(818,152)(818,159)]) } Add(Memory,1515786,1050,203) { Default=Integer(0) } Add(GetDataEx,9910294,462,217) { link(Data,5367180:Random,[]) } Add(Random,12119660,693,112) { @Hint=#10:1,2,3 цвет|5:синий|7:зелёный|7:красный| Max=2 link(onRandom,868462:doEvent1,[]) AddHint(-22,-83,65,52,@Hint) } Add(Hub,868462,763,112) { link(onEvent1,16421563:doEvent1,[(911,118)(911,209)]) link(onEvent2,3038389:doClear,[(823,125)(823,188)]) } Add(Hub,16421563,931,203) { link(onEvent1,1515786:doValue,[]) link(onEvent2,15235833:doData,[(974,217)(1012,217)(1012,272)]) } END_SDK Add(Hub,9405426,413,119) { OutCount=5 link(onEvent1,4118344:doEvent1,[(438,125)(438,83)]) link(onEvent3,5709904:doOperation,[]) link(onEvent4,8529234:doData,[(459,146)(459,195)]) link(onEvent5,14110908:doTimer,[(452,153)(452,244)]) } Add(DoData,8529234,469,189) { Data=Integer(0) link(onEventData,3499210:doVisible,[(516,195)(516,209)]) } Add(MouseEvent,3499210,532,189) { Point(doVisible) } Add(Math,9504345,770,140) { OpType=2 Op2=64 link(onResult,800294:##add,[]) } Add(Timer,1739603,567,140) { Interval=200 Enable=1 Point(doAutoStop) link(onTimer,6603290:doNext,[]) } Add(CounterEx,6603290,623,140) { Default=-1 link(onNext,3436545:doRead,[]) } Add(ArrayRW,3436545,679,140) { link(onRead,9763273:doEvent1,[]) link(Array,4118344:getVar,[(685,124)(482,124)]) } Add(MultiElementEx,4118344,469,77) { } BEGIN_SDK Add(EditMultiEx,2612228,21,21) { WorkCount=#8:doEvent1| EventCount=#6:onStop| VarCount=#5:Array|6:getVar| Width=412 Height=312 VOffset=140 HOffset=280 link(doEvent1,12520529:doEvent1,[]) link(Array,972020:getVar,[]) link(getVar,14407297:Array,[(314,312)(370,312)]) } Add(Random,5447273,266,217) { Max=9 Point(doMax) Point(Max) link(onRandom,14407297:doSwap,[(315,223)(315,195)]) link(Max,14266807:getVar,[]) } Add(StrList,14407297,350,161) { Point(doSwap) Point(Idx1) link(Idx1,6998305:Position,[(370,152)(342,152)(342,285)(188,285)]) } Add(For,6998305,182,245) { End=8 link(onEvent,5447273:doRandom,[(239,251)(239,223)]) link(End,13626335:getVar,[]) } Add(Hub,1811478,119,224) { OutCount=4 link(onEvent1,5447273:doRandomize,[]) link(onEvent3,5447273:doMax,[]) link(onEvent4,6998305:doFor,[]) } Add(Screen,14810740,147,105) { } Add(Math,12174404,147,161) { OpType=7 Op2=64 link(onResult,5288692:doFor,[]) link(Op1,14810740:Width,[]) } Add(For,5288692,217,161) { link(onEvent,14407297:doAdd,[]) link(End,4306181:getVar,[]) } Add(Hub,12520529,70,161) { link(onEvent1,12174404:doOperation,[]) link(onEvent2,1811478:doEvent1,[(99,174)(99,230)]) } Add(LineBreakEx,8929268,147,203) { Type=3 link(_Data,12174404:Result,[]) } Add(LineBreakEx,4306181,224,133) { Type=2 } Add(LineBreakEx,13626335,189,210) { Type=2 } Add(LineBreakEx,14266807,266,189) { Type=2 } Add(LineBreakEx,972020,301,294) { Type=2 } END_SDK Add(Hub,6425512,525,133) { link(onEvent1,1739603:doAutoStop,[(550,139)(550,160)]) link(onEvent2,1739603:doTimer,[]) } Add(Math,5709904,469,133) { Op2=1 link(onResult,6425512:doEvent1,[]) link(Op1,4118344:Array,[]) } Add(Timer,14110908,770,238) { Interval=60 Enable=1 link(onTimer,899198:doEvent1,[]) } Add(Math,7973818,770,189) { Op2=1 link(onResult,1776223:doAdd,[]) } Add(ArrayEnum,16022723,861,238) { link(onItem,800294:##select,[(902,244)(902,139)]) link(Array,1776223:Array,[]) } Add(Hub,899198,819,238) { OutCount=3 link(onEvent1,16022723:doEnum,[]) link(onEvent2,324295:doRefresh,[(844,251)(844,83)]) link(onEvent3,2262302:doString,[(840,258)(840,335)]) } Add(Hub,9763273,728,140) { link(onEvent1,9504345:doOperation,[]) link(onEvent2,7973818:doOperation,[(756,153)(756,195)]) } Add(ListBox,1776223,847,189) { Left=80 Top=95 Width=145 Height=425 } Add(FormatStr,2262302,854,329) { Mask="Количество индексов в списке: %1\r\nКоличество схем: %2" link(onFString,15056479:doText,[(894,335)(894,349)]) link(Str1,1776223:Count,[]) link(Str2,800294:##count,[(867,303)(923,303)]) } Add(Memo,15056479,917,322) { Left=80 Top=40 Width=245 Height=50 }
Вот зачем их хранить? Какой смысл в том что они будут обрабатываться не последовательно (0,1,2,3...), а в том порядке как добавлены в список? Да и элемента MultiElementEx (Вложенная схема) при свойстве Mode=Standard количество схем будет на одну больше чем будет обрабатываться (можно убедится по точке ##Count). Если заменить на обычный перебор циклом по количеству схем и поставить свойство Mode=Dynamic получится логичней: Add(MainForm,1214487,238,112) { Width=1920 Height=1080 Color=0 Caption="Drop_text" BorderStyle=0 WindowsState=2 Point(Width) Point(Height) Point(onKeyDown) link(onCreate,9405426:doEvent1,[]) link(onKeyDown,10262512:doCompare,[(277,139)(277,153)(172,153)(172,118)]) } Add(If_else,10262512,182,112) { Op2=Integer(27) link(onTrue,1214487:doClose,[(228,118)(228,139)]) } Add(PaintBox,324295,490,238) { Width=1920 Height=1080 Align=5 Color=0 link(onBeforeDraw,14292065:doFor,[]) } Add(MultiElementEx,800294,623,140) { Mode=1 link(Bitmap,324295:Bitmap,[(629,128)(663,128)(663,281)(496,281)]) AddHint(49,38,56,13,Mode) } BEGIN_SDK Add(EditMultiEx,5032481,28,28) { WorkCount=#8:##select|5:##add| VarCount=#7:##count| DataCount=#6:Bitmap| Width=1210 Height=564 VOffset=140 HOffset=350 Point(##select) Point(##add) Point(##count) link(##select,7431850:doEvent1,[]) link(##add,16098172:doValue,[]) } Add(LineBreakEx,518403,1120,224) { Caption="X" Type=2 } Add(LineBreakEx,498210,1127,238) { Caption="Y" Type=2 } Add(Hub,1834365,980,301) { OutCount=3 link(onEvent1,15235833:doCompare,[(1005,307)(1005,265)]) link(onEvent2,5253420:doFont,[]) link(onEvent3,198922:doDraw,[(1068,321)(1068,307)]) } Add(Font,5253420,1029,308) { Font=[Symbol,18,1,0,2] link(onFont,198922:doFont,[]) link(Color,15235833:Value,[]) } Add(Img_Text,198922,1106,301) { Font=[MS Sans Serif,18,0,0,1] Point(X) Point(Y) Point(doFont) Point(Orientation) Point(Transform) link(Bitmap,14413677:getVar,[]) link(Text,9160298:Value,[(1119,292)(1098,292)(1098,348)(930,348)]) link(X,518403:getVar,[]) link(Y,498210:getVar,[]) link(Orientation,12521087:Value,[]) link(Transform,16629619:Var1,[(1147,289)]) } Add(Img_Rectangle,9092366,294,399) { Point2AsOffset=0 Style=1 BgColor=0 Point(Point1) Point(Point2) link(onDraw,10381362:doFor,[(438,405)(438,307)]) link(Bitmap,6596993:getVar,[(300,390)(272,390)]) link(Point1,7309819:Point,[]) link(Point2,13620870:Point,[]) } Add(PointXY,7309819,308,308) { link(X,16098172:Value,[(314,292)(62,292)]) } Add(LineBreakEx,12492403,378,49) { Caption="bmp" Type=3 link(_Data,5032481:Bitmap,[]) } Add(LineBreakEx,14413677,1106,210) { Caption="bmp" Type=2 } Add(LineBreakEx,6596993,266,343) { Caption="bmp" Type=2 } Add(ConvertorEx,9208594,672,175) { Mode=4 link(onResult,9310876:doWork2,[]) } Add(For,15278039,539,175) { Start=1 link(onEvent,14567666:doRandom,[]) link(End,9910294:Var3,[(552,166)(519,166)(519,222)]) } Add(Random,14567666,616,175) { Min=97 Max=119 link(onRandom,9208594:doConvert,[]) } Add(MultiElementEx,7431850,168,168) { @Hint=#15:Скорость змейки| link(onEvent1,4745142:doRandom,[]) link(onEvent2,9092366:doDraw,[(225,181)(225,405)]) link(Op2,4745142:Random,[(174,159)(230,159)(230,215)(286,215)]) link(X2,11982895:getVar,[]) } BEGIN_SDK Add(EditMultiEx,14506169,21,21) { WorkCount=#8:doEvent1|7:doValue| EventCount=#8:onEvent1|8:onEvent2| VarCount=#5:Count| DataCount=#3:Op2|2:X2| Width=265 Height=193 VOffset=77 HOffset=140 link(doEvent1,6244430:doNext,[(207,104)(207,111)]) link(doValue,16191468:doCalc,[(47,111)(47,118)]) link(Count,6244430:Count,[(167,173)(223,173)]) } Add(Screen,14142255,182,35) { } Add(MathParse,16191468,161,112) { DataCount=3 MathStr="((%3/(%1/10)) + (24*%2))" Point(onError) Point(PosErr) link(onResult,6244430:doMax,[]) link(X1,14506169:Op2,[]) link(X2,14506169:X2,[]) link(X3,14142255:Height,[(181,75)(195,75)]) } Add(CounterEx,6244430,217,105) { Max=0 Step=25 Point(onThroughMax) Point(doMax) link(onNext,14506169:onEvent2,[]) link(onThroughMax,14506169:onEvent1,[(256,118)(256,104)]) } END_SDK Add(StrList,3038389,847,175) { } Add(Hub,9243747,343,168) { OutCount=4 link(onEvent1,11663880:doOperation,[(368,174)(368,118)]) link(onEvent2,5367180:doRandom,[]) link(onEvent3,7431850:doValue,[(368,188)(368,209)(158,209)(158,181)]) link(onEvent4,12667648:doData,[(431,195)(431,531)]) } Add(LineBreakEx,8815716,105,231) { Caption="X" Type=3 link(_Data,11144372:Result,[]) } Add(LineBreakEx,13135512,581,350) { Caption="Y" Type=3 link(_Data,6825520:Result,[]) } Add(ArrayRW,6766912,861,301) { link(onRead,9160298:doValue,[]) link(Array,3460041:Var2,[]) link(Index,14078624:getVar,[]) } Add(Memory,9160298,924,301) { link(onData,1834365:doEvent1,[]) } Add(LineBreakEx,9150020,462,231) { Caption="shtk" Type=3 link(_Data,9910294:Var2,[]) } Add(LineBreakEx,4061221,1043,182) { Caption="shtk" Type=2 } Add(DoData,11392809,777,217) { Data=Integer(0) link(onEventData,3038389:doDelete,[(823,223)(823,195)]) } Add(For,10381362,469,301) { Start=1 link(onEvent,6825520:doCalc,[]) link(onStop,13850482:doEvent1,[(557,314)(557,461)]) link(End,7915976:getVar,[]) } Add(LineBreakEx,9937239,469,350) { Caption="++" Type=3 link(_Data,10381362:Position,[]) } Add(LineBreakEx,16492803,1036,161) { Caption="++" Type=2 } Add(LineBreakEx,14078624,868,266) { Caption="++" Type=2 } Add(MathParse,6825520,581,301) { DataCount=4 MathStr="(((%1*24)-(%2*24) + %3)*%4)" link(onResult,12733338:doCompare,[]) link(X1,10974919:getVar,[]) link(X2,3749042:getVar,[]) link(X3,14642366:getVar,[]) link(X4,11523231:Var2,[]) } Add(LineBreakEx,3749042,588,245) { Caption="shtk" Type=2 } Add(LineBreakEx,14642366,595,266) { Caption="y++" Type=2 } Add(LineBreakEx,9650834,168,224) { Caption="y++" Type=3 link(_Data,7431850:Count,[]) } Add(Memory,16098172,56,175) { link(onData,11144372:doOperation,[]) } Add(MultiElementEx,6543209,651,385) { @Hint=#17:Цвет первой буквы| link(onEvent1,6350101:doEvent1,[(690,391)(690,216)]) } BEGIN_SDK Add(EditMultiEx,1744732,14,14) { WorkCount=#8:doEvent1| EventCount=#8:onEvent1| VarCount=#5:Color|5:Value| Width=410 VOffset=70 HOffset=70 link(doEvent1,12921478:doEvent1,[]) link(Color,960973:Color,[]) link(Value,1248302:Var,[(97,187)(363,187)]) } Add(RGB,960973,84,98) { R=1 G=200 B=240 } Add(Hub,12921478,28,84) { OutCount=3 link(onEvent1,6402014:doWork2,[]) link(onEvent3,960973:doRGB,[]) } Add(ConvertorEx,1248302,357,84) { Mode=4 link(onResult,1744732:onEvent1,[]) } Add(Random,2485106,175,84) { Max=33 link(onRandom,875740:doRead,[]) } Add(StrList,14281744,217,28) { Strings=#2:34|2:35|2:36|2:37|2:38|2:68|2:74|2:81|2:83|2:87|2:88|2:89|3:118|3:119|3:120|3:121|3:122|3:161|3:192|3:193|3:194|3:195|3:198|3:199|3:200|3:201|3:204|3:209|3:210|3:211|3:229|2:97|2:98|2:99|3:100|3:103|3:105|3:109|3:115|3:117|0:| } Add(ArrayRW,875740,231,84) { link(onRead,10001970:doData,[]) link(Array,14281744:Array,[]) } Add(ChangeMon,10001970,294,84) { Point(onNoData) link(onData,1248302:doConvert,[]) link(onNoData,6402014:doWork1,[(333,97)(333,76)(158,76)]) } Add(HubEx,6402014,154,84) { link(onEvent,2485106:doRandom,[]) } END_SDK Add(Font,12038288,644,462) { Font=[Symbol,18,1,0,2] link(onFont,8650820:doFont,[]) link(Color,6543209:Color,[]) } Add(Img_Text,8650820,714,455) { Font=[MS Sans Serif,18,1,0,1] Point(X) Point(Y) Point(doFont) Point(Orientation) Point(Transform) link(Bitmap,1681701:getVar,[]) link(Text,6543209:Value,[(727,439)(664,439)]) link(X,5639361:getVar,[]) link(Y,9166504:getVar,[]) link(Orientation,790971:Value,[(748,411)(776,411)]) link(Transform,16629619:Var2,[(755,448)(1182,448)]) } Add(LineBreakEx,5639361,728,371) { Caption="X" Type=2 } Add(LineBreakEx,9166504,735,392) { Caption="Y" Type=2 } Add(Hub,13850482,567,455) { OutCount=4 link(onEvent1,6543209:doEvent1,[(592,461)(592,391)]) link(onEvent2,12038288:doFont,[]) link(onEvent3,8650820:doDraw,[(683,475)(683,461)]) link(onEvent4,3536494:doEvent1,[(634,482)(634,524)]) } Add(LineBreakEx,1681701,714,357) { Caption="bmp" Type=2 } Add(LineBreakEx,7915976,476,266) { Caption="shtk" Type=2 } Add(Hub,6350101,742,210) { link(onEvent1,9310876:doWork3,[(816,216)]) link(onEvent2,11392809:doData,[]) } Add(HubEx,9310876,812,175) { link(onEvent,3038389:doAdd,[]) } Add(ArrayRW,1116606,903,511) { link(Array,3460041:Var1,[(909,254)]) link(Index,3536494:Count,[(916,502)(895,502)(895,558)(853,558)]) } Add(MultiElementEx,3536494,847,518) { link(onEvent1,1116606:doWrite,[]) } BEGIN_SDK Add(EditMultiEx,11860882,21,21) { WorkCount=#8:doEvent1|5:doMax|8:doRandom| EventCount=#8:onEvent1|8:onEvent2| VarCount=#5:Count|6:Result| Height=151 link(doEvent1,5076343:doRandom,[(64,27)(64,97)]) link(doMax,5076343:doMax,[(46,34)(46,118)]) link(Count,5076343:Random,[(27,138)(90,138)]) } Add(ConvertorEx,13733802,252,91) { Mode=4 link(onResult,11860882:onEvent1,[(306,97)(306,27)]) } Add(Random,5076343,84,91) { Point(doMax) link(onRandom,14404474:doRandom,[]) } Add(Random,14404474,140,91) { Max=34 link(onRandom,2972464:doRead,[]) } Add(StrList,4368834,196,35) { Strings=#2:32|2:32|2:34|2:35|2:36|2:37|2:38|2:68|2:74|2:81|2:83|2:87|2:88|2:89|3:118|3:119|3:120|3:121|3:122|3:161|3:192|3:193|3:194|3:195|3:198|3:199|3:200|3:201|3:204|3:209|3:210|3:211|3:229|0:|0:| } Add(ArrayRW,2972464,196,91) { link(onRead,13733802:doConvert,[]) link(Array,4368834:Array,[(202,75)(216,75)]) } END_SDK Add(GetDataEx,3460041,861,249) { link(Data,3038389:Array,[]) } Add(DoData,12667648,784,525) { link(onEventData,3536494:doMax,[]) link(Data,3131296:getVar,[]) } Add(LineBreakEx,3131296,784,490) { Caption="shtk" Type=2 } Add(Memory,790971,770,357) { Default=Integer(0) } Add(Memory,12521087,1134,252) { Default=Integer(0) } Add(If_else,12733338,651,301) { Type=4 Op2=Integer(-50) link(onTrue,4080788:doCompare,[]) link(Op1,4883614:getVar,[]) } Add(LineBreakEx,4883614,651,266) { Caption="Y" Type=2 } Add(If_else,4080788,777,301) { Type=3 link(onTrue,6766912:doRead,[]) link(Op1,9683670:getVar,[]) link(Op2,13102385:Var3,[(790,289)]) } Add(LineBreakEx,9683670,777,266) { Caption="Y" Type=2 } Add(Screen,9849657,315,231) { } Add(PointXY,13620870,315,350) { X=64 Y=1920 link(Y,13102385:Var2,[]) } Add(Random,4745142,280,168) { @Hint=#11:Размер букв| Min=6 Max=32 link(onRandom,9243747:doEvent1,[]) AddHint(-27,-42,80,13,@Hint) } Add(GetDataEx,13102385,322,284) { link(Data,9849657:Height,[]) } Add(Math,11663880,602,112) { OpType=3 Op2=10 link(onResult,12119660:doRandom,[]) } Add(Img_UseScale,3699251,1176,210) { link(X,12758330:Var2,[]) link(Y,12758330:Var3,[(1196,152)]) } Add(GetDataEx,16629619,1176,284) { link(Data,3699251:Transform,[]) } Add(Math,11144372,105,175) { Op2=22 } Add(MultiElementEx,15235833,1036,259) { link(Op1,16492803:getVar,[]) link(X1,4061221:getVar,[]) link(Index,1515786:Value,[]) } BEGIN_SDK Add(EditMultiEx,7855501,21,21) { WorkCount=#9:doCompare|6:doData| EventCount=#6:onData| VarCount=#5:Value|5:Color| DataCount=#3:Op1|2:X1|5:Index| Width=363 Height=270 VOffset=35 HOffset=70 link(doCompare,7731191:doCalc,[]) link(doData,7697000:doData,[(81,69)(81,146)]) link(Value,1610606:Color,[(97,222)(307,222)]) } Add(RGB,1610606,301,182) { link(R,4746349:Value,[(307,131)(286,131)]) link(G,9954577:Value,[]) link(B,12540605:Value,[(321,173)(328,173)]) } Add(Hub,8699698,140,56) { link(onEvent1,13261033:doEvent,[]) link(onEvent2,1610606:doRGB,[(166,69)(166,188)]) } Add(Memory,12540605,322,133) { Default=Integer(0) } Add(MathParse,7731191,91,56) { MathStr="(%1 * (256/%2))" link(onResult,8699698:doEvent1,[]) link(X1,7855501:Op1,[]) link(X2,7855501:X1,[]) } Add(IndexToChanel,13261033,182,56) { Count=3 Point(Index) link(onEvent1,13187063:doWork2,[]) link(onEvent2,8781975:doWork2,[]) link(onEvent3,13809484:doWork2,[(221,76)(221,139)]) link(Index,7855501:Index,[(188,47)(111,47)]) } Add(Memory,9954577,308,91) { Default=Integer(0) } Add(Memory,4746349,280,56) { Default=Integer(0) } Add(DoData,7697000,91,140) { Data=Integer(0) link(onEventData,71511:doEvent1,[]) } Add(Hub,71511,175,140) { OutCount=3 link(onEvent1,13187063:doWork3,[(228,146)]) link(onEvent2,8781975:doWork3,[(235,153)]) link(onEvent3,13809484:doWork3,[(242,160)]) } Add(HubEx,13187063,224,56) { link(onEvent,4746349:doValue,[]) } Add(HubEx,8781975,231,63) { link(onEvent,9954577:doValue,[(261,69)(261,97)]) } Add(HubEx,13809484,238,133) { link(onEvent,12540605:doValue,[]) } END_SDK Add(Random,5367180,462,175) { @Hint=#12:сколько букв| Min=10 Max=14 link(onRandom,15278039:doFor,[]) AddHint(-30,-44,83,13,@Hint) } Add(LineBreakEx,11982895,175,140) { Caption="shtk" Type=2 } Add(LineBreakEx,10974919,581,224) { Caption="++" Type=2 } Add(GetDataEx,11523231,602,154) { link(Data,11663880:Result,[]) } Add(GetDataEx,12758330,1183,147) { Angle=3 link(Data,11523231:Var3,[(818,152)(818,159)]) } Add(Memory,1515786,1050,203) { Default=Integer(0) } Add(GetDataEx,9910294,462,217) { link(Data,5367180:Random,[]) } Add(Random,12119660,693,112) { @Hint=#10:1,2,3 цвет|5:синий|7:зелёный|7:красный| Max=2 link(onRandom,868462:doEvent1,[]) AddHint(-22,-83,65,52,@Hint) } Add(Hub,868462,763,112) { link(onEvent1,16421563:doEvent1,[(911,118)(911,209)]) link(onEvent2,3038389:doClear,[(823,125)(823,188)]) } Add(Hub,16421563,931,203) { link(onEvent1,1515786:doValue,[]) link(onEvent2,15235833:doData,[(1012,216)(1012,272)]) } END_SDK Add(Hub,9405426,294,126) { OutCount=5 link(onEvent1,4118344:doEvent1,[(319,132)(319,90)]) link(onEvent3,5709904:doOperation,[]) link(onEvent4,8529234:doData,[(340,153)(340,202)]) link(onEvent5,14110908:doTimer,[(333,160)(333,244)]) } Add(DoData,8529234,350,196) { Data=Integer(0) link(onEventData,3499210:doVisible,[(397,202)(397,216)]) } Add(MouseEvent,3499210,413,196) { Point(doVisible) } Add(Math,9504345,574,147) { OpType=2 Op2=64 link(onResult,800294:##add,[]) } Add(Timer,1739603,448,147) { Interval=200 Enable=1 Point(doAutoStop) link(onTimer,6603290:doNext,[]) } Add(CounterEx,6603290,490,147) { Default=-1 link(onNext,3436545:doRead,[]) } Add(ArrayRW,3436545,532,147) { link(onRead,9504345:doOperation,[]) link(Array,4118344:getVar,[(538,131)(363,131)]) } Add(MultiElementEx,4118344,350,84) { } BEGIN_SDK Add(EditMultiEx,2612228,21,21) { WorkCount=#8:doEvent1| EventCount=#6:onStop| VarCount=#5:Array|6:getVar| Width=412 Height=312 VOffset=140 HOffset=280 link(doEvent1,12520529:doEvent1,[]) link(Array,972020:getVar,[]) link(getVar,14407297:Array,[(314,312)(370,312)]) } Add(Random,5447273,266,217) { Max=9 Point(doMax) Point(Max) link(onRandom,14407297:doSwap,[(315,223)(315,195)]) link(Max,14266807:getVar,[]) } Add(StrList,14407297,350,161) { Point(doSwap) Point(Idx1) link(Idx1,6998305:Position,[(370,152)(342,152)(342,285)(188,285)]) } Add(For,6998305,182,245) { End=8 link(onEvent,5447273:doRandom,[(239,251)(239,223)]) link(End,13626335:getVar,[]) } Add(Hub,1811478,119,224) { OutCount=4 link(onEvent1,5447273:doRandomize,[]) link(onEvent3,5447273:doMax,[]) link(onEvent4,6998305:doFor,[]) } Add(Screen,14810740,147,105) { } Add(Math,12174404,147,161) { OpType=7 Op2=64 link(onResult,5288692:doFor,[]) link(Op1,14810740:Width,[]) } Add(For,5288692,217,161) { link(onEvent,14407297:doAdd,[]) link(End,4306181:getVar,[]) } Add(Hub,12520529,70,161) { link(onEvent1,12174404:doOperation,[]) link(onEvent2,1811478:doEvent1,[(99,174)(99,230)]) } Add(LineBreakEx,8929268,147,203) { Type=3 link(_Data,12174404:Result,[]) } Add(LineBreakEx,4306181,224,133) { Type=2 } Add(LineBreakEx,13626335,189,210) { Type=2 } Add(LineBreakEx,14266807,266,189) { Type=2 } Add(LineBreakEx,972020,301,294) { Type=2 } END_SDK Add(Hub,6425512,406,140) { link(onEvent1,1739603:doAutoStop,[(431,146)(431,167)]) link(onEvent2,1739603:doTimer,[]) } Add(Math,5709904,350,140) { Op2=1 link(onResult,6425512:doEvent1,[]) link(Op1,4118344:Array,[]) } Add(Timer,14110908,448,238) { Interval=60 Enable=1 link(onTimer,324295:doRefresh,[]) } Add(For,14292065,532,238) { IncludeEnd=1 link(onEvent,800294:##select,[(613,244)(613,146)]) link(End,800294:##count,[(545,205)(629,205)]) }
Редактировалось 2 раз(а), последний 2024-05-29 13:56:53
|