*Игра "Змейка" Make(delphi) ver(4.05 build 186) Add(MainForm,82891,203,210) { Left=21 Top=105 Width=287 Height=284 Font=[Arial,8,0,0,1] Caption="Snake" BorderStyle=3 link(onCreate,80441:doWork2,[]) } Add(MultiElement,80441,280,217) { @Hint=#51:Проверка столкновения змейки с кубиком=Столкновение| link(onEvent1,36681:doWork2,[(322,223)(322,190)(278,190)(278,153)]) link(Data1,900366:Var2,[]) link(Data2,4042278:Handle,[]) link(Data3,36681:Var1,[]) link(Data4,36681:Var2,[]) } BEGIN_SDK Add(EditMulti,15819,3,3) { EventCount=1 WorkCount=2 DataCount=4 Width=503 Height=438 link(doWork1,39248:doEvent1,[(125,9)(125,90)]) link(doWork2,23591:doEvent1,[(36,16)(36,188)]) } Add(Math,22436,140,182) { OpType=7 Op2=5 ResultType=0 link(onResult,52803:doOperation,[]) link(Op1,99767:CurrentWidth,[(146,156)(69,156)]) } Add(PointXY,17641,399,294) { X=4 Y=4 } Add(Hub,99206,357,84) { OutCount=3 link(onEvent1,15129:doBeep,[]) link(onEvent2,17332:doEvent2,[(441,97)(441,399)(144,399)(144,321)]) link(onEvent3,15819:onEvent1,[(447,104)(447,9)]) } Add(SizeWindow,99767,63,98) { link(Handle,15819:Data2,[(69,51)(16,51)]) } Add(PointXY,66130,357,294) { link(X,5585:Result,[]) link(Y,40921:Result,[]) } Add(Img_Rectangle,82283,371,357) { Point2AsOffset=0 Style=1 BgColor=255 Point(Point1) Point(Point2) link(Bitmap,15819:Data1,[(377,343)(9,343)]) link(Point1,66130:Point,[(391,341)(363,341)]) link(Point2,17641:Point,[(398,341)(405,341)]) } Add(Random,71633,287,231) { Max=0 Point(doMax) link(onRandom,40921:doOperation,[]) } Add(Math,40921,364,231) { OpType=2 Op2=5 ResultType=0 } Add(Random,14562,287,168) { Max=0 Point(doMax) link(onRandom,5585:doOperation,[]) } Add(Math,66334,126,245) { OpType=7 Op2=5 ResultType=0 link(onResult,71633:doMax,[]) link(Op1,99767:CurrentHeight,[(132,145)(76,145)]) } Add(Math,52803,217,182) { OpType=1 Op2=1 ResultType=0 link(onResult,14562:doMax,[]) } Add(Hub,23591,49,182) { OutCount=5 link(onEvent1,22436:doOperation,[]) link(onEvent2,66334:doOperation,[(112,195)(112,251)]) link(onEvent3,14562:doRandomize,[(264,202)(264,181)]) link(onEvent4,71633:doRandomize,[(262,209)(262,244)]) link(onEvent5,17332:doEvent1,[(101,216)(101,314)]) } Add(Math,5585,357,168) { OpType=2 Op2=5 ResultType=0 } Add(Hub,39248,147,84) { link(onEvent1,94377:doCompare,[]) link(onEvent2,82283:doDraw,[(197,97)(197,363)]) } Add(If_else,94377,224,84) { link(onTrue,8173:doCompare,[]) link(Op1,15819:Data3,[(230,44)(23,44)]) link(Op2,14562:Random,[(237,74)(273,74)(273,208)(293,208)]) } Add(If_else,8173,301,84) { link(onTrue,99206:doEvent1,[]) link(Op1,15819:Data4,[(307,39)(30,39)]) link(Op2,71633:Random,[(314,74)(342,74)(342,280)(293,280)]) } Add(Hub,17332,154,308) { InCount=2 link(onEvent1,14562:doRandom,[(206,314)(206,174)]) link(onEvent2,71633:doRandom,[(219,321)(219,237)]) } Add(Beep,15129,455,84) { } END_SDK Add(Hub,49315,203,140) { link(onEvent1,36681:doWork1,[]) link(onEvent2,80441:doWork1,[(243,153)(243,223)]) } Add(Timer,35443,203,56) { Interval=100 link(onTimer,4042278:doRefresh,[]) } Add(PaintBox,4042278,280,56) { Left=5 Top=5 Width=270 Height=250 ClearBeforeDraw=0 Point(Handle) link(onBeforeDraw,49315:doEvent1,[(322,62)(322,99)(189,99)(189,146)]) } Add(MultiElement,36681,294,140) { @Hint=#46:Расчет движения змейки на поле=Расчет движения| link(Data1,900366:Var3,[(300,107)]) } BEGIN_SDK Add(EditMulti,78989,3,3) { WorkCount=2 DataCount=1 VarCount=2 Width=643 Height=333 link(doWork1,86035:doEvent1,[(26,9)(26,97)]) link(doWork2,9868749:doWork1,[(443,16)(443,118)]) link(Var1,74261:Var1,[(9,135)(216,135)]) link(Var2,16454841:Var1,[(16,141)(398,141)]) } Add(MultiElement,16454841,392,98) { elink(74261) link(Data1,984864:Var1,[(398,86)]) link(Data2,26672:Value,[]) link(Data3,12928094:Var3,[(412,72)]) } Add(GetDataEx,984864,462,81) { link(Data,85418:Array,[]) } Add(Memory,26672,399,21) { Default=Integer(0) } Add(ArrayRW,367,462,154) { link(onRead,76564:doOperation,[]) link(Array,984864:Var2,[]) } Add(Math,76564,518,154) { OpType=2 Op2=5 ResultType=0 } Add(ArrayRW,13066,322,147) { link(onRead,62421:doOperation,[]) link(Array,12069019:Var2,[]) } Add(PointXY,94652,581,203) { X=4 Y=4 } Add(Hub,47774,182,147) { OutCount=3 link(onEvent1,13066:doRead,[]) link(onEvent2,367:doRead,[]) link(onEvent3,1945:doDraw,[(285,167)(285,286)]) } Add(Img_Rectangle,1945,560,280) { Point2AsOffset=0 Style=1 BgColor=8388608 Point(Point1) Point(Point2) link(Bitmap,78989:Data1,[(566,12)(9,12)]) link(Point1,23036:Point,[(580,264)(454,264)]) link(Point2,94652:Point,[]) } Add(Hub,5331,140,91) { link(onEvent1,74261:doWork1,[]) link(onEvent2,16454841:doWork1,[(292,104)(292,104)]) } Add(GetDataEx,12069019,322,74) { link(Data,68679:Array,[]) } Add(Math,62421,392,147) { OpType=2 Op2=5 ResultType=0 } Add(IntegerArray,68679,322,21) { IntArray=['10'=10,'11'=11,'12'=12] } Add(PointXY,23036,448,217) { link(X,62421:Result,[(454,195)(398,195)]) link(Y,76564:Result,[(461,202)(524,202)]) } Add(IntegerArray,85418,462,21) { IntArray=['10'=10,'10'=10,'10'=10] } Add(MultiElement,74261,210,91) { @Hint=#33:Сдвиг тела змейки по Х=Сдвиг по Х| @IsLib=True link(Data1,12069019:Var1,[(216,79)]) link(Data2,49927:Value,[]) link(Data3,12928094:Var1,[(230,72)]) } BEGIN_SDK Add(EditMulti,32753,3,3) { WorkCount=1 DataCount=3 VarCount=1 Width=314 Height=312 link(doWork1,3451268:doOperation,[(19,9)(19,118)]) link(Var1,24309:Result,[(9,303)(160,303)]) } Add(ArrayRW,78212,210,252) { link(Array,65246:Data3,[]) link(Index,4672:Result,[(223,211)(146,211)]) } Add(ArrayRW,93172,196,112) { link(onRead,46279:doWrite,[]) link(Array,65246:Data1,[]) } Add(Math,24309,154,259) { ResultType=0 link(onResult,78212:doWrite,[]) link(Op1,32753:Data2,[(160,46)(16,46)]) link(Op2,93172:Item,[(167,202)(202,202)]) } Add(GetData,65246,196,28) { Count=3 link(Data,32753:Data1,[(202,19)(9,19)]) } Add(For,93224,84,112) { IncludeEnd=1 link(onEvent,4672:doOperation,[]) link(onStop,24309:doOperation,[(135,125)(135,265)]) link(End,3451268:Result,[(97,102)(76,102)(76,154)(41,154)]) } Add(Math,4672,140,112) { Op2=1 ResultType=0 link(onResult,93172:doRead,[]) } Add(ArrayRW,46279,252,105) { link(Array,65246:Data2,[(258,86)(209,86)]) link(Index,93224:Position,[(265,95)(184,95)(184,154)(90,154)]) } Add(Math,3451268,35,112) { OpType=1 Op2=1 ResultType=0 link(onResult,93224:doFor,[]) link(Op1,32753:Data3,[(41,58)(23,58)]) } END_SDK Add(Memory,49927,217,35) { Default=Integer(1) } Add(For,25978,119,147) { IncludeEnd=1 link(onEvent,47774:doEvent1,[]) link(End,12928094:Var2,[(132,115)(335,115)]) } Add(Hub,86035,42,91) { OutCount=3 link(onEvent1,5331:doEvent1,[]) link(onEvent2,25978:doFor,[(106,104)(106,153)]) link(onEvent3,28508:doWork1,[(93,111)(93,293)]) } Add(MultiElement,28508,147,287) { @Hint=#35:Обработка нажатия клавиш=Управление| link(onEvent1,49927:doValue,[(198,293)(198,41)]) link(onEvent2,26672:doValue,[(370,300)(370,27)]) } BEGIN_SDK Add(EditMulti,71039,3,3) { EventCount=2 WorkCount=1 Width=510 Height=347 link(doWork1,87506:doEvent1,[(22,9)(22,34)]) } Add(Keyboard,76188,112,203) { @Hint=#4:Left| Key=37 link(onReadKey,97639:doCase,[]) } Add(Hub,87506,42,28) { OutCount=4 link(onEvent1,780:doReadKey,[]) link(onEvent2,56533:doReadKey,[(99,41)(99,83)]) link(onEvent3,76188:doReadKey,[(93,48)(93,209)]) link(onEvent4,79497:doReadKey,[(87,55)(87,258)]) } Add(Keyboard,56533,112,77) { @Hint=#4:Down| Key=40 link(onReadKey,37082:doCase,[]) } Add(DoData,12112,308,301) { Data=Integer(0) link(onEventData,9433:doEvent3,[(379,307)(379,48)]) } Add(Keyboard,780,112,28) { @Hint=#2:Up| Key=38 link(onReadKey,4753:doCase,[]) } Add(DoData,69221,308,77) { Data=Integer(1) link(onEventData,9433:doEvent2,[(362,83)(362,41)]) } Add(DoData,58910,308,203) { Data=Integer(-1) link(onEventData,10144:doEvent1,[]) } Add(Hub,15321,217,28) { link(onEvent1,63988:doData,[]) link(onEvent2,69920:doEvent1,[(257,41)(257,132)]) } Add(Hub,16337,217,203) { link(onEvent1,58910:doData,[]) link(onEvent2,20876:doEvent1,[(257,216)(257,307)]) } Add(DoData,63988,308,28) { Data=Integer(-1) link(onEventData,9433:doEvent1,[]) } Add(Hub,14073,217,77) { link(onEvent1,69221:doData,[]) link(onEvent2,69920:doEvent2,[(257,90)(257,139)]) } Add(Case,91001,168,252) { Value=Integer(0) link(onNextCase,41459:doEvent1,[]) } Add(Hub,9433,399,28) { InCount=3 OutCount=1 link(onEvent1,71039:onEvent2,[(459,34)(459,16)]) } Add(Hub,69920,266,126) { InCount=2 OutCount=1 link(onEvent1,95756:doData,[]) } Add(DoData,59666,308,252) { Data=Integer(1) link(onEventData,10144:doEvent2,[(362,258)(362,216)]) } Add(Hub,20876,266,301) { InCount=2 OutCount=1 link(onEvent1,12112:doData,[]) } Add(DoData,95756,308,126) { Data=Integer(0) link(onEventData,10144:doEvent3,[(369,132)(369,223)]) } Add(Hub,41459,217,252) { link(onEvent1,59666:doData,[]) link(onEvent2,20876:doEvent2,[(257,265)(257,314)]) } Add(Keyboard,79497,112,252) { @Hint=#5:Right| Key=39 link(onReadKey,91001:doCase,[]) } Add(Case,4753,168,28) { Value=Integer(0) link(onNextCase,15321:doEvent1,[]) } Add(Case,37082,168,77) { Value=Integer(0) link(onNextCase,14073:doEvent1,[]) } Add(Case,97639,168,203) { Value=Integer(0) link(onNextCase,16337:doEvent1,[]) } Add(Hub,10144,399,203) { InCount=3 OutCount=1 link(onEvent1,71039:onEvent1,[(478,209)(478,9)]) } END_SDK Add(MultiElement,9868749,497,112) { @Hint=#32:Вставка нового звена=Новое звено| link(Data1,12069019:Var3,[(503,79)]) link(Data2,984864:Var3,[(510,86)]) link(Data3,85418:Count,[(517,74)(475,74)]) } BEGIN_SDK Add(EditMulti,15202115,3,3) { WorkCount=1 DataCount=3 Width=309 Height=216 link(doWork1,13397585:doOperation,[(8,9)(8,83)]) } Add(ArrayRW,16170227,210,77) { link(Array,4298692:Var3,[(216,65)]) } Add(ArrayRW,12490997,147,77) { link(onRead,16170227:doAdd,[(194,83)(194,97)]) link(Array,4298692:Var2,[]) } Add(Math,13397585,28,77) { OpType=1 Op2=1 ResultType=0 link(onResult,15200309:doEvent1,[]) link(Op1,15202115:Data3,[(34,40)(23,40)]) } Add(GetDataEx,4298692,147,60) { link(Data,15202115:Data1,[(153,32)(9,32)]) } Add(Hub,15200309,77,77) { link(onEvent1,12490997:doRead,[]) link(onEvent2,409297:doRead,[(131,90)(131,139)]) } Add(ArrayRW,13161011,217,133) { link(Array,10003517:Var3,[(223,121)]) } Add(ArrayRW,409297,154,133) { link(onRead,13161011:doAdd,[(201,139)(201,153)]) link(Array,10003517:Var2,[]) } Add(GetDataEx,10003517,154,116) { link(Data,15202115:Data2,[(160,60)(16,60)]) } END_SDK Add(GetDataEx,12928094,329,67) { link(Data,68679:Count,[]) } END_SDK Add(LinkTip,18109,35,63) { Link="Проверка столкновения=multi://80441" Font=[MS Sans Serif,8,0,16711680,1] } Add(InfoTip,96469,35,21) { Info=#13:Игра "Змейка"| Font=[Arial,16,1,0,1] Width=295 Height=25 } Add(LinkTip,35260,35,84) { Link="Расчет движения змейки=multi://36681" Font=[MS Sans Serif,8,0,16711680,1] } Add(GetDataEx,900366,280,102) { link(Data,4042278:Bitmap,[]) }