*Кубик Рубика#13#10_____________#13#10Автор: Леонид#13#10E-mail: alina3@com2com.ru Make(delphi) ver(4.05 build 186) Add(MainForm,11996042,203,182) { Left=20 Top=105 Width=526 Height=400 Caption="Кубик Рубика" Point(onResize) Point(Close) link(onCreate,5111529:doWork1,[]) link(onResize,5111529:doWork2,[]) link(Close,1040776:Var1,[]) } Add(MultiElement,10714674,329,203) { @Hint=#39:Поворот картинки по положению указателя| link(onEvent1,402330:doDraw,[(461,209)(461,153)]) link(Data1,9973085:Var1,[]) link(Data2,9973085:Var2,[]) } BEGIN_SDK Add(EditMulti,4359962,3,3) { EventCount=1 WorkCount=1 DataCount=2 Width=160 Height=109 link(doWork1,3276760:doRotate,[(19,9)(19,69)]) } Add(GL_Rotate,3276760,35,63) { Y=1 link(onRotate,8079493:doRotate,[]) link(Angle,4359962:Data1,[(41,33)(9,33)]) } Add(GL_Rotate,8079493,84,63) { X=1 link(onRotate,4359962:onEvent1,[(143,69)(143,9)]) link(Angle,4359962:Data2,[(90,25)(16,25)]) } END_SDK Add(MultiElement,5111529,259,196) { @Hint=#9:Запуск GL|36:doWork3 Длительность кадра в милисек| link(onEvent1,1049587:doEvent1,[]) link(Data1,13747798:Handle,[]) } BEGIN_SDK Add(EditMulti,8381105,21,21) { EventCount=1 WorkCount=3 DataCount=1 Width=538 Height=165 link(doWork1,16299401:doEvent1,[(63,27)(63,48)]) link(doWork2,14551396:doWork1,[(130,34)]) link(doWork3,1524788:doDelay,[(42,41)(42,139)]) } Add(GL_Main,12986311,147,42) { Color=-16777201 TwoSide=0 link(onInit,12198675:doInit,[]) link(onViewPort,3410847:doPerspective,[(188,55)(188,97)]) link(Handle,8381105:Data1,[(153,32)(27,32)]) } Add(GL_GTools,771925,147,105) { Point(doClear) Point(doPushMatrix) Point(doPopMatrix) } Add(Hub,1049454,105,126) { OutCount=5 link(onEvent1,771925:doClear,[(123,132)(123,111)]) link(onEvent2,771925:doPushMatrix,[(128,139)(128,118)]) link(onEvent3,8381105:onEvent1,[(532,146)(532,27)]) link(onEvent4,771925:doPopMatrix,[(133,153)(133,125)]) link(onEvent5,12986311:doFlip,[(138,160)(138,62)]) } Add(Hub,16299401,70,42) { OutCount=3 link(onEvent1,12986311:doInit,[]) link(onEvent2,14551396:doWork2,[]) link(onEvent3,1524788:doStart,[(96,62)(96,94)(51,94)(51,125)]) } Add(GL_Options,10513853,490,42) { Flag=1 } Add(GL_Perspective,3410847,196,91) { Fovy=20 } Add(GL_Options,4378486,392,42) { Flag=3 link(onEvent,14989894:doEnabled,[]) } Add(GL_Options,5809249,343,42) { Flag=2 link(onEvent,4378486:doEnabled,[]) } Add(HubEx,14551396,126,49) { link(onEvent,12986311:doViewPort,[]) } Add(GL_GluTools,12198675,196,42) { Texture=0 link(onInit,1101264:doEnabled,[]) } Add(GL_Light,14989894,441,42) { link(onEnabled,10513853:doEnabled,[]) } Add(GL_Options,1101264,245,42) { link(onEvent,5851269:doEnabled,[]) } Add(GL_Options,5851269,294,42) { Flag=10 link(onEvent,5809249:doEnabled,[]) } Add(Thread,1524788,63,119) { Delay=33 Point(doDelay) link(onSyncExec,1049454:doEvent1,[]) } END_SDK Add(Image,13747798,252,133) { Left=145 Width=373 Height=373 Align=5 Point(Handle) Point(MouseX) Point(MouseY) Point(onMouseUp) Point(onMouseDown) Point(onMouseMove) link(onMouseUp,9973085:doWork1,[]) link(onMouseDown,9973085:doWork2,[]) link(onMouseMove,9973085:doWork3,[]) } Add(MultiElementEx,402330,469,140) { link(onEndBotton,16698432:doWork2,[(511,146)(511,133)(387,133)(387,153)]) } BEGIN_SDK Add(EditMultiEx,14644370,14,7) { WorkCount=#8:doBotton|6:doDraw|7:doBegin|6:doSave|9:doOldGame| EventCount=#11:onEndBotton|6:onDraw|5:onErr| Width=1679 Height=837 link(doBotton,15622884:doEvent1,[(320,13)(320,41)]) link(doDraw,14353787:doEvent1,[(216,20)(216,97)]) link(doBegin,15757005:doStrCat,[]) link(doSave,4395833:doStrCat,[(45,34)(45,83)]) link(doOldGame,1868339:doStrCat,[(35,41)(35,97)]) } Add(StrList,13352129,49,147) { Strings=#87:0;0;0;0.5;0.5;0.5;0.005;0;0;-0.005;0.005;0;0;-0.005;0.005;0;0;-0.005;255;65535;16776960|90:0;0;0;0.5;0.5;-0.5;0;0;-0.005;0;0.005;0.005;0.005;-0.005;0;-0.005;0;0;16776960;65535;65280|88:0;0;0;0.5;-0.5;0.5;0.005;0;0;-0.005;-0.005;0;0;0.005;0.005;0;0;-0.005;255;32768;16776960|91:0;0;0;0.5;-0.5;-0.5;0.005;0;0;-0.005;-0.005;0;0;0.005;-0.005;0;0;0.005;65280;32768;16776960|88:0;0;0;-0.5;0.5;0.5;-0.005;0;0;0.005;0.005;0;0;-0.005;0.005;0;0;-0.005;255;65535;16711680|91:0;0;0;-0.5;0.5;-0.5;-0.005;0;0;0.005;0.005;0;0;-0.005;-0.005;0;0;0.005;65280;65535;16711680|89:0;0;0;-0.5;-0.5;0.5;-0.005;0;0;0.005;-0.005;0;0;0.005;0.005;0;0;-0.005;255;32768;16711680|92:0;0;0;-0.5;-0.5;-0.5;-0.005;0;0;0.005;-0.005;0;0;0.005;-0.005;0;0;0.005;65280;32768;16711680|69:0;0;0;0;0.5;0.5;0;0;0;0;0.005;0;0;-0.005;0.005;0;0;-0.005;255;65535;0|72:0;0;0;0;0.5;-0.5;0;0;0;0;0.005;0;0;-0.005;-0.005;0;0;0.005;65280;65535;0|70:0;0;0;0;-0.5;0.5;0;0;0;0;-0.005;0;0;0.005;0.005;0;0;-0.005;255;32768;0|73:0;0;0;0;-0.5;-0.5;0;0;0;0;-0.005;0;0;0.005;-0.005;0;0;0.005;65280;32768;0|72:0;0;0;0.5;0;0.5;0.005;0;0;-0.005;0;0;0;0;0.005;0;0;-0.005;255;0;16776960|75:0;0;0;0.5;0;-0.5;0.005;0;0;-0.005;0;0;0;0;-0.005;0;0;0.005;65280;0;16776960|73:0;0;0;-0.5;0;0.5;-0.005;0;0;0.005;0;0;0;0;0.005;0;0;-0.005;255;0;16711680|76:0;0;0;-0.5;0;-0.5;-0.005;0;0;0.005;0;0;0;0;-0.005;0;0;0.005;65280;0;16711680|75:0;0;0;-0.5;0.5;0;-0.005;0;0;0.005;0.005;0;0;-0.005;0;0;0;0;0;65535;16711680|74:0;0;0;0.5;0.5;0;0.005;0;0;-0.005;0.005;0;0;-0.005;0;0;0;0;0;65535;16776960|76:0;0;0;-0.5;-0.5;0;-0.005;0;0;0.005;-0.005;0;0;0.005;0;0;0;0;0;32768;16711680|75:0;0;0;0.5;-0.5;0;0.005;0;0;-0.005;-0.005;0;0;0.005;0;0;0;0;0;32768;16776960|54:0;0;0;0;0;0.5;0;0;0;0;0;0;0;0;0.005;0;0;-0.005;255;0;0|57:0;0;0;0;0;-0.5;0;0;0;0;0;0;0;0;-0.005;0;0;0.005;65280;0;0|56:0;0;0;0;0.5;0;0;0;0;0;0.005;0;0;-0.005;0;0;0;0;0;65535;0|57:0;0;0;0;-0.5;0;0;0;0;0;-0.005;0;0;0.005;0;0;0;0;0;32768;0|59:0;0;0;0.5;0;0;0.005;0;0;-0.005;0;0;0;0;0;0;0;0;0;0;16776960|60:0;0;0;-0.5;0;0;-0.005;0;0;0.005;0;0;0;0;0;0;0;0;0;0;16711680| } Add(GL_Translate,7615240,574,749) { link(onTranslate,12064289:doRotate,[]) link(X,12962575:Var2,[]) link(Y,4125156:Var2,[]) link(Z,15261536:Var2,[]) } Add(GL_Cube,12638086,847,749) { Size=0.49 link(onDraw,16339820:doTranslate,[]) } Add(GL_Rotate,14608581,714,749) { Z=1 link(onRotate,1100704:doTranslate,[]) link(Angle,15042845:Var1,[(720,737)]) } Add(GL_Rotate,7779346,1281,749) { X=-1 link(onRotate,7554552:doTranslate,[]) link(Angle,3344633:Var2,[]) } Add(GL_Translate,7554552,1323,749) { link(onTranslate,9734236:doString,[]) link(X,12110481:Result,[(1329,434)(1070,434)]) link(Y,7901653:Result,[(1336,443)(1210,443)]) link(Z,9920870:Result,[(1343,440)(1350,440)]) } Add(GL_Translate,16339820,889,749) { link(onTranslate,2729471:doColor,[]) link(X,6670226:Var2,[]) link(Y,4017085:Var2,[]) link(Z,2359197:Var2,[]) } Add(GL_Cube,959044,973,749) { Size=0.49 link(onDraw,13406245:doTranslate,[]) } Add(GL_Translate,13406245,1015,749) { link(onTranslate,9328990:doColor,[]) link(X,9209062:Var2,[]) link(Y,16750597:Var2,[]) link(Z,3874356:Var2,[]) } Add(GL_Cube,16640317,1099,749) { Size=0.49 link(onDraw,330811:doTranslate,[]) } Add(GL_Color,9328990,1057,749) { Color=255 link(onColor,16640317:doDraw,[]) link(Color,3807475:Var2,[]) } Add(GL_Color,10081734,805,749) { Color=65535 link(onColor,12638086:doDraw,[]) link(Color,13930783:Var2,[]) } Add(GL_Color,2729471,931,749) { Color=15780518 link(onColor,959044:doDraw,[]) link(Color,1769945:Var2,[]) } Add(GL_Translate,1100704,763,749) { link(onTranslate,10081734:doColor,[]) link(X,12570305:Var2,[]) link(Y,2648177:Var2,[]) link(Z,8308680:Var2,[]) } Add(GL_Translate,330811,1141,749) { link(onTranslate,6529481:doRotate,[]) link(X,3736992:Var2,[]) link(Y,14045259:Var2,[]) link(Z,675527:Var2,[]) } Add(Memory,9599028,1435,238) { } Add(Memory,9359028,1526,231) { } Add(Memory,4364497,1617,224) { } Add(Memory,7628247,931,266) { } Add(Math,12110481,1064,259) { OpType=2 Op2=-1 } Add(Memory,11894822,1022,259) { link(onData,12110481:doOperation,[]) } Add(Math,7901653,1204,252) { OpType=2 Op2=-1 } Add(Memory,8558354,1162,252) { link(onData,7901653:doOperation,[]) } Add(Math,9920870,1344,245) { OpType=2 Op2=-1 } Add(Memory,6247873,1302,245) { link(onData,9920870:doOperation,[]) } Add(Memory,8068880,189,364) { link(onData,7615240:doTranslate,[(230,370)(230,755)]) } Add(Memory,5463485,882,273) { } Add(Memory,3010614,833,280) { } Add(Memory,14444920,280,350) { link(onData,6713896:doCalc,[(323,356)(323,559)]) } Add(Memory,929385,238,357) { Default=Integer(0) } Add(MultiStrData,10738658,147,224) { Count=21 link(onPart1,3339731:doConvert,[]) link(onPart2,2078424:doConvert,[]) link(onPart3,13241356:doConvert,[]) link(onPart4,3532215:doConvert,[]) link(onPart5,14487463:doConvert,[]) link(onPart6,4748103:doConvert,[]) link(onPart7,3329036:doWork2,[]) link(onPart8,7725295:doWork2,[]) link(onPart9,4089858:doWork2,[]) link(onPart10,2602144:doWork2,[]) link(onPart11,16514924:doWork2,[]) link(onPart12,12483126:doWork2,[]) link(onPart13,5541640:doWork2,[]) link(onPart14,6778186:doWork2,[]) link(onPart15,11495026:doWork2,[]) link(onPart16,7923097:doWork2,[]) link(onPart17,7730230:doWork2,[]) link(onPart18,1419679:doWork2,[]) link(onPart19,14444920:doValue,[]) link(onPart20,929385:doValue,[]) link(onPart21,8068880:doValue,[]) } Add(ArrayEnum,7698197,63,224) { link(onItem,10738658:doSplit,[]) link(onEndEnum,3855361:doEvent1,[]) link(Array,13352129:Array,[]) } Add(GL_Rotate,12064289,630,749) { X=1 link(onRotate,2388853:doRotate,[]) link(Angle,3344633:Var1,[(636,723)]) } Add(GL_Rotate,2388853,672,749) { Y=1 link(onRotate,14608581:doRotate,[]) link(Angle,15222076:Var1,[(678,730)]) } Add(GL_Rotate,6529481,1197,749) { Z=-1 link(onRotate,3089396:doRotate,[]) link(Angle,15042845:Var2,[]) } Add(GL_Rotate,3089396,1239,749) { Y=-1 link(onRotate,7779346:doRotate,[]) link(Angle,15222076:Var2,[]) } Add(If_else,3524410,294,84) { Type=5 Op2=Integer(0) link(onTrue,2624837:doEvent1,[]) link(Op1,11646856:Count,[(300,72)(332,72)(332,122)(377,122)]) } Add(Hub,15622884,336,35) { OutCount=4 link(onEvent1,2236953:doOperation,[]) link(onEvent2,8772213:doCalc,[]) link(onEvent3,4625376:doWork1,[(361,55)]) } Add(Math,2236953,546,35) { OpType=33 ResultType=0 Point(doClear) } Add(Counter,11646856,371,84) { Max=99 Step=9 link(onNext,6113759:doCompare,[]) } Add(HubEx,4625376,357,84) { link(onEvent,11646856:doNext,[]) } Add(Hub,14353787,231,91) { link(onEvent1,3524410:doCompare,[(269,97)(269,90)]) link(onEvent2,9019048:doEvent1,[(254,104)(254,131)(23,131)(23,223)]) } Add(Hub,13033747,455,84) { OutCount=3 link(onEvent1,8772213:doClear,[(479,90)(479,55)]) link(onEvent2,2236953:doClear,[(541,97)(541,48)]) link(onEvent3,14644370:onEndBotton,[(693,104)(693,13)]) } Add(If_else,6113759,413,84) { Op2=Integer(0) link(onTrue,13033747:doEvent1,[]) } Add(FormatStr,9734236,1372,749) { DataCount=21 Mask="%1;%2;%3;%4;%5;%6;%7;%8;%9;%10;%11;%12;%13;%14;%15;%16;%17;%18;%19;%20;%21" link(onFString,13607915:doAdd,[(1531,755)(1531,734)]) link(Str1,15042845:Var3,[(1378,737)]) link(Str2,15222076:Var3,[(1385,730)]) link(Str3,3344633:Var3,[(1392,723)]) link(Str4,15261536:Var3,[(1399,716)]) link(Str5,4125156:Var3,[(1406,709)]) link(Str6,12962575:Var3,[(1413,702)]) link(Str7,8308680:Var3,[(1420,681)]) link(Str8,2648177:Var3,[(1427,688)]) link(Str9,12570305:Var3,[(1434,695)]) link(Str10,2359197:Var3,[(1441,597)]) link(Str11,4017085:Var3,[(1448,604)]) link(Str12,6670226:Var3,[(1455,611)]) link(Str13,3874356:Var3,[(1462,618)]) link(Str14,16750597:Var3,[(1469,625)]) link(Str15,9209062:Var3,[(1476,632)]) link(Str16,675527:Var3,[(1483,639)]) link(Str17,14045259:Var3,[(1490,646)]) link(Str18,3736992:Var3,[(1497,653)]) link(Str19,3807475:Var3,[(1504,674)]) link(Str20,1769945:Var3,[(1511,667)]) link(Str21,13930783:Var3,[(1518,660)]) } Add(StrList,13607915,1540,728) { } Add(Hub,9019048,35,217) { link(onEvent1,13607915:doClear,[(55,223)(55,741)]) link(onEvent2,7698197:doEnum,[]) } Add(GetDataEx,15042845,1197,732) { link(Data,11220213:Var2,[(1203,495)(1623,495)]) } Add(GetDataEx,15222076,1239,725) { link(Data,4109789:Var2,[(1245,501)(1532,501)]) } Add(GetDataEx,3344633,1281,718) { link(Data,12067212:Var2,[(1287,508)(1441,508)]) } Add(GetDataEx,15261536,588,711) { link(Data,16771945:Var2,[(594,487)(1308,487)]) } Add(GetDataEx,4125156,581,704) { link(Data,9642618:Var2,[(587,480)(1168,480)]) } Add(GetDataEx,12962575,574,697) { link(Data,4303154:Var2,[(580,474)(1028,474)]) } Add(GetDataEx,8308680,777,676) { link(Data,14456107:Var2,[(783,495)(937,495)]) } Add(GetDataEx,1769945,931,662) { link(Data,929385:Value,[(937,501)(244,501)]) } Add(GetDataEx,2648177,770,683) { link(Data,14271363:Var2,[(776,502)(888,502)]) } Add(GetDataEx,12570305,763,690) { link(Data,9148891:Var2,[(769,512)(839,512)]) } Add(GetDataEx,3807475,1057,669) { link(Data,14444920:Value,[(1063,493)(286,493)]) } Add(GetDataEx,13930783,805,655) { link(Data,8068880:Value,[(811,509)(195,509)]) } Add(Hub,3855361,105,231) { link(onEvent1,15582334:doData,[(128,237)(128,804)]) link(onEvent2,14644370:onDraw,[(137,244)(137,148)(904,148)(904,20)]) } Add(DoData,15582334,1540,798) { link(onEventData,13352129:doText,[(1582,804)(1582,791)(27,791)(27,174)]) link(Data,13607915:Text,[]) } Add(Hub,2624837,336,84) { link(onEvent1,4625376:doWork2,[]) } Add(MathParse,8772213,490,42) { DataCount=1 MathStr="sign(%1)*9" ResultType=0 Point(doClear) link(onResult,6713896:doAngleAdd,[(531,48)(531,132)(377,132)(377,552)]) } Add(GetDataEx,12067212,1435,277) { link(Data,9599028:Value,[]) } Add(HubEx,15082334,1148,252) { link(onEvent,8558354:doValue,[]) } Add(HubEx,1364708,1288,245) { link(onEvent,6247873:doValue,[]) } Add(HubEx,15988594,1421,238) { link(onEvent,9599028:doValue,[]) } Add(MultiElementEx,6713896,385,546) { @Hint=#29:Расчёт положений при повороте| link(onNewAngleX,15988594:doWork3,[(1425,552)]) link(onNewAngleY,1501039:doWork3,[(1516,559)]) link(onNewAngleZ,3245798:doWork3,[(1607,566)]) link(onNewX,7185308:doWork3,[(1012,573)]) link(onNewY,15082334:doWork3,[(1152,580)]) link(onNewZ,1364708:doWork3,[(1292,587)]) link(onNewShiftXColor1,4089858:doWork3,[(823,594)]) link(onNewShiftYColor1,7725295:doWork3,[(872,601)]) link(onNewShiftZColor1,3329036:doWork3,[(921,608)]) link(onNewShiftXColor2,12483126:doWork3,[(655,615)]) link(onNewShiftYColor2,16514924:doWork3,[(704,622)]) link(onNewShiftZColor2,2602144:doWork3,[(753,629)]) link(onNewShiftXColor3,11495026:doWork3,[(554,636)(554,506)(494,506)]) link(onNewShiftYColor3,6778186:doWork3,[(543,643)]) link(onNewShiftZColor3,5541640:doWork3,[(592,650)]) link(onNewShiftX,1419679:doWork3,[(544,657)(544,522)(333,522)]) link(onNewShiftY,7730230:doWork3,[(547,664)(547,517)(382,517)]) link(onNewShiftZ,7923097:doWork3,[(551,671)(551,514)(431,514)]) link(Rotat_If,2236953:Result,[(391,308)(552,308)]) link(OldShiftXColor1,9148891:Var3,[(398,435)(844,435)]) link(OldShiftYColor1,14271363:Var3,[(405,432)(893,432)]) link(OldShiftZColor1,14456107:Var3,[(412,428)(942,428)]) link(OldShiftXColor2,3032167:Var3,[(419,446)(676,446)]) link(OldShiftYColor2,9335642:Var3,[(426,442)(725,442)]) link(OldShiftZColor2,14892012:Var3,[(433,438)(774,438)]) link(OldShiftXColor3,13618155:Var3,[(440,456)(515,456)]) link(OldShiftYColor3,812441:Var3,[(447,452)(564,452)]) link(OldShiftZColor3,15804035:Var3,[(454,449)(613,449)]) link(OldShiftX,5881257:Var3,[(461,387)]) link(OldShiftY,5054028:Var3,[(468,380)]) link(OldShiftZ,14529004:Var3,[(475,373)]) link(OldX,4303154:Var3,[(482,424)(1033,424)]) link(OldY,9642618:Var3,[(489,421)(1173,421)]) link(OldZ,16771945:Var3,[(496,418)(1313,418)]) link(OldAngleX,12067212:Var3,[(503,414)(1446,414)]) link(OldAngleY,4109789:Var3,[(510,410)(1537,410)]) link(OldAngleZ,11220213:Var1,[(517,366)]) } BEGIN_SDK Add(EditMultiEx,12934306,49,21) { WorkCount=#51:doAngleAdd=Дополнительный угол поворота вокруг осей|28:doCalc=Произвести вычисления| EventCount=#32:onNewAngleX=Поворот вокруг оси X|32:onNewAngleY=Поворот вокруг оси Y|32:onNewAngleZ=Поворот вокруг оси Z|32:onNewX=Новая координата по оси X|32:onNewY=Новая координата по оси Y|32:onNewZ=Новая координата по оси Z|53:onNewShiftXColor1=Новый сдвиг по оси X для 1-го цвета|53:onNewShiftYColor1=Новый сдвиг по оси Y для 1-го цвета|53:onNewShiftZColor1=Новый сдвиг по оси Z для 1-го цвета|53:onNewShiftXColor2=Новый сдвиг по оси X для 2-го цвета|53:onNewShiftYColor2=Новый сдвиг по оси Y для 2-го цвета|53:onNewShiftZColor2=Новый сдвиг по оси Z для 2-го цвета|53:onNewShiftXColor3=Новый сдвиг по оси X для 3-го цвета|53:onNewShiftYColor3=Новый сдвиг по оси Y для 3-го цвета|53:onNewShiftZColor3=Новый сдвиг по оси Z для 3-го цвета|42:onNewShiftX=Новая коррекця сдвига по оси X|42:onNewShiftY=Новая коррекця сдвига по оси Y|42:onNewShiftZ=Новая коррекця сдвига по оси Z|7:onError| DataCount=#48:Rotat_If=Условие поворота вокруг осей X, Y или Z|45:OldShiftXColor1=Сдвиг по оси X для 1-го цвета|45:OldShiftYColor1=Сдвиг по оси Y для 1-го цвета|45:OldShiftZColor1=Сдвиг по оси Z для 1-го цвета|45:OldShiftXColor2=Сдвиг по оси X для 2-го цвета|45:OldShiftYColor2=Сдвиг по оси Y для 2-го цвета|45:OldShiftZColor2=Сдвиг по оси Z для 2-го цвета|45:OldShiftXColor3=Сдвиг по оси X для 3-го цвета|45:OldShiftYColor3=Сдвиг по оси Y для 3-го цвета|45:OldShiftZColor3=Сдвиг по оси Z для 3-го цвета|35:OldShiftX=Коррекция сдвига по оси X|35:OldShiftY=Коррекция сдвига по оси Y|35:OldShiftZ=Коррекция сдвига по оси Z|32:OldX=Текущая координата по оси X|32:OldY=Текущая координата по оси Y|32:OldZ=Текущая координата по оси Z|44:OldAngleX=Текущий угол поворота вокруг оси X|44:OldAngleY=Текущий угол поворота вокруг оси Y|44:OldAngleZ=Текущий угол поворота вокруг оси Z| Width=804 Height=459 link(doAngleAdd,2471607:doValue,[(164,27)(164,48)]) link(doCalc,12758238:doData,[(67,34)(67,55)]) } Add(Math,12978752,245,42) { OpType=13 Default=0.17364817766693 AngleMode=1 link(onResult,7078948:doOperation,[]) } Add(Math,7078948,350,42) { OpType=12 Default=0.984807753012208 AngleMode=1 link(Op1,5782489:Var1,[(356,36)(286,36)]) } Add(MathParse,1207584,245,147) { DataCount=4 MathStr="%1*%4 - %2*%3" link(onResult,8490762:doCalc,[]) link(X1,12676998:Var2,[]) link(X2,2211509:Var2,[]) link(X3,4930498:Var1,[(265,121)]) link(X4,13450295:Var1,[(272,114)]) } Add(Math,4995263,427,140) { ResultType=0 link(onResult,5800763:doEvent1,[]) link(Op1,12934306:OldAngleX,[(433,80)(167,80)]) link(Op2,2477476:Var3,[(440,128)]) } Add(If_else,14797385,147,140) { Type=2 Op2=Real(0.4) link(onTrue,9019646:doWork2,[]) link(Op1,11596317:Var2,[]) } Add(Hub,12580310,196,140) { link(onEvent1,4995263:doOperation,[]) link(onEvent2,1207584:doCalc,[]) } Add(MathParse,8490762,322,147) { DataCount=4 MathStr="%2*%4 + %1*%3" link(onResult,9479178:doEvent1,[]) link(X1,12676998:Var3,[(328,135)]) link(X2,2211509:Var3,[(335,128)]) link(X3,4930498:Var3,[(342,121)]) link(X4,13450295:Var3,[(349,114)]) } Add(Hub,9479178,364,147) { link(onEvent1,12786211:doWork2,[(415,153)(415,223)]) link(onEvent2,4971710:doData,[(389,160)(389,188)(238,188)(238,202)]) } Add(DoData,4971710,245,196) { link(onEventData,4355493:doWork2,[]) link(Data,1207584:Result,[]) } Add(Memory,2471607,189,42) { link(onData,12978752:doOperation,[]) } Add(GetDataEx,5782489,280,74) { Angle=3 link(Data,2471607:Value,[(195,79)]) } Add(GetDataEx,13450295,301,109) { link(Data,7078948:Result,[(307,106)(356,106)]) } Add(GetDataEx,12676998,245,130) { link(Data,5339503:Var3,[(251,100)]) } Add(GetDataEx,2211509,252,123) { link(Data,6866399:Var3,[(258,93)]) } Add(If_else,1780087,140,189) { Type=1 Op2=Real(-0.4) link(onTrue,9019646:doWork3,[(186,195)]) link(Op1,11596317:Var1,[(146,128)]) } Add(GetDataEx,11596317,147,123) { link(Data,12934306:OldX,[(153,72)(146,72)]) } Add(HubEx,9019646,182,140) { link(onEvent,12580310:doEvent1,[]) } Add(MathParse,11583349,245,266) { DataCount=4 MathStr="%1*%4 - %2*%3" link(onResult,1078677:doCalc,[]) link(X1,16672984:Var2,[]) link(X2,15137392:Var2,[]) link(X3,4958850:Var1,[(265,240)]) link(X4,4867658:Var1,[(272,233)]) } Add(Math,15388694,420,259) { ResultType=0 link(onResult,45003:doEvent1,[]) link(Op1,12934306:OldAngleY,[(426,140)(174,140)]) link(Op2,6216243:Var3,[(433,247)]) } Add(If_else,12512185,147,259) { Type=2 Op2=Real(0.4) link(onTrue,9296519:doWork2,[]) link(Op1,9755504:Var3,[(153,247)]) } Add(Hub,12550200,196,259) { link(onEvent1,15388694:doOperation,[]) link(onEvent2,11583349:doCalc,[]) } Add(MathParse,1078677,322,266) { DataCount=4 MathStr="%2*%4 + %1*%3" link(onResult,16325338:doEvent1,[]) link(X1,16672984:Var3,[(328,254)]) link(X2,15137392:Var3,[(335,247)]) link(X3,4958850:Var3,[(342,240)]) link(X4,4867658:Var3,[(349,233)]) } Add(Hub,16325338,364,266) { link(onEvent1,13605544:doWork2,[(387,272)(387,223)]) link(onEvent2,7039350:doData,[(387,279)(387,303)(233,303)(233,321)]) } Add(DoData,7039350,245,315) { link(onEventData,12786211:doWork3,[(459,321)]) link(Data,11583349:Result,[]) } Add(GetDataEx,15137392,252,242) { link(Data,11596317:Var3,[(227,242)(227,128)]) } Add(If_else,11100470,133,308) { Type=1 Op2=Real(-0.4) link(onTrue,9296519:doWork3,[(186,314)]) link(Op1,9755504:Var2,[]) } Add(HubEx,9296519,182,259) { link(onEvent,12550200:doEvent1,[]) } Add(MathParse,15074179,252,385) { DataCount=4 MathStr="%1*%4 - %2*%3" link(onResult,4879316:doCalc,[]) link(X1,16337480:Var2,[]) link(X2,13437308:Var2,[]) link(X3,14184652:Var1,[(272,359)]) link(X4,9703410:Var1,[(279,352)]) } Add(Math,8606816,413,378) { ResultType=0 link(onResult,13149597:doEvent1,[]) link(Op1,12934306:OldAngleZ,[(419,200)(181,200)]) link(Op2,6216243:Var2,[(426,371)(412,371)]) } Add(If_else,15214508,140,378) { Type=2 Op2=Real(0.4) link(onTrue,10124390:doWork2,[]) link(Op1,5182783:Var3,[(146,359)]) } Add(Hub,16109034,224,378) { link(onEvent1,8606816:doOperation,[]) link(onEvent2,15074179:doCalc,[]) } Add(MathParse,4879316,329,385) { DataCount=4 MathStr="%2*%4 + %1*%3" link(onResult,14189292:doEvent1,[]) link(X1,16337480:Var3,[(335,373)]) link(X2,13437308:Var3,[(342,366)]) link(X3,14184652:Var3,[(349,359)]) link(X4,9703410:Var3,[(356,352)]) } Add(Hub,14189292,371,385) { link(onEvent1,4355493:doWork3,[(396,391)]) link(onEvent2,4781556:doData,[(396,398)(396,422)(240,422)(240,440)]) } Add(DoData,4781556,252,434) { link(onEventData,13605544:doWork3,[(403,440)]) link(Data,15074179:Result,[]) } Add(If_else,1765195,126,427) { Type=1 Op2=Real(-0.4) link(onTrue,10124390:doWork3,[(186,433)]) link(Op1,5182783:Var2,[]) } Add(HubEx,10124390,182,378) { link(onEvent,16109034:doEvent1,[]) } Add(Case,1394206,77,133) { Value=Integer(5) link(onNextCase,4665274:doCase,[(118,139)(118,177)(65,177)(65,188)]) link(onTrue,14797385:doCompare,[]) } Add(Case,4665274,77,182) { Value=Integer(6) link(onNextCase,3802761:doCase,[(121,188)(121,223)(65,223)(65,258)]) link(onTrue,1780087:doCompare,[]) } Add(DoData,12758238,119,49) { link(onEventData,1394206:doCase,[(159,55)(159,115)(65,115)(65,139)]) link(Data,12934306:Rotat_If,[(125,43)(55,43)]) } Add(GetDataEx,9703410,301,347) { link(Data,4867658:Var2,[]) } Add(GetDataEx,4867658,301,228) { link(Data,13450295:Var2,[]) } Add(GetDataEx,4930498,294,116) { link(Data,12978752:Result,[(300,85)(251,85)]) } Add(GetDataEx,14184652,294,354) { link(Data,4958850:Var2,[]) } Add(GetDataEx,4958850,294,235) { link(Data,4930498:Var2,[]) } Add(GetDataEx,2477476,406,123) { link(Data,5782489:Var3,[(412,79)]) } Add(GetDataEx,6216243,406,242) { link(Data,2477476:Var2,[]) } Add(GetDataEx,5339503,133,95) { Angle=3 link(Data,12934306:OldY,[(134,60)(153,60)]) } Add(GetDataEx,9755504,133,242) { link(Data,5339503:Var2,[]) } Add(GetDataEx,6866399,126,88) { Angle=3 link(Data,12934306:OldZ,[(127,57)(160,57)]) } Add(GetDataEx,5182783,126,354) { link(Data,6866399:Var2,[]) } Add(HubEx,12786211,455,217) { link(onEvent,12934306:onNewZ,[(467,223)(467,62)]) } Add(HubEx,13605544,399,217) { Angle=3 link(onEvent,12934306:onNewX,[(403,48)]) } Add(HubEx,4355493,392,196) { Angle=3 link(onEvent,12934306:onNewY,[(396,55)]) } Add(Case,3802761,77,252) { Value=Integer(3) link(onNextCase,7347394:doCase,[(118,258)(118,296)(65,296)(65,307)]) link(onTrue,12512185:doCompare,[]) } Add(Case,7347394,77,301) { Value=Integer(4) link(onNextCase,6874294:doCase,[(121,307)(121,342)(65,342)(65,377)]) link(onTrue,11100470:doCompare,[]) } Add(Case,6874294,77,371) { Value=Integer(1) link(onNextCase,4577438:doCase,[(118,377)(118,415)(65,415)(65,426)]) link(onTrue,15214508:doCompare,[]) } Add(Case,4577438,77,420) { Value=Integer(2) link(onTrue,1765195:doCompare,[]) } Add(GetDataEx,16672984,245,249) { link(Data,2211509:Var1,[(236,249)(236,128)]) } Add(GetDataEx,13437308,259,361) { Angle=3 link(Data,12676998:Var1,[(220,366)(220,135)]) } Add(GetDataEx,16337480,252,368) { Angle=3 link(Data,15137392:Var1,[(230,373)(230,247)]) } Add(Hub,5800763,476,140) { link(onEvent1,11798099:doWork2,[(498,146)(498,27)]) link(onEvent2,4365537:doCompare,[]) } Add(Hub,45003,476,259) { link(onEvent1,15995307:doWork2,[(505,265)(505,34)]) link(onEvent2,3802586:doCompare,[]) } Add(Hub,13149597,476,378) { link(onEvent1,3824410:doWork2,[(513,384)(513,41)]) link(onEvent2,11122686:doCompare,[]) } Add(If_else,5342354,602,147) { Type=5 Op2=Integer(90) link(onFalse,9715300:doEvent1,[]) } Add(HubEx,11798099,728,21) { link(onEvent,12934306:onNewAngleX,[]) } Add(HubEx,15995307,735,28) { link(onEvent,12934306:onNewAngleY,[]) } Add(HubEx,3824410,742,35) { link(onEvent,12934306:onNewAngleZ,[]) } Add(DoData,3189635,693,147) { Data=Integer(0) link(onEventData,11798099:doWork3,[(732,153)]) } Add(FormatStr,1184776,581,84) { DataCount=8 Mask="" Point(doMask) link(onFString,7612735:doReplace,[]) link(Str1,13156694:Var2,[]) link(Str2,11876668:Var2,[]) link(Str3,1741015:Var2,[]) link(Str4,7898676:Var2,[]) link(Str5,229249:Var2,[]) link(Str6,14471069:Var2,[]) link(Str7,5643910:Var2,[]) link(Str8,12679569:Var2,[]) } Add(MultiStrData,10208192,756,84) { Count=8 link(onPart1,599894:doWork2,[]) link(onPart2,6455753:doWork2,[]) link(onPart3,11955128:doWork2,[]) link(onPart4,789285:doWork2,[]) link(onPart5,11769414:doWork2,[]) link(onPart6,11840324:doWork2,[]) link(onPart7,7348801:doWork2,[]) link(onPart8,14081867:doWork2,[]) } Add(Replace,7612735,651,84) { SubStr="--" link(onReplace,14911278:doReplace,[]) } Add(Replace,14911278,693,84) { SubStr="-0;" DestStr="0;" link(onReplace,10208192:doSplit,[]) } Add(If_else,4365537,518,147) { Type=5 Op2=Integer(-90) link(onTrue,5342354:doCompare,[]) link(onFalse,11688548:doEvent1,[]) } Add(Hub,11688548,560,154) { OutCount=3 link(onEvent1,1638943:doData,[(588,160)(588,139)(518,139)(518,111)]) link(onEvent2,13451029:doWork3,[(571,167)]) link(onEvent3,1668266:doWork3,[(579,174)(579,184)(669,184)]) } Add(Hub,9715300,644,154) { OutCount=3 link(onEvent1,9226499:doData,[(665,160)(665,142)(515,142)(515,97)]) link(onEvent2,13451029:doWork1,[(670,167)(670,125)]) link(onEvent3,1668266:doWork2,[]) } Add(HubEx,1668266,665,168) { link(onEvent,3189635:doData,[(684,174)(684,153)]) } Add(DoData,9226499,525,91) { Data=String(-%2;%1;-%4;%3;-%6;%5;-%8;%7) link(onEventData,9223261:doWork2,[]) } Add(DoData,1638943,525,105) { Data=String(%2;-%1;%4;-%3;%6;-%5;%8;-%7) link(onEventData,9223261:doWork3,[(564,111)]) } Add(HubEx,9223261,560,91) { link(onEvent,1184776:doMask,[]) } Add(HubEx,13451029,567,119) { Angle=3 link(onEvent,1184776:doString,[(571,90)]) } Add(If_else,6634053,602,266) { Type=5 Op2=Integer(90) link(onFalse,2143555:doEvent1,[]) } Add(DoData,2659865,686,266) { Data=Integer(0) link(onEventData,15995307:doWork3,[(739,272)]) } Add(FormatStr,13907117,588,203) { DataCount=8 Mask="" Point(doMask) link(onFString,11614198:doReplace,[]) link(Str1,11876668:Var1,[(594,187)(567,187)(567,72)]) link(Str2,10140559:Var2,[]) link(Str3,7898676:Var1,[(608,187)(568,187)(568,72)]) link(Str4,16720371:Var2,[]) link(Str5,14471069:Var1,[(622,187)(568,187)(568,72)]) link(Str6,371449:Var2,[]) link(Str7,12679569:Var1,[(636,187)(568,187)(568,72)]) link(Str8,13063548:Var2,[]) } Add(MultiStrData,1851094,756,203) { Count=8 link(onPart1,6455753:doWork3,[(802,209)]) link(onPart2,2217507:doWork2,[]) link(onPart3,789285:doWork3,[(809,223)]) link(onPart4,14256840:doWork2,[]) link(onPart5,11840324:doWork3,[(816,237)]) link(onPart6,8780517:doWork2,[]) link(onPart7,14081867:doWork3,[(823,251)]) link(onPart8,8865773:doWork2,[]) } Add(Replace,11614198,658,203) { SubStr="--" link(onReplace,6112574:doReplace,[]) } Add(Replace,6112574,700,203) { SubStr="-0;" DestStr="0;" link(onReplace,1851094:doSplit,[]) } Add(If_else,3802586,518,266) { Type=5 Op2=Integer(-90) link(onTrue,6634053:doCompare,[]) link(onFalse,12521448:doEvent1,[]) } Add(Hub,12521448,560,273) { OutCount=3 link(onEvent1,15269577:doData,[(586,279)(586,258)(519,258)(519,230)]) link(onEvent2,11476159:doWork3,[(578,286)]) link(onEvent3,15302509:doWork3,[(581,293)(581,304)(669,304)]) } Add(Hub,2143555,644,273) { OutCount=3 link(onEvent1,4706097:doData,[(665,279)(665,261)(516,261)(516,216)]) link(onEvent2,11476159:doWork1,[(670,286)(670,244)]) link(onEvent3,15302509:doWork2,[]) } Add(HubEx,15302509,665,287) { link(onEvent,2659865:doData,[(680,293)(680,272)]) } Add(DoData,4706097,525,210) { Data=String(-%2;%1;-%4;%3;-%6;%5;-%8;%7) link(onEventData,270487:doWork2,[]) } Add(DoData,15269577,525,224) { Data=String(%2;-%1;%4;-%3;%6;-%5;%8;-%7) link(onEventData,270487:doWork3,[(564,230)]) } Add(HubEx,270487,560,210) { link(onEvent,13907117:doMask,[]) } Add(HubEx,11476159,574,238) { Angle=3 link(onEvent,13907117:doString,[(578,209)]) } Add(GetDataEx,11876668,588,67) { link(Data,12934306:OldShiftZColor1,[(594,44)(76,44)]) } Add(GetDataEx,7898676,602,67) { link(Data,12934306:OldShiftZColor2,[(608,44)(97,44)]) } Add(GetDataEx,14471069,616,67) { link(Data,12934306:OldShiftZColor3,[(622,44)(118,44)]) } Add(GetDataEx,12679569,630,67) { link(Data,12934306:OldShiftZ,[(636,44)(139,44)]) } Add(HubEx,6455753,798,91) { link(onEvent,12934306:onNewShiftZColor1,[(844,97)(844,83)]) } Add(HubEx,789285,805,105) { link(onEvent,12934306:onNewShiftZColor2,[(844,111)(844,104)]) } Add(HubEx,11840324,812,119) { link(onEvent,12934306:onNewShiftZColor3,[]) } Add(HubEx,14081867,819,133) { link(onEvent,12934306:onNewShiftZ,[(845,139)(845,146)]) } Add(If_else,4671379,602,385) { Type=5 Op2=Integer(90) link(onFalse,11920392:doEvent1,[]) } Add(DoData,1913789,686,385) { Data=Integer(0) link(onEventData,3824410:doWork3,[(746,391)]) } Add(FormatStr,4952197,588,322) { DataCount=8 Mask="" Point(doMask) link(onFString,12627292:doReplace,[]) link(Str1,10140559:Var3,[(594,306)(649,306)(649,191)]) link(Str2,13156694:Var1,[(601,315)(559,315)(559,65)]) link(Str3,16720371:Var3,[(608,307)(650,307)(650,191)]) link(Str4,1741015:Var1,[(615,314)(560,314)(560,65)]) link(Str5,371449:Var3,[(622,308)(651,308)(651,191)]) link(Str6,229249:Var1,[(629,313)(561,313)(561,65)]) link(Str7,13063548:Var3,[(636,309)(652,309)(652,191)]) link(Str8,5643910:Var1,[(643,312)(562,312)(562,65)]) } Add(MultiStrData,13692976,756,322) { Count=8 link(onPart1,2217507:doWork3,[(802,328)]) link(onPart2,599894:doWork3,[(830,335)]) link(onPart3,14256840:doWork3,[(809,342)]) link(onPart4,11955128:doWork3,[(830,349)]) link(onPart5,8780517:doWork3,[(816,356)]) link(onPart6,11769414:doWork3,[(830,363)]) link(onPart7,8865773:doWork3,[(823,370)]) link(onPart8,7348801:doWork3,[(830,377)]) } Add(Replace,12627292,658,322) { SubStr="--" link(onReplace,10291545:doReplace,[]) } Add(Replace,10291545,700,322) { SubStr="-0;" DestStr="0;" link(onReplace,13692976:doSplit,[]) } Add(If_else,11122686,518,385) { Type=5 Op2=Integer(-90) link(onTrue,4671379:doCompare,[]) link(onFalse,2645692:doEvent1,[]) } Add(Hub,2645692,560,392) { OutCount=3 link(onEvent1,11729727:doData,[(586,398)(586,377)(519,377)(519,349)]) link(onEvent2,6712956:doWork3,[(578,405)]) link(onEvent3,5709924:doWork3,[(579,412)(579,422)(669,422)]) } Add(Hub,11920392,644,392) { OutCount=3 link(onEvent1,7014312:doData,[(665,398)(665,380)(516,380)(516,335)]) link(onEvent2,6712956:doWork1,[(670,405)(670,363)]) link(onEvent3,5709924:doWork2,[]) } Add(HubEx,5709924,665,406) { link(onEvent,1913789:doData,[(680,412)(680,391)]) } Add(DoData,7014312,525,329) { Data=String(-%2;%1;-%4;%3;-%6;%5;-%8;%7) link(onEventData,1046915:doWork2,[]) } Add(DoData,11729727,525,343) { Data=String(%2;-%1;%4;-%3;%6;-%5;%8;-%7) link(onEventData,1046915:doWork3,[(564,349)]) } Add(HubEx,1046915,560,329) { link(onEvent,4952197:doMask,[]) } Add(HubEx,6712956,574,357) { Angle=3 link(onEvent,4952197:doString,[(578,328)]) } Add(GetDataEx,10140559,595,186) { link(Data,12934306:OldShiftXColor1,[(601,104)(62,104)]) } Add(GetDataEx,16720371,609,186) { link(Data,12934306:OldShiftXColor2,[(615,104)(83,104)]) } Add(GetDataEx,371449,623,186) { link(Data,12934306:OldShiftXColor3,[(629,104)(104,104)]) } Add(GetDataEx,13063548,637,186) { link(Data,12934306:OldShiftX,[(643,104)(125,104)]) } Add(GetDataEx,13156694,581,60) { link(Data,12934306:OldShiftYColor1,[(587,40)(69,40)]) } Add(GetDataEx,1741015,595,60) { link(Data,12934306:OldShiftYColor2,[(601,40)(90,40)]) } Add(GetDataEx,229249,609,60) { link(Data,12934306:OldShiftYColor3,[(615,37)(111,37)]) } Add(GetDataEx,5643910,623,60) { link(Data,12934306:OldShiftY,[(629,37)(132,37)]) } Add(HubEx,2217507,798,210) { link(onEvent,12934306:onNewShiftXColor1,[(843,216)(843,69)]) } Add(HubEx,14256840,805,224) { link(onEvent,12934306:onNewShiftXColor2,[(845,230)(845,90)]) } Add(HubEx,8780517,812,238) { link(onEvent,12934306:onNewShiftXColor3,[(845,244)(845,111)]) } Add(HubEx,8865773,819,252) { link(onEvent,12934306:onNewShiftX,[(848,258)(848,132)]) } Add(HubEx,599894,826,84) { link(onEvent,12934306:onNewShiftYColor1,[(840,90)(840,76)]) } Add(HubEx,11955128,826,98) { link(onEvent,12934306:onNewShiftYColor2,[(844,104)(844,97)]) } Add(HubEx,11769414,826,112) { link(onEvent,12934306:onNewShiftYColor3,[]) } Add(HubEx,7348801,826,126) { link(onEvent,12934306:onNewShiftY,[(844,132)(844,139)]) } END_SDK Add(GetDataEx,4109789,1526,270) { link(Data,9359028:Value,[]) } Add(GetDataEx,11220213,1617,361) { link(Data,4364497:Value,[]) } Add(HubEx,1501039,1512,231) { link(onEvent,9359028:doValue,[]) } Add(HubEx,3245798,1603,224) { link(onEvent,4364497:doValue,[]) } Add(HubEx,7185308,1008,259) { link(onEvent,11894822:doValue,[]) } Add(GetDataEx,4303154,1022,298) { link(Data,11894822:Value,[]) } Add(GetDataEx,9642618,1162,291) { link(Data,8558354:Value,[]) } Add(GetDataEx,16771945,1302,284) { link(Data,6247873:Value,[]) } Add(Convertor,4748103,973,259) { Mode=10 link(onResult,7185308:doWork2,[]) } Add(Convertor,3532215,1253,245) { Mode=10 link(onResult,1364708:doWork2,[]) } Add(Convertor,14487463,1113,252) { Mode=10 link(onResult,15082334:doWork2,[]) } Add(Convertor,2078424,1477,231) { Mode=10 link(onResult,1501039:doWork2,[]) } Add(Convertor,13241356,1386,238) { Mode=10 link(onResult,15988594:doWork2,[]) } Add(Convertor,3339731,1568,224) { Mode=10 link(onResult,3245798:doWork2,[]) } Add(Memory,15808283,763,287) { } Add(Memory,4651504,714,294) { } Add(Memory,6101567,665,301) { } Add(Memory,5564031,602,308) { } Add(Memory,8292671,553,315) { } Add(Memory,6554260,504,322) { } Add(Memory,14822179,441,329) { } Add(Memory,10516321,392,336) { } Add(Memory,1919961,343,343) { } Add(GetDataEx,3736992,1141,648) { link(Data,5881257:Var2,[(1147,540)(349,540)]) } Add(GetDataEx,14045259,1148,641) { link(Data,5054028:Var2,[(1154,533)(398,533)]) } Add(GetDataEx,675527,1155,634) { link(Data,14529004:Var2,[(1161,526)(447,526)]) } Add(GetDataEx,9209062,1015,627) { link(Data,13618155:Var2,[(1021,491)(510,491)]) } Add(GetDataEx,16750597,1022,620) { link(Data,812441:Var2,[(1028,495)(559,495)]) } Add(GetDataEx,3874356,1029,613) { link(Data,15804035:Var2,[(1035,488)(608,488)]) } Add(GetDataEx,2359197,903,592) { link(Data,14892012:Var2,[(909,467)(769,467)]) } Add(GetDataEx,4017085,896,599) { link(Data,9335642:Var2,[(902,474)(720,474)]) } Add(GetDataEx,6670226,889,606) { link(Data,3032167:Var2,[(895,481)(671,481)]) } Add(GetDataEx,9148891,833,319) { link(Data,3010614:Value,[]) } Add(GetDataEx,14271363,882,312) { link(Data,5463485:Value,[]) } Add(GetDataEx,14456107,931,305) { link(Data,7628247:Value,[]) } Add(GetDataEx,3032167,665,340) { link(Data,6101567:Value,[]) } Add(GetDataEx,9335642,714,333) { link(Data,4651504:Value,[]) } Add(GetDataEx,14892012,763,326) { link(Data,15808283:Value,[]) } Add(GetDataEx,13618155,504,361) { link(Data,6554260:Value,[]) } Add(GetDataEx,812441,553,354) { link(Data,8292671:Value,[]) } Add(GetDataEx,15804035,602,347) { link(Data,5564031:Value,[]) } Add(GetDataEx,5881257,343,382) { link(Data,1919961:Value,[]) } Add(GetDataEx,5054028,392,375) { link(Data,10516321:Value,[]) } Add(GetDataEx,14529004,441,368) { link(Data,14822179:Value,[]) } Add(HubEx,3329036,917,266) { link(onEvent,7628247:doValue,[]) } Add(HubEx,7725295,868,273) { link(onEvent,5463485:doValue,[]) } Add(HubEx,2602144,749,287) { link(onEvent,15808283:doValue,[]) } Add(HubEx,16514924,700,294) { link(onEvent,4651504:doValue,[]) } Add(HubEx,5541640,588,308) { link(onEvent,5564031:doValue,[]) } Add(HubEx,6778186,539,315) { link(onEvent,8292671:doValue,[]) } Add(HubEx,7923097,427,329) { link(onEvent,14822179:doValue,[]) } Add(HubEx,7730230,378,336) { link(onEvent,10516321:doValue,[]) } Add(HubEx,4089858,819,280) { link(onEvent,3010614:doValue,[]) } Add(HubEx,12483126,651,301) { link(onEvent,6101567:doValue,[]) } Add(HubEx,11495026,490,322) { link(onEvent,6554260:doValue,[]) } Add(HubEx,1419679,329,343) { link(onEvent,1919961:doValue,[]) } Add(Dir,14137040,119,21) { } Add(StrCat,15757005,56,21) { Str2="BeginCR.ini" link(onStrCat,818667:doWork1,[(109,27)]) link(Str1,12913857:Var1,[(62,9)(91,9)(91,65)]) } Add(StrCat,1868339,56,91) { Str2="OldGameCR.ini" link(onStrCat,818667:doWork2,[]) link(Str1,12913857:Var2,[(62,76)(125,76)]) } Add(HubEx,818667,105,91) { Angle=1 link(onEvent,13352129:doLoad,[(109,137)(37,137)(37,181)]) } Add(StrCat,4395833,147,77) { Str2="OldGameCR.ini" link(onStrCat,13352129:doSave,[(190,83)(190,127)(31,127)(31,188)]) link(Str1,12913857:Var3,[(153,65)]) } Add(GetDataEx,12913857,119,60) { link(Data,14137040:CurrentDir,[]) } END_SDK Add(MultiElement,9973085,329,140) { @Hint=#74:Расчёт поворота картинки и приведение к ближайшему из 16 удобных положений|54:onEvent1 Положение кубика для синхронизации с кнопками| link(onEvent1,16698432:doWork1,[]) link(Data1,13747798:MouseX,[(335,128)(298,128)(298,180)(272,180)]) link(Data2,13747798:MouseY,[(342,122)(291,122)(291,173)(279,173)]) } BEGIN_SDK Add(EditMulti,15656945,21,7) { EventCount=1 WorkCount=4 DataCount=2 VarCount=2 Width=482 Height=333 VOffset=35 HOffset=168 link(doWork1,5333996:doWork1,[(43,48)(43,83)]) link(doWork2,5333996:doWork2,[(39,55)(39,90)]) link(doWork3,13568458:doEvent1,[(35,62)(35,167)]) link(doWork4,11982731:doEvent1,[(28,69)(28,279)]) link(Var1,3579096:Var1,[(195,156)]) link(Var2,15943543:Var1,[(202,163)]) } Add(SampleDelta,15036291,203,63) { Store=Integer(0) link(onCalcDelta,14415022:doValue,[]) link(Data,15656945:Data1,[(209,27)(195,27)]) } Add(SampleDelta,3523299,329,63) { Store=Integer(0) link(onCalcDelta,13124761:doValue,[]) link(Data,15656945:Data2,[(335,19)(202,19)]) } Add(Memory,14415022,287,63) { Default=Integer(0) link(onData,3523299:doCalcDelta,[]) } Add(Memory,13124761,378,63) { Default=Integer(0) } Add(GetDataEx,3579096,287,151) { link(Data,15113616:Result,[]) } Add(ChanelToIndex,5333996,98,77) { link(onIndex,7096406:doValue,[]) } Add(Memory,7096406,161,77) { Default=Integer(0) } Add(Hub,13568458,98,161) { link(onEvent1,15036291:doCalcDelta,[(136,167)(136,69)]) link(onEvent2,645637:doCompare,[]) } Add(If_else,645637,161,168) { Op2=Integer(1) link(onTrue,10340122:doEvent1,[]) link(Op1,8051022:Var2,[]) link(Op2,7530167:Value,[(174,149)(188,149)]) } Add(Memory,7530167,182,112) { Default=Integer(1) } Add(Hub,13933886,126,273) { OutCount=3 link(onEvent1,15270484:doEvent1,[(154,279)(154,34)]) link(onEvent2,13081174:doCompare,[(161,286)(161,251)]) link(onEvent3,3606230:doCompare,[(154,293)(154,300)]) } Add(If_else,3475586,84,273) { Op2=Integer(1) link(onTrue,13933886:doEvent1,[]) link(Op1,8051022:Var1,[(90,135)]) link(Op2,3172902:Value,[(97,268)(104,268)]) } Add(Memory,3172902,98,217) { Default=Integer(0) } Add(GetDataEx,8051022,161,130) { link(Data,7096406:Value,[]) } Add(MathParse,8500406,287,189) { DataCount=1 MathStr="sign(((%1 - 15) mod 90) - 45)" ResultType=0 Point(doClear) link(X1,3579096:Var2,[]) } Add(MathParse,15113616,287,112) { MathStr="%0 + %1 - %2" ResultType=0 Default=360330 link(onResult,8500406:doCalc,[(332,118)(332,150)(275,150)(275,195)]) link(X1,14415022:Value,[]) link(X2,14339272:Var2,[(300,102)(323,102)(323,234)(293,234)]) } Add(If_else,13081174,168,245) { Type=5 Op2=Integer(0) link(onTrue,9856487:doWork3,[(256,251)]) link(Op1,14339272:Var1,[(174,226)]) } Add(GetDataEx,14339272,287,221) { link(Data,8500406:Result,[]) } Add(HubEx,9856487,252,168) { link(onEvent,15113616:doCalc,[(267,174)(267,118)]) } Add(Hub,15270484,168,28) { link(onEvent1,13124761:doClear,[(369,34)(369,76)]) link(onEvent2,14415022:doClear,[(275,41)(275,76)]) } Add(GetDataEx,15943543,378,158) { link(Data,3146457:Result,[]) } Add(MathParse,12569932,378,189) { DataCount=1 MathStr="sign(((%1 + 15) mod 90) - 45)" ResultType=0 Point(doClear) link(onResult,6892144:doCalc,[]) link(X1,15943543:Var2,[]) } Add(MathParse,3146457,378,112) { MathStr="%0 + %1 - %2" ResultType=0 Default=360030 link(onResult,12569932:doCalc,[(416,118)(416,155)(366,155)(366,195)]) link(X1,13124761:Value,[]) link(X2,5019789:Var3,[(391,100)(421,100)(421,233)]) } Add(GetDataEx,5019789,378,228) { link(Data,12569932:Result,[]) } Add(If_else,3606230,168,294) { Type=5 Op2=Integer(0) link(onTrue,2741394:doWork3,[(270,300)]) link(Op1,5019789:Var2,[(174,285)(384,285)]) } Add(Hub,10340122,231,168) { OutCount=3 link(onEvent1,9856487:doWork2,[]) link(onEvent2,2741394:doWork2,[]) } Add(HubEx,2741394,266,175) { link(onEvent,3146457:doCalc,[(349,181)(349,118)]) } Add(MathParse,6892144,434,189) { MathStr="((%1 mod 360) div 90) + ((%2 mod 360) div 90)*4" ResultType=0 link(onResult,15656945:onEvent1,[(484,195)(484,48)]) link(X1,15943543:Var3,[(440,163)]) link(X2,3579096:Var3,[(447,156)]) } Add(Hub,11982731,35,273) { OutCount=6 link(onEvent1,68103:doEvent1,[]) link(onEvent2,68103:doEvent2,[]) link(onEvent3,68103:doEvent3,[]) link(onEvent4,68103:doEvent4,[]) link(onEvent5,68103:doEvent5,[]) link(onEvent6,68103:doEvent6,[]) } Add(Hub,68103,63,273) { InCount=6 OutCount=1 link(onEvent1,3475586:doCompare,[]) } END_SDK Add(ChildPanel,16698432,399,140) { @Hint=#28:Панель управления с кнопками|50:doWork1 Синхронизация кнопок с положением кубика|48:doWork2 Сигнал об окончания отрисовки поворота|27:onEvent1 Код нажатой кнопки|27:onEvent2 Длительность кадра|14:onEvent3 Сброс|23:onEvent4 Сохранить игру|33:onEvent5 Открыть сохранённую игру| link(onEvent1,402330:doBotton,[]) link(onEvent2,5111529:doWork3,[(442,153)(442,241)(244,241)(244,216)]) link(onEvent3,402330:doBegin,[]) link(onEvent4,402330:doOldGame,[(436,167)(436,174)]) } BEGIN_SDK Add(EditMulti,6281121,21,7) { EventCount=4 WorkCount=2 Width=916 Height=543 link(doWork1,7693520:doData,[(35,13)(35,83)]) link(doWork2,15085432:doWork2,[(32,20)(32,321)]) } Add(Panel,9651877,63,196) { Width=145 Height=373 Align=1 } Add(BitBtn,2072307,413,308) { Left=40 Top=120 Width=25 Height=60 Color=255 Font=[MS Sans Serif,14,0,0,1] FrameColor=0 Caption="^(" Point(doColor) Point(doEnabled) link(onClick,725366:doEvent1,[]) } Add(BitBtn,73933,469,350) { Left=78 Top=120 Width=25 Height=60 Color=255 Font=[MS Sans Serif,14,0,0,204] FrameColor=0 Caption=")^" Point(doColor) Point(doEnabled) link(onClick,3754681:doEvent1,[]) } Add(BitBtn,6092101,266,259) { Left=5 Top=120 Width=25 Height=25 Color=16711680 FrameColor=0 Caption="^" Point(doColor) Point(doEnabled) link(onClick,16298908:doEvent1,[]) } Add(BitBtn,10783029,252,378) { Left=5 Top=155 Width=25 Height=25 Color=16711680 FrameColor=0 Caption="v" Point(doColor) Point(doEnabled) link(onClick,9360105:doEvent1,[]) } Add(BitBtn,10019017,630,266) { Left=110 Top=120 Width=25 Height=25 Color=15780518 FrameColor=0 Caption="^" Point(doColor) Point(doEnabled) link(onClick,14812678:doEvent1,[]) } Add(BitBtn,551453,630,392) { Left=110 Top=155 Width=25 Height=25 Color=15780518 FrameColor=0 Caption="v" Point(doColor) Point(doEnabled) link(onClick,10441741:doEvent1,[]) } Add(BitBtn,3082758,392,224) { Left=40 Top=85 Width=25 Height=25 Color=65535 FrameColor=0 Caption="<" Point(doColor) Point(doEnabled) link(onClick,8788696:doEvent1,[]) } Add(BitBtn,4513201,469,196) { Left=78 Top=85 Width=25 Height=25 Color=65535 FrameColor=0 Caption=">" Point(doColor) Point(doEnabled) link(onClick,8530592:doEvent1,[]) } Add(BitBtn,7768666,392,462) { Left=40 Top=185 Width=25 Height=25 Color=32768 FrameColor=0 Caption="<" Point(doColor) Point(doEnabled) link(onClick,16005984:doEvent1,[]) } Add(BitBtn,15296957,476,434) { Left=78 Top=185 Width=25 Height=25 Color=32768 FrameColor=0 Caption=">" Point(doColor) Point(doEnabled) link(onClick,126761:doEvent1,[]) } Add(Hub,8788696,434,224) { link(onEvent1,8869509:doWork1,[(459,230)]) link(onEvent2,712170:doOperation,[]) } Add(Hub,8530592,511,196) { link(onEvent1,9344212:doWork1,[(536,202)]) link(onEvent2,811656:doData,[(537,209)(537,223)(492,223)(492,209)]) } Add(Hub,16298908,308,259) { link(onEvent1,5757138:doWork1,[(396,265)]) link(onEvent2,2039786:doData,[]) } Add(Hub,9360105,315,378) { link(onEvent1,13368760:doWork3,[(333,384)]) link(onEvent2,13660161:doOperation,[]) } Add(Hub,16005984,434,462) { link(onEvent1,3163435:doWork3,[(634,468)]) link(onEvent2,12979358:doData,[]) } Add(Hub,725366,455,308) { link(onEvent1,15120966:doWork3,[(480,314)]) link(onEvent2,8900669:doData,[]) } Add(Hub,3754681,511,350) { link(onEvent1,9344212:doWork3,[(536,356)]) link(onEvent2,5186320:doOperation,[]) } Add(Hub,126761,518,434) { link(onEvent1,3163435:doWork2,[]) link(onEvent2,14300763:doOperation,[]) } Add(Hub,10441741,672,392) { link(onEvent1,3441608:doWork3,[(697,398)]) link(onEvent2,6099720:doData,[]) } Add(Hub,14812678,672,266) { link(onEvent1,3441608:doWork1,[(697,272)]) link(onEvent2,3690374:doOperation,[]) } Add(ChanelToIndex,15085432,140,308) { link(onIndex,11844760:doEvent1,[]) } Add(Hub,11844760,182,308) { OutCount=10 link(onEvent1,6092101:doEnabled,[(204,314)(204,279)]) link(onEvent2,3082758:doEnabled,[(218,321)(218,244)]) link(onEvent3,4513201:doEnabled,[(225,328)(225,216)]) link(onEvent4,10019017:doEnabled,[(312,335)(312,286)]) link(onEvent5,2072307:doEnabled,[(304,342)(304,328)]) link(onEvent6,73933:doEnabled,[(318,349)(318,370)]) link(onEvent7,551453:doEnabled,[(307,356)(307,412)]) link(onEvent8,15296957:doEnabled,[(301,363)(301,454)]) link(onEvent9,7768666:doEnabled,[(294,370)(294,482)]) link(onEvent10,10783029:doEnabled,[(231,377)(231,398)]) } Add(Hub,11145804,378,308) { link(onEvent1,73933:doColor,[(402,314)(402,363)]) link(onEvent2,2072307:doColor,[]) } Add(HubEx,3441608,693,294) { Angle=2 link(onEvent,9344212:doWork2,[]) } Add(HubEx,9344212,532,294) { Angle=2 link(onEvent,15120966:doWork2,[]) } Add(HubEx,15120966,476,294) { Angle=2 link(onEvent,8869509:doWork2,[]) } Add(HubEx,8869509,455,294) { Angle=2 link(onEvent,5757138:doWork2,[]) } Add(HubEx,5757138,392,294) { Angle=2 link(onEvent,13368760:doWork2,[]) } Add(HubEx,13368760,329,294) { Angle=2 link(onEvent,5238774:doEvent1,[(93,300)(93,307)]) } Add(HubEx,3163435,630,434) { link(onEvent,3441608:doWork2,[(702,440)]) } Add(StrList,13534561,112,35) { Strings=#47:65280;16711680;16776960;65535;32768;6;-2;1;3;-4|46:65280;32768;65535;16711680;16776960;6;4;3;-2;1|46:65280;16776960;16711680;32768;65535;6;1;2;-4;3|46:65280;65535;32768;16776960;16711680;6;3;4;1;-2|42:16711680;255;65280;65535;32768;2;5;-6;3;-4|45:32768;255;65280;16711680;16776960;4;5;-6;-2;1|43:16776960;255;65280;32768;65535;-1;5;-6;-4;3|46:65535;255;65280;16776960;16711680;-3;5;-6;1;-2|46:255;16776960;16711680;65535;32768;-5;1;-2;3;-4|46:255;65535;32768;16711680;16776960;-5;3;-4;-2;1|46:255;16711680;16776960;32768;65535;-5;-2;1;-4;3|46:255;32768;65535;16776960;16711680;-5;-4;3;1;-2|43:16776960;65280;255;65535;32768;-1;-6;5;3;-4|46:65535;65280;255;16711680;16776960;-3;-6;5;-2;1|42:16711680;65280;255;32768;65535;2;-6;5;-4;3|45:32768;65280;255;16776960;16711680;4;-6;5;1;-2| Point(doGetString) Point(onGetString) link(onGetString,256459:doSplit,[]) } Add(StrPart,382792,308,42) { Char=";" Point(Left) link(onSplit,3259681:doSplit,[]) link(onPart,15956355:doEvent1,[(361,55)(361,103)(342,103)(342,202)]) } Add(StrPart,10831437,259,42) { Char=";" Point(Left) link(onSplit,382792:doSplit,[]) link(onPart,11204741:doEvent1,[(314,55)(314,251)]) } Add(StrPart,5529980,210,42) { Char=";" Point(Left) link(onSplit,10831437:doSplit,[]) link(onPart,1647945:doEvent1,[(268,55)(268,88)(230,88)(230,265)]) } Add(StrPart,256459,161,42) { Char=";" Point(Left) link(onSplit,5529980:doSplit,[]) link(onPart,11145804:doEvent1,[(213,55)(213,314)]) } Add(Hub,1647945,238,259) { link(onEvent1,10783029:doColor,[(258,265)(258,328)(240,328)(240,391)]) link(onEvent2,6092101:doColor,[]) } Add(Hub,11204741,588,245) { link(onEvent1,551453:doColor,[(605,251)(605,405)]) link(onEvent2,10019017:doColor,[(622,258)(622,279)]) } Add(Hub,15956355,350,196) { link(onEvent1,4513201:doColor,[(387,202)(387,209)]) link(onEvent2,3082758:doColor,[(381,209)(381,237)]) } Add(Hub,1585820,357,434) { link(onEvent1,15296957:doColor,[(427,440)(427,447)]) link(onEvent2,7768666:doColor,[(381,447)(381,475)]) } Add(ChangeMon,7693520,49,77) { link(onData,3724387:doWork2,[]) } Add(StrPart,369637,504,42) { Char=";" Point(Left) link(onSplit,9060969:doSplit,[]) } Add(StrPart,1393122,455,42) { Char=";" Point(Left) link(onSplit,369637:doSplit,[]) } Add(StrPart,870905,406,42) { Char=";" Point(Left) link(onSplit,1393122:doSplit,[]) } Add(StrPart,3259681,357,42) { Char=";" Point(Left) link(onSplit,870905:doSplit,[]) link(onPart,1585820:doEvent1,[(415,55)(415,97)(339,97)(339,440)]) } Add(StrPart,9060969,553,42) { Char=";" Point(Left) Point(Right) } Add(DoData,8900669,490,315) { link(onEventData,143810:doWork3,[(592,321)]) link(Data,11653986:Var1,[(496,310)]) } Add(GetDataEx,11653986,539,305) { link(Data,870905:Left,[(545,189)(412,189)]) } Add(Math,5186320,532,357) { OpType=1 ResultType=0 link(onResult,4014519:doWork3,[(585,363)]) link(Op2,11653986:Var2,[]) } Add(DoData,811656,553,203) { link(onEventData,143810:doWork1,[(592,209)]) link(Data,156997:Var2,[]) } Add(GetDataEx,156997,553,179) { link(Data,9060969:Left,[]) } Add(Math,712170,518,231) { OpType=1 ResultType=0 link(onResult,4014519:doWork1,[(585,237)]) link(Op2,156997:Var1,[(531,184)]) } Add(DoData,2039786,336,266) { link(onEventData,11405519:doWork2,[]) link(Data,3341245:Var1,[(342,261)]) } Add(GetDataEx,3341245,364,256) { link(Data,1393122:Left,[(370,165)(461,165)]) } Add(Math,13660161,357,385) { OpType=1 ResultType=0 link(onResult,11405519:doWork3,[(403,391)]) link(Op2,3341245:Var2,[]) } Add(DoData,6099720,735,399) { link(onEventData,13177896:doWork3,[(781,405)]) link(Data,7071407:Var2,[]) } Add(GetDataEx,7071407,735,263) { link(Data,369637:Left,[(741,179)(510,179)]) } Add(Math,3690374,707,273) { OpType=1 ResultType=0 link(onResult,13177896:doWork1,[(760,279)(760,267)(781,267)]) link(Op2,7071407:Var1,[(720,268)]) } Add(DoData,12979358,574,469) { link(onEventData,687476:doWork1,[(610,475)(610,267)(613,267)]) link(Data,11453063:Var2,[]) } Add(GetDataEx,11453063,574,431) { link(Data,9060969:Right,[(580,253)(566,253)]) } Add(Math,14300763,539,441) { OpType=1 ResultType=0 link(onResult,687476:doWork3,[(613,447)]) link(Op2,11453063:Var1,[(552,436)]) } Add(HubEx,11405519,399,266) { link(onEvent,4014519:doWork2,[]) } Add(HubEx,4014519,581,266) { link(onEvent,143810:doWork2,[(590,272)(590,272)(588,272)(588,272)]) } Add(HubEx,687476,609,266) { link(onEvent,13177896:doWork2,[]) } Add(HubEx,13177896,777,266) { link(onEvent,16655316:doWork3,[(893,272)]) } Add(HubEx,143810,588,266) { link(onEvent,687476:doWork2,[]) } Add(Edit,560079,714,35) { Left=5 Top=25 Width=35 Text="30" Alignment=2 DataType=2 link(onEnter,5439061:doEvent1,[(758,48)(758,25)(672,25)(672,48)]) } Add(Hub,5957534,644,28) { InCount=2 OutCount=3 link(onEvent1,13091362:doData,[]) link(onEvent2,6133945:doReset,[(670,41)(670,69)(646,69)(646,97)]) link(onEvent3,13544325:doStart,[(666,48)(666,63)(597,63)(597,76)]) } Add(StrList,4832619,840,42) { Strings=#1:1|2:-1|1:2|2:-2|1:3|2:-3|1:4|2:-4|1:5|2:-5|1:6|2:-6| } Add(Random,11479208,770,112) { Max=11 link(onRandom,13965372:doRead,[]) } Add(Timer,7923189,609,119) { Interval=200 AutoStop=1 link(onTimer,9120780:doEvent1,[]) } Add(ArrayRW,13965372,854,112) { link(onRead,16655316:doWork2,[]) link(Array,4832619:Array,[]) } Add(DoData,13091362,770,28) { Data=Integer(2) link(onEventData,3716454:doWork2,[]) } Add(DoData,9883347,770,77) { Data=Integer(33) link(onEventData,265176:doEvent1,[]) } Add(HubEx,3716454,826,28) { link(onEvent,6281121:onEvent2,[(879,34)(879,20)]) } Add(Hub,265176,812,77) { link(onEvent1,3716454:doWork3,[(830,83)]) link(onEvent2,13544325:doStopFlag,[(839,90)(839,111)(597,111)(597,90)]) } Add(Thread,13544325,609,70) { Point(doStopFlag) link(onSyncExec,6133945:doNext,[]) } Add(Counter,6133945,658,77) { Max=9999999 link(onNext,16498607:doCompare,[]) } Add(If_else,16498607,707,77) { Type=3 link(onTrue,11479208:doRandom,[(755,83)(755,118)]) link(onFalse,9883347:doData,[(763,90)(763,83)]) link(Op2,560079:Text,[]) } Add(Button,13488761,595,28) { Left=5 Top=5 Width=130 Caption="Перемешать кубик за" link(onClick,5957534:doEvent1,[]) } Add(Label,328184,49,21) { Left=45 Top=28 Width=89 Height=17 Caption="случайных ходов" } Add(Hub,5439061,679,42) { link(onEvent1,560079:doText2,[]) link(onEvent2,5957534:doEvent2,[(705,55)(705,66)(632,66)(632,41)]) } Add(Button,13158042,840,287) { Left=5 Top=328 Width=129 Height=25 Caption="Сброс" link(onClick,5356838:doEvent1,[]) } Add(Button,10169754,840,329) { Left=5 Top=275 Width=129 Height=30 Caption="Открыть сохранённую игру" link(onClick,6281121:onEvent4,[(923,335)(923,34)]) } Add(Label,11517008,224,427) { Left=10 Top=230 Width=124 Height=20 Caption="Сделано 0 ходов" AutoSize=1 Alignment=2 } Add(Hub,5238774,105,301) { link(onEvent1,15085432:doWork1,[(132,307)(132,314)]) link(onEvent2,6923335:doNext,[(126,314)(126,373)(51,373)(51,433)]) } Add(Counter,6923335,63,427) { Max=99999 link(onNext,4741286:doWork2,[]) } Add(Convertor,3667011,126,427) { Mode=16 Word_1="ход" Word_2="хода" Word_5="ходов" link(onResult,1363764:doStrCat,[]) link(Data,6923335:Count,[(132,415)(102,415)(102,467)(69,467)]) } Add(StrCat,1363764,175,427) { Str1="Сделано " link(onStrCat,11517008:doText,[]) } Add(Hub,9120780,651,119) { link(onEvent1,11479208:doRandomize,[]) link(onEvent2,4395064:doData,[]) } Add(DoData,4395064,679,126) { Data=Integer(12) link(onEventData,3724387:doWork3,[(722,132)(722,164)(95,164)]) } Add(HubEx,3724387,91,77) { link(onEvent,13534561:doGetString,[]) } Add(HubEx,16655316,889,112) { Angle=3 link(onEvent,6281121:onEvent1,[(893,13)]) } Add(Hub,5356838,882,287) { link(onEvent1,6281121:onEvent3,[(916,293)(916,27)]) link(onEvent2,11560368:doEvent1,[(908,300)(908,518)(27,518)(27,468)]) } Add(Hub,11560368,35,462) { link(onEvent1,6923335:doReset,[(57,468)(57,447)]) link(onEvent2,4741286:doWork3,[(116,475)]) } Add(HubEx,4741286,112,427) { link(onEvent,3667011:doConvert,[]) } END_SDK Add(Hub,1049587,301,196) { link(onEvent1,9973085:doWork4,[(322,202)(322,167)]) link(onEvent2,10714674:doWork1,[]) } Add(MultiElement,1040776,203,112) { link(onEvent1,402330:doSave,[(452,118)(452,167)]) } BEGIN_SDK Add(EditMulti,16597756,21,21) { EventCount=1 VarCount=1 Height=109 link(Var1,6197930:GetData,[(27,109)(62,109)]) } Add(EventFromData,6197930,56,56) { link(onEvent,13192084:doMessage,[]) } Add(Message,13192084,112,56) { Message="Сохранить текущую игру?" Caption="Сохранение игры" Type=2 link(onMessage,9550252:doCompare,[]) } Add(If_else,9550252,154,56) { Op2=Integer(6) link(onTrue,13611865:doEvent1,[(194,62)(194,55)]) link(onFalse,2369897:doWork2,[]) } Add(DoData,7547174,245,63) { Data=Integer(0) link(onEventData,6197930:doData,[(288,69)(288,103)(44,103)(44,62)]) } Add(Hub,13611865,203,49) { link(onEvent1,16597756:onEvent1,[(228,55)(228,27)]) link(onEvent2,2369897:doWork1,[(228,62)]) } Add(HubEx,2369897,224,63) { link(onEvent,7547174:doData,[]) } END_SDK