
рдпрд╣ рдЖрд▓реЗрдЦ рд╣реЗрдХреНрд╕рд╛рдкрд╛рде рдШрдЯрдХ рдХрд╛ рд╡рд░реНрдгрди рд╣реИ рдЬреЛ рд╣реЗрдХреНрд╕рд╛рдЧреЛрдирд▓ рдЧреНрд░рд┐рдб рдореЗрдВ рдП * рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкрде рдЦреЛрдЬ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддрд╛ рд╣реИред рдиреЗрдЯрд╡рд░реНрдХ рдореЗрдВ, рдореИрдВрдиреЗ рдПрдХ рд╡рд░реНрдЧ рдЧреНрд░рд┐рдб рдХреЗ рдЙрджрд╛рд╣рд░рдг рдФрд░ рдХрдИ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрдиреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдХреЗ рд╡рд┐рд╡рд░рдгреЛрдВ рдХреА рдПрдХ рдмрдбрд╝реА рд╕рдВрдЦреНрдпрд╛ рдХреЛ рдкрд╛рдпрд╛, рд▓реЗрдХрд┐рди рдПрдХ рд╣реЗрдХреНрд╕рд╛рдЧреЛрдирд▓ рдЧреНрд░рд┐рдб рдХрд╛ рдПрдХ рднреА рдЙрд▓реНрд▓реЗрдЦ рдирд╣реАрдВ рдХрд┐рдпрд╛ред рдФрд░ рдореИрдВрдиреЗ рдЕрдкрдирд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд▓рд┐рдЦрд╛ред рд╕реНрд░реЛрдд рдлреИрд▓рд╛рдУред рдЕрдЪрд╛рдирдХ, рдХрд┐рд╕реА рдХреЛ рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА, рд▓реЗрдХрд┐рди рдЦреБрдж рдХреЛ рд▓рд┐рдЦрдирд╛ рдмрд╣реБрдд рдЖрд▓рд╕реА рд╣реЛрдЧрд╛ред
рдШрдЯрдХ рд╡рд┐рд╡рд░рдг
рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдпрд╣ рдПрдХ рд╡рд░реНрдЧ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдХрдИ рд╣реИрдВ:
- NumberPoint.as - рдкреНрд╡рд╛рдЗрдВрдЯ рдХреНрд▓рд╛рд╕ рдХрд╛ рдПрдХ рд╕реНрдЯреНрд░рд╛рдЗрдкреНрдб -рдбрд╛рдЙрди рдПрдирд╛рд▓реЙрдЧ
- PathList.as - рд╕реВрдЪреА рдХрд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди (рдЦреБрд▓рд╛ рдФрд░ рдмрдВрдж)ред рдпрд╣ рдХреНрдпрд╛ рд╣реИ, рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХрд╛ рд╡рд░реНрдгрди рджреЗрдЦреЗрдВред
- HexaGrid.as - рдПрдХ рд╣реЗрдХреНрд╕рд╛рдЧреЛрдирд▓ рдЧреНрд░рд┐рдб рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ (рд╕реЗрд▓ рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ рджреНрд╡рд╛рд░рд╛ рдкрдбрд╝реЛрд╕рд┐рдпреЛрдВ рдХреЛ рдвреВрдВрдврдирд╛, рдЕрдкрдиреЗ рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ рдЖрджрд┐ рджреНрд╡рд╛рд░рд╛ рдХреЗрдВрджреНрд░ рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ рдФрд░ рд╕реЗрд▓ рдХреЛрдг рдЦреЛрдЬрдирд╛)
- HexaPath.as рдПрд▓реНрдЧреЛрд░рд┐рдердо рдХрд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╣реИред
рдХрд┐рд╕реА рдХрд╛рд░рдг рдХреЗ рд▓рд┐рдП, рдореИрдВрдиреЗ рдЗрд╕ рд╕реЗрд▓ рдХреЛ рдЪреБрдирд╛:

рдЧреНрд░рд┐рдб рдЦреБрдж рдХреЛ рд╕рд╛рдорд╛рдиреНрдп рджреНрд╡рд┐-рдЖрдпрд╛рдореА рд╕рд░рдгреА рджреНрд╡рд╛рд░рд╛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рдХреЛрд╢рд┐рдХрд╛рдУрдВ рдХреЗ рдорд╛рди рдЗрд╕ рд╕реЗрд▓ рдХреЗ рд▓рд┐рдП "рд╕рдВрдХреНрд░рдордг рдХреА рд▓рд╛рдЧрдд" рд╣реИрдВред рдпрджрд┐ рд╕рдВрдХреНрд░рдордг рд▓рд╛рдЧрдд
HexaGrid.MAX_AVAILABLE рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЕрдзрд┐рдХ рдпрд╛ рдмрд░рд╛рдмрд░ рд╣реИ, рддреЛ рд╕реЗрд▓ рдХреА рд╡реНрдпрд╛рдЦреНрдпрд╛ рдХрд░рдиреЗ рдпреЛрдЧреНрдп рд╣реИред
рдПрдХ рдШрдЯрдХ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛ рдореБрд╢реНрдХрд┐рд▓ рдирд╣реАрдВ рд╣реИред рдкрд╣рд▓реЗ рдЖрдкрдХреЛ рднрд░реЗ рд╣реБрдП "рд╕рдВрдХреНрд░рдордг рд▓рд╛рдЧрдд" рдХреЗ рд╕рд╛рде рджреЛ-рдЖрдпрд╛рдореА рд╕рд░рдгреА рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдЗрд╕ рддрд░рд╣ рдХреЗ рдПрдХ рд╕рд░рдгреА рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдмрдирд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:
HexaGrid.init(width, height);
рдпрд╣ рдкреНрд░рддреНрдпреЗрдХ рд╕реЗрд▓ рдореЗрдВ 1 рдХреЗ рдорд╛рди рдХреЗ рд╕рд╛рде рдПрдХ рд╕рд░рдгреА рдмрдирд╛рдПрдЧрд╛ред
рдХреЛрд╢рд┐рдХрд╛рдУрдВ рдХреЛ "рдорд╛рди" рд╕реЗ рднрд░рдирд╛ рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ:
HexaGrid.grid[x][y]=value;
рд╣рдо
рд╣реЗрдХреНрд╕рд╛рдкрд╛рде рд╡рд░реНрдЧ рдХреЗ рд▓рд┐рдП рдмрдирд╛рдИ рдЧрдИ рд╕рд░рдгреА рдХреЛ
рдЦрд┐рд▓рд╛рддреЗ рд╣реИрдВvar res:Boolean=HexaPath.setMap(HexaGrid.grid);
рдлрд╝рдВрдХреНрд╢рди рд╕рд░рдгреА рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░реЗрдЧрд╛ рдФрд░ рдпрджрд┐ рд╕рдм рдХреБрдЫ рдареАрдХ рд╣реИ, рддреЛ рдпрд╣ рд╕рдЪ рд╣реЛ рдЬрд╛рдПрдЧрд╛ред
рдЕрдм рдЖрдк рдкрде рдХрд╛ рдЕрдиреБрд░реЛрдз рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
var result:Object=HexaPath.createPath(source:Point, target:Point);
рдкрд░рд┐рдгрд╛рдо рдЪрд░ рдХреА рд╕рдВрд░рдЪрдирд╛ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд╣реИ:
result['status']:int;
result['path']:Array;
рдкрд░рд┐рдгрд╛рдо ['рд╕реНрдерд┐рддрд┐'] = 1 рдпрджрд┐ рдкрде рдХреА рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рдЧрдгрдирд╛ рдХреА рдЧрдИ рдереА, -1 рдпрджрд┐ рдХреБрдЫ рд╣реБрдЖред
рдФрд░ рдпрд╣ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ:
- рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ рдкреНрд░рд╛рд░рдВрдн рдпрд╛ рдЕрдВрдд рд╕рд░рдгреА рд╕реЗ рдкрд░реЗ рдЬрд╛рддреЗ рд╣реИрдВ
- рд╢реБрд░реБрдЖрдд рдпрд╛ рдЕрдВрдд рдХреЗ рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ рдЕрдЧрдореНрдп рдХреЛрд╢рд┐рдХрд╛рдУрдВ рдореЗрдВ рд╣реЛрддреЗ рд╣реИрдВред
рдпрджрд┐
рдкрд░рд┐рдгрд╛рдо ['рд╕реНрдерд┐рддрд┐'] = 1 рд╣реИ , рддреЛ рдЪрд░
рдкрд░рд┐рдгрд╛рдо ['рдкрде'] рдореЗрдВ рдкрде рдХреЛрд╢рд┐рдХрд╛рдУрдВ рдХреЗ рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ рдХрд╛ рдПрдХ рдЙрддреНрдкрдиреНрди рд╕рд░рдгреА рд╣реИред рд╕рд░рдгреА рдХреЗ рдкреНрд░рддреНрдпреЗрдХ рдХрдХреНрд╖ рдореЗрдВ,
рдСрдмреНрдЬреЗрдХреНрдЯ рдХрд╛ рдПрдХ рдЪрд░, рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП рд╕реЗрд▓ рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ рдЧреБрдг рдЧреБрдг рдореЗрдВ рд╣реЛрддреЗ рд╣реИрдВред рдЧрдВрджрд╛? рдЕрдм рдореИрдВ рдХреЛрдб рдкрд░ рдЯрд┐рдкреНрдкрдгреА рдХрд░реВрдВрдЧрд╛:
var result:Object=HexaPath.createPath(new Point(0, 0), new Point(5, 5));
var path:Array= result['path'];
var first_cell:Point=path[0]['coords'];
рдФрд░ рдЗрд╕реА рддрд░рд╣ред
рдпрд╣ рдЕрдирд┐рд╡рд╛рд░реНрдп рд░реВрдк рд╕реЗ рд╕рднреА рд╣реИред рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХрд╛рдлреА рднрдпрд╛рд╡рд╣ рдирд┐рдХрд▓рд╛ред
рдпрд╣рд╛рдВ рдбреЗрдореЛ рджреЗрдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛
рд╣реИ ред
рд╕реВрддреНрд░
рдпрд╣рд╛рдБ рд╕реЗ рдЭреВрд▓рддреЗ
рд╣реИрдВ ред
рдореБрдЭреЗ рдЖрд╢рд╛ рд╣реИ рдХрд┐ рдХреЛрдИ рдореЗрд░реЗ рдХрд╛рдо рдХреЛ рдЙрдкрдпреЛрдЧреА рдкрд╛рдПрдЧрд╛ ...
рдпреБрдкреАрдбреАред
ilyaplot рдиреЗ php рдореЗрдВ рдЗрд╕ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЛ рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦрд╛ред рдЖрдк рдЗрд╕реЗ
рдпрд╣рд╛рдБ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░ рд╕рдХрддреЗ
рд╣реИрдВ ред