Вверх ↑
Этот топик читают: Гость
Ответов: 1535
Рейтинг: 176
#16: 2012-10-03 00:03:56 ЛС | профиль | цитата
37.45.37.19 писал(а):
вы для каких целей эту схему мастерили?
так, дрессировка мозгов. Можно было бы подсмотреть в сети, но так интересней.
37.45.37.19 писал(а):
делал элемент по поиску пути на основе алгоритма А* (а стар) для применения его в играх. Не выкладывал так как особе нет желающих игры делать.
Я люблю рассматривать схемы, - это развивает, что-то открываю для себя при этом.
карма: 1
Не так страшна ошибка, как опасность её не заметить.

0
Ответов: 490
Рейтинг: 162
#17: 2012-10-03 16:47:32 ЛС | профиль | цитата
Мод лабиринта с элементом от Galkov
Уж простите не смог архив прикрутить.. (игнорирует меня движок форума)"+" тож не дает ставить...
только так получается... без картинки из лабиринта, нужно взять из оригинала, т.к. превышает рамер с ней.
Add(MainForm,2953706,238,84)
{
Width=599
Height=548
Caption="Лабиринт_МОД"
Position=1
link(onCreate,2066751:doEvent1,[(279,104)(279,111)])
}
Add(Bitmap,4363527,357,28)
{
@Hint=#40:Картинка из исходной программы лабиринта|39:т.к. на форум не получается отправить..|
Point(Width)
Point(Height)
AddHint(62,-21,193,52,@Hint)
}
Add(MultiElement,8329284,357,147)
{
link(Data1,4363527:Bitmap,[])
link(Data2,16235766:Var1,[(370,135)])
}
BEGIN_SDK
Add(EditMulti,3159949,21,21)
{
WorkCount=1
DataCount=2
VarCount=1
Width=671
Height=277
VOffset=42
HOffset=300
link(doWork1,9782659:doEvent1,[])
link(Var1,5296347:Var1,[(327,89)])
}
Add(For,10722904,84,154)
{
Start=1
End=510
Step=10
IncludeEnd=1
link(onEvent,6488642:doOperation,[])
}
Add(For,4782419,175,154)
{
Start=1
End=510
Step=10
IncludeEnd=1
link(onEvent,6567466:doOperation,[])
}
Add(Img_GetPoint,638748,273,154)
{
link(onGetPixel,2222581:doCompare,[])
link(Bitmap,3159949:Data1,[(279,60)(327,60)])
link(X,14046915:Var1,[(286,142)(314,142)])
link(Y,5314359:Var2,[])
}
Add(Matrix,16328317,497,21)
{
Col=51
Row=51
}
Add(MatrixRW,8630181,497,147)
{
Value=Integer(1)
link(Matrix,5296347:Var2,[])
link(X,6488642:Result,[(517,135)(338,135)(338,214)(132,214)])
link(Y,6567466:Result,[(524,127)(487,127)(487,204)(230,204)])
}
Add(PointXY,14615237,581,198)
{
X=9
Y=9
}
Add(Hub,9782659,42,63)
{
link(onEvent1,16328317:doClear,[(75,69)(75,34)])
link(onEvent2,10722904:doFor,[(70,76)(70,160)])
}
Add(If_else,2222581,343,154)
{
Op2=Integer(0)
link(onTrue,5270947:doEvent1,[])
link(onFalse,14559137:doCompare,[])
}
Add(Math,6488642,126,154)
{
OpType=3
Op2=10
link(onResult,4782419:doFor,[])
}
Add(Math,6567466,224,154)
{
OpType=3
Op2=10
link(onResult,638748:doGetPixel,[])
}
Add(Hub,5270947,441,154)
{
InCount=2
OutCount=3
link(onEvent1,8630181:doWrite,[])
link(onEvent2,10709209:doOperation,[(477,167)(477,104)])
link(onEvent3,13537383:doDraw,[(477,174)(477,251)])
}
Add(GetDataEx,14046915,308,220)
{
Angle=3
link(Data,10722904:Position,[(90,225)])
}
Add(GetDataEx,5314359,287,65)
{
Angle=3
link(Data,4782419:Position,[(215,70)(215,198)(181,198)])
}
Add(If_else,14559137,392,161)
{
Op2=Integer(-1)
link(onTrue,5270947:doEvent2,[])
}
Add(Img_Rectangle,13537383,560,245)
{
Point2AsOffset=0
BgColor=8421504
Style=1
Point(Point1)
Point(Point2)
link(Bitmap,3159949:Data2,[(566,59)(334,59)])
link(Point1,12639691:Point,[])
link(Point2,14615237:Point,[])
}
Add(PointXY,12639691,574,156)
{
X=10
Y=10
link(X,10709209:Result,[])
link(Y,10886861:Result,[(587,143)(643,143)])
}
Add(Math,10709209,574,98)
{
OpType=1
Op2=5
link(onResult,10886861:doOperation,[])
link(Op1,14046915:Var3,[(580,76)(540,76)(540,225)])
}
Add(Math,10886861,637,98)
{
OpType=1
Op2=5
link(Op1,5314359:Var3,[(643,70)])
}
Add(GetDataEx,5296347,497,84)
{
link(Data,16328317:Matrix,[])
}
END_SDK
Add(Bitmap,8485023,413,91)
{
HWidth=501
HHeight=501
FillColor=12632256
Point(doCreate)
}
Add(Hub,2066751,294,105)
{
InCount=2
OutCount=4
link(onEvent1,8485023:doCreate,[])
link(onEvent2,8329284:doWork1,[(340,118)(340,153)])
link(onEvent3,10210373:doDraw,[(332,125)(332,188)])
link(onEvent4,830262:doWork3,[(319,132)])
}
Add(PaintBox,10647150,462,77)
{
Left=5
Top=10
Width=501
Height=501
Color=8421504
}
Add(Img_Bmp,10210373,406,182)
{
link(Bitmap,14706245:Var1,[(412,152)])
link(SourceBitmap,16235766:Var3,[(419,135)])
}
Add(GetDataEx,16235766,413,130)
{
link(Data,8485023:Bitmap,[])
}
Add(For,3785906,147,266)
{
End=51
IncludeEnd=1
link(onEvent,11069940:doOperation,[])
}
Add(For,6804322,259,266)
{
End=51
IncludeEnd=1
link(onEvent,15382324:doOperation,[])
}
Add(MatrixRW,2450636,357,266)
{
Value=Integer(1)
link(onRead,9594581:doCompare,[])
link(Matrix,11245262:Var2,[])
link(X,3785906:Position,[(377,239)(191,239)(191,310)(153,310)])
link(Y,6804322:Position,[(384,254)(302,254)(302,306)(265,306)])
}
Add(Math,11069940,203,266)
{
OpType=2
Op2=10
link(onResult,6804322:doFor,[])
}
Add(Math,15382324,308,266)
{
OpType=2
Op2=10
link(onResult,2450636:doRead,[])
}
Add(MatrixWave,199758,594,322)
{
WallData=String(1)
link(onTrace,12716780:doWrite,[(636,328)(636,366)(562,366)(562,391)])
link(onError,8663476:doMessage,[])
link(Matrix,15906417:Var3,[(600,313)])
link(Start,8003050:Point,[])
link(End,5047659:Point,[(614,314)(649,314)])
}
Add(PointXY,8003050,601,273)
{
link(X,10011347:Text,[])
link(Y,15146320:Text,[])
}
Add(PointXY,5047659,643,273)
{
link(X,8976134:Text,[])
link(Y,4960744:Text,[])
}
Add(Edit,10011347,601,224)
{
Left=515
Top=55
Width=30
Font=[Arial,8,0,0,1]
Text="1"
}
Add(Edit,15146320,608,182)
{
Left=555
Top=55
Width=30
Font=[Arial,8,0,0,1]
Text="1"
}
Add(Edit,8976134,643,224)
{
Left=515
Top=120
Width=30
Font=[Arial,8,0,0,1]
Text="49"
}
Add(Edit,4960744,650,182)
{
Left=555
Top=120
Width=30
Font=[Arial,8,0,0,1]
Text="49"
}
Add(Button,9166953,27,252)
{
Left=515
Top=165
Width=70
Font=[Arial,8,0,0,1]
Caption="Поиск"
Data=Integer(1)
link(onClick,10866679:doEvent1,[])
}
Add(Message,8663476,650,329)
{
Caption="Error"
Icon=1
}
Add(MatrixRW,12716780,580,378)
{
link(Matrix,15906417:Var2,[])
link(Value,11689255:Value,[(593,334)(551,334)])
link(X,199758:X,[])
link(Y,199758:Y,[])
}
Add(GetDataEx,15906417,580,308)
{
link(Data,11245262:Var3,[(586,222)])
}
Add(Memory,11689255,545,280)
{
Default=Integer(2)
}
Add(If_else,9594581,413,266)
{
Op2=Integer(2)
link(onTrue,6493253:doWork1,[])
}
Add(Hub,10866679,77,252)
{
OutCount=4
link(onEvent1,2066751:doEvent2,[(133,258)(133,118)])
link(onEvent2,199758:doTrace,[(114,265)(114,328)])
link(onEvent3,3785906:doFor,[])
link(onEvent4,830262:doWork2,[(101,279)(101,83)])
}
Add(MultiElement,6493253,462,266)
{
link(Data1,14706245:Var2,[])
link(Data2,11069940:Result,[(475,247)(242,247)(242,308)(209,308)])
link(Data3,15382324:Result,[(482,254)(398,254)(398,310)(314,310)])
}
BEGIN_SDK
Add(EditMulti,10990717,21,21)
{
WorkCount=1
DataCount=3
Width=188
Height=214
VOffset=21
HOffset=70
link(doWork1,13649352:doEvent1,[])
}
Add(PointXY,3506928,105,142)
{
X=10
Y=10
}
Add(Img_Rectangle,6458140,84,189)
{
Point2AsOffset=0
Color=65535
BgColor=65535
Style=1
Point(Point1)
Point(Point2)
link(Bitmap,10990717:Data1,[(90,33)(97,33)])
link(Point1,1924633:Point,[])
link(Point2,3506928:Point,[])
}
Add(PointXY,1924633,98,100)
{
X=10
Y=10
link(X,14573502:Result,[])
link(Y,11445628:Result,[(111,87)(153,87)])
}
Add(Math,14573502,98,42)
{
OpType=1
Op2=4
link(onResult,11445628:doOperation,[])
link(Op1,10990717:Data2,[])
}
Add(Math,11445628,147,42)
{
OpType=1
Op2=4
link(Op1,10990717:Data3,[(153,32)(111,32)])
}
Add(Hub,13649352,42,42)
{
link(onEvent1,14573502:doOperation,[])
link(onEvent2,6458140:doDraw,[(70,55)(70,195)])
}
END_SDK
Add(GetDataEx,14706245,462,147)
{
link(Data,10647150:Bitmap,[])
}
Add(GetDataEx,11245262,357,217)
{
link(Data,8329284:Var1,[])
}
Add(InfoTip,10080206,525,147)
{
Info=#10:MatrixWave|6:Galkov|
Width=190
Height=277
}
Add(Label,6480415,49,126)
{
Left=530
Top=35
Width=39
Height=17
Caption="СТАРТ"
}
Add(Label,10649711,49,77)
{
Left=530
Top=100
Width=48
Height=17
Caption="ФИНИШ"
}
Add(HubEx,830262,315,77)
{
link(onEvent,10647150:doRefresh,[])
}



карма: 4

1
Голосовали:ser_davkin
Гость
Ответов: 17029
Рейтинг: 0
#18: 2012-10-03 20:25:35 правка | ЛС | профиль | цитата


Редактировалось 5 раз(а), последний 2021-06-21 07:04:31
карма: 0

0
Ответов: 490
Рейтинг: 162
#19: 2012-10-03 21:37:35 ЛС | профиль | цитата
37.45.101.18 писал(а):
перемудрил ты со схемой
[offtop]Что есть, то есть.. В начале часть схемы делалась как дополнение к оригиналу для замены карты (рисунка), а далее к ней прикрутился АИ...[/offtop]
37.45.101.18 писал(а):
есть недостаток. Если подключить вторую карту (второй список строк на схеме) и установить свойство Step = Diag в MatrixWave, то путь будет найден. "Протискиваться" между стен не подойдет для многих карт.
Как по мне это не недостаток, а ФИЧА...
карма: 4

0
Гость
Ответов: 17029
Рейтинг: 0
#20: 2012-10-03 22:11:06 правка | ЛС | профиль | цитата


Редактировалось 5 раз(а), последний 2021-06-21 07:04:31
карма: 0

0
Ответов: 1535
Рейтинг: 176
#21: 2012-10-03 23:13:09 ЛС | профиль | цитата
37.45.101.18, ты выложи, для примера, какую-нибудь игру (схему) с врагами, любопытно же! Думаю, и не только мне.
карма: 1
Не так страшна ошибка, как опасность её не заметить.

1
Голосовали:Ex_
21
Сообщение
...
Прикрепленные файлы
(файлы не залиты)