Taming ZoG (рднрд╛рдЧ 4: рд╕рд╛рд╡рдзрд╛рдиреА - рдЦрд╛рди!)

рдЖрдЬ рдореИрдВ ZRF рдЧреЗрдо рдбрд┐рд╕реНрдХреНрд░рд┐рдкреНрд╢рди рд▓реИрдВрдЧреНрд╡реЗрдЬ рдХреА рд╕рдВрднрд╛рд╡рдирд╛рдУрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХрд╣рд╛рдиреА рдЬрд╛рд░реА рд░рдЦрдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВред рд╢реНрд░реГрдВрдЦрд▓рд╛ рдХреЗ рдкрд┐рдЫрд▓реЗ рд▓реЗрдЦреЛрдВ рдореЗрдВ , рдореИрдВрдиреЗ рджрд┐рдЦрд╛рдпрд╛ рдХрд┐ рдХреИрд╕реЗ рдЯреБрдХрдбрд╝реЛрдВ рдХреА рдЪрд╛рд▓ рдХрд╛ рд╡рд░реНрдгрди рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЪрд╛рд▓ рдХреА рдПрдХ рдФрд░ рдорд╣рддреНрд╡рдкреВрд░реНрдг рднрд┐рдиреНрдирддрд╛ рд╣реИ рдЬрд┐рд╕реЗ рдорд╛рдирд╛ рдирд╣реАрдВ рдЧрдпрд╛ рд╣реИред рдмреЛрд░реНрдб рдкрд░ рдЯреБрдХрдбрд╝реЛрдВ рдХреЛ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдиреЗ (рд╕рдВрднрд╡рддрдГ рдкреНрд░рддрд┐рджреНрд╡рдВрджреНрд╡реА рдХреЗ рдЯреБрдХрдбрд╝реЗ рд▓реЗрдиреЗ) рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЦрд┐рд▓рд╛рдбрд╝реА (рдпрджрд┐ рдРрд╕рд╛ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреА рдЧрдИ рд╣реИ) рдХреНрд╖реЗрддреНрд░ рдореЗрдВ рдирдП рдЯреБрдХрдбрд╝реЗ рдЬреЛрдбрд╝ рд╕рдХрддрд╛ рд╣реИред рдЗрд╕ рддрд░рд╣ рдХреА рдЪрд╛рд▓ рдХреЛ рдмреВрдВрдж рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ ред
рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЖрдЬ рдХреЗ рд▓реЗрдЦ рдореЗрдВ, рдореИрдВ рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░реВрдВрдЧрд╛ рдХрд┐ ZoG рдореЗрдВ рдХреИрд╕реЗ рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рдЪрд╛рд▓реЗрдВ рдЙрддреНрдкрдиреНрди рд╣реЛрддреА рд╣реИрдВред рдпрд╣ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЬрдм рд▓реБрдбреЛ рдпрд╛ рдЪрддреБрд░рдВрдЧрд╛ рдЬреИрд╕реЗ рдЪрд╛рд▓реЛрдВ рдХреЛ рдкреВрд░рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд╛рд╕рд╛ рд░реЛрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЧреЗрдо рдХреЛ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рдПрдХ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд░реВрдк рдореЗрдВ, рдореИрдВ рдкреНрд░рд╕реНрддрд╛рд╡ рдХрд░рддрд╛ рд╣реВрдВ, рдХреНрд▓рд╛рд╕рд┐рдХ рд╢рддрд░рдВрдЬ рдХреЗ рдЖрдзрд╛рд░ рдкрд░, рд▓рдбрд╝рд╛рдИ рдмрдирд╛рдо рд╢рддрд░рдВрдЬ рдХрд╣рд╛рдиреА рдЕрднрд┐рдпрд╛рди рдХреЗ рдорд┐рд╢рдиреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдкрд░ рдЖрдзрд╛рд░рд┐рдд рдЦреЗрд▓ рдХреЛ рдорд╣рд╕реВрд╕ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдПред рдЕрднрд┐рдпрд╛рди рдХреЗ рдЕрдзрд┐рдХрд╛рдВрд╢ рдорд┐рд╢рди рдмрджрд▓реЗ рд╣реБрдП рдирд┐рдпрдореЛрдВ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдЦреЗрд▓реЗ рдЬрд╛рддреЗ рд╣реИрдВред рдорд┐рд╢рди рдЬрдЯрд┐рд▓рддрд╛ рдореЗрдВ рднрд┐рдиреНрди рд╣реЛрддреЗ рд╣реИрдВ, рдХреБрдЫ рдореЗрдВ, рдЬреАрддрдиреЗ рдХреЗ рд▓рд┐рдП, рд░рд╛рдирд┐рдпреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдХреЛ рдкрдХрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╣реИ, рджреВрд╕рд░реЛрдВ рдореЗрдВ - рд╕реАрдорд┐рдд рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рдЪрд╛рд▓ рдХреЗ рд▓рд┐рдП рдЪреЗрдХрдореЗрдЯ рдХреЗ рд▓рд┐рдПред рдореИрдВ рдЕрд░рд╛рдЬрдХрддрд╛ рдЕрднрд┐рдпрд╛рди рдХреЗ рдЪреМрдереЗ рдорд┐рд╢рди рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рд╕реНрддрд╛рд╡ рдХрд░рддрд╛ рд╣реВрдВ, рдЬрд┐рд╕реЗ рдкреНрд╡рд╛рдЗрдВрдЯ рдСрдл рдиреЛ рд░рд┐рдЯрд░реНрди рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред

рдЗрд╕ рдорд┐рд╢рди рдореЗрдВ, рдмреЛрд░реНрдб рдХреЗ рдХреЗрдВрджреНрд░реАрдп рдХреНрд╖реЗрддреНрд░реЛрдВ рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ "рдЦрдирди" рд╣реИред рдРрд╕реЗ рдХреНрд╖реЗрддреНрд░ рдореЗрдВ рдПрдХ рдЖрдВрдХрдбрд╝рд╛ рдмрдВрдж рд╣реЛ рдЧрдпрд╛ (рдПрдХ рдЦрджрд╛рди рдХреЗ рд╕рд╛рде)ред рдЙрд╕реА рд╕рдордп, "рдЦрд╛рдиреЛрдВ" рдХреЗрд╡рд▓ рдЕрд╢реНрд╡реЗрддреЛрдВ рдХреЗ рд▓рд┐рдП рдЦреЗрд▓рдиреЗ рд╡рд╛рд▓реЗ рдЦрд┐рд▓рд╛рдбрд╝реА рдХреЛ рджрд┐рдЦрд╛рдИ рджреЗрддреЗ рд╣реИрдВред рдмрд┐рд▓реАрдЦ рдХреЗ рд▓рд┐рдП рдЦреЗрд▓рдиреЗ рд╡рд╛рд▓рд╛ рдПрдХ рдХрдВрдкреНрдпреВрдЯрд░ "рд╕реЛрдЪрддрд╛ рд╣реИ" рдХрд┐ рд╡рд╣ рд╕рд╛рдорд╛рдиреНрдп рдирд┐рдпрдореЛрдВ рд╕реЗ рдЦреЗрд▓ рд░рд╣рд╛ рд╣реИ, рдЬреЛ рдЙрд╕реЗ рдЙрд╕рдХреЗ рдЯреБрдХрдбрд╝реЛрдВ рдХреЛ "рдЦрдирди" рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдореБрдЭреЗ рдХрд╣рдирд╛ рд╣реЛрдЧрд╛ рдХрд┐ рдЗрд╕реА рддрд░рд╣ рдХреЗ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдЕрдзрд┐рдХрд╛рдВрд╢ рдЕрднрд┐рдпрд╛рди рдЕрднрд┐рдпрд╛рдиреЛрдВ рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЙрдирдореЗрдВ рд╕реЗ рдПрдХ рдЦрд┐рд▓рд╛рдбрд╝реА рдХреЗ рдкрд╛рд╕ рдЕрдзреВрд░реА рдЬрд╛рдирдХрд╛рд░реА рд╣реИред рдХреБрдЫ рдорд╛рдорд▓реЛрдВ рдореЗрдВ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЬрд┐рд╕ рдорд┐рд╢рди рдореЗрдВ рд╣рдо рд╡рд┐рдЪрд╛рд░ рдХрд░ рд░рд╣реЗ рд╣реИрдВ), рдпрд╣ рдПрдХ рдкреНрд░рдХрд╛рд░ рдХрд╛ "рдмрд╛рдзрд╛" рд╣реИ рдЬреЛ рдмреИрдЯрд▓ рдмрдирд╛рдо рд╢рддрд░рдВрдЬ рджреНрд╡рд╛рд░рд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рдмрд▓реНрдХрд┐ рдордЬрдмреВрдд рд╢рддрд░рдВрдЬ "рдЗрдВрдЬрди" рдлреНрд░рд┐рдЯреНрдЬ рдХреЛ рд╣рд░рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдмрд╣реБрдд рдордЬрдмреВрдд рд╢рддрд░рдВрдЬ рдЦрд┐рд▓рд╛рдбрд╝реА рдХреЛ рднреА рдЕрдиреБрдорддрд┐ рдирд╣реАрдВ рджреЗрддрд╛ рд╣реИред

рдмреЗрд╢рдХ, рд╡рд░реНрдгрд┐рдд рд░реВрдк рдореЗрдВ, рдЦреЗрд▓ рдХреЛ ZoG рдореЗрдВ рд▓рд╛рдЧреВ рдХрд░рдирд╛ рд╕рдВрднрд╡ рдирд╣реАрдВ рд╣реЛрдЧрд╛ред рдЕрдкрдиреА рдмрд╣реБрдореБрдЦреА рдкреНрд░рддрд┐рднрд╛ рдХреЗ рдХрд╛рд░рдг, ZoG рдЧреЗрдо рдХреЛрд░ рдЪрд╛рд▓реЗрдВ рдкреНрд░рджрд░реНрд╢рди рдХрд░рддреЗ рд╕рдордп рдЦрд╛рдиреЛрдВ рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐ рдХреЛ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦреЗрдЧрд╛ред "рдЦрдирди" рд╕реЗрд▓ рдХреЗ рд▓рд┐рдП рдХрджрдо рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рд▓рд╛рднрджрд╛рдпрдХ рдирд╣реАрдВ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдХреЗрд╡рд▓ рдПрдХ рдЖрдВрдХрдбрд╝реЗ рдХреЗ рдиреБрдХрд╕рд╛рди рдХреА рдУрд░ рдЬрд╛рддрд╛ рд╣реИред рдЖрдЗрдП рдирд┐рдпрдореЛрдВ рдХреЛ рдЗрд╕ рддрд░рд╣ рд╕реЗ рдмрджрд▓рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реЗрдВ рдЬреИрд╕реЗ рдХрд┐ "рдЦрд╛рдиреЛрдВ" рдХреЗ рд╡рд┐рд╕реНрдлреЛрдЯ рдХреЛ рд▓рд╛рднрджрд╛рдпрдХ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдЖрдкрдХреЗ рдЖрдВрдХрдбрд╝реЗ рдХреЗ рдиреБрдХрд╕рд╛рди рдХреЛ рднреА рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрддреЗ рд╣реБрдПред

рдорд╛рди рд▓реАрдЬрд┐рдП рдХрд┐ рд╡рд┐рд╕реНрдлреЛрдЯ рдХреЗ рджреМрд░рд╛рди, рди рдХреЗрд╡рд▓ рдЦрдирди рдХрд┐рдП рдЧрдП рд╕реЗрд▓ рдкрд░ рдЦрдбрд╝рд╛ рдЖрдВрдХрдбрд╝рд╛ рдЦреЛ рдЧрдпрд╛ рд╣реИ, рдмрд▓реНрдХрд┐ рдЗрд╕рдХреЗ рдмрдЧрд▓ рдореЗрдВ рдореМрдЬреВрдж рд╕рднреА рдЖрдВрдХрдбрд╝реЗ рднреА рдЦреЛ рдЧрдП рд╣реИрдВред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЗрд╕ рдЦреЗрд▓ рдХреЛ рдФрд░ рдЬреБрдЭрд╛рд░реВ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдо рдЙрди рдЦрд╛рдиреЛрдВ рдХреЛ рдЕрд▓рдЧ рдХрд░ рджреЗрдВрдЧреЗ рдЬреЛ рдореВрд▓ рдХреЗ рдХрд░реАрдм рд╣реИрдВ, рдЙрди рдХреНрд╖реЗрддреНрд░реЛрдВ рд╕реЗ рдЖрдВрдХрдбрд╝реЗ рд╣рдЯрд╛ рджреЗрдВ рдЬреЛ рдЙрдирдХреЗ рдХрд░реАрдм рднреА рд╣реИрдВред рд╣рдо рд╡рд┐рд╕реНрдлреЛрдЯреЛрдВ рдХреА рд╢реНрд░реГрдВрдЦрд▓рд╛ рдХреЛ рдЖрдЧреЗ рдирд╣реАрдВ рд╡рд┐рддрд░рд┐рдд рдХрд░реЗрдВрдЧреЗ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдХреБрдЫ рддрдХрдиреАрдХреА рдХрдард┐рдирд╛рдЗрдпреЛрдВ рдХреЗ рдХрд╛рд░рдг рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдмреЛрд░реНрдб рдкрд░ рд╕реНрдерд┐рдд рдЕрдзрд┐рдХрд╛рдВрд╢ рдЯреБрдХрдбрд╝реЛрдВ рдХреА "рдЦрд╛рдиреЛрдВ" рд╢реНрд░реГрдВрдЦрд▓рд╛ рдХреЗ рдПрдХ рд╕рдВрднрд╛рд╡рд┐рдд рдЖрдзрд╛рд░ рдХреЛ рдЦреЗрд▓ рдореЗрдВ рдмрд╣реБрдд рдЕрдзрд┐рдХ рд╕рдВрднрд╛рд╡рдирд╛ рдХреЗ рддрддреНрд╡ рдореЗрдВ рд▓рд╛рдпрд╛ рдЬрд╛рдПрдЧрд╛ рдФрд░ рдпрд╣ рджрд┐рд▓рдЪрд╕реНрдк рдирд╣реАрдВ рдмрдирд╛ рд╕рдХрддрд╛ рд╣реИред

рд╣рдо ZoG рдкреИрдХреЗрдЬ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдкрд╛рд░рдВрдкрд░рд┐рдХ рд╢рддрд░рдВрдЬ ( Chess.zrf ) рдХреЗ рд╡рд┐рд╡рд░рдг рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рд╡рд┐рдХрд╛рд╕ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВред рдЗрд╕рдореЗрдВ рд╕реЗ рд╣рдо рд╢рддрд░рдВрдЬ рдХреЗ рдореЛрд╣рд░реЛрдВ рдФрд░ рдЪрд╛рд▓реЛрдВ рдХреЗ рд╡рд┐рд╡рд░рдгреЛрдВ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рддреЗ рд╣реИрдВред "рдмрдо" рдХреЗ рд▓рд┐рдП рдПрдХ рдЙрдкрдпреБрдХреНрдд рдЧреНрд░рд╛рдлрд┐рдХ рд╕рдВрд╕рд╛рдзрди рд▓рд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЧреЗрдо рдмрдВрдмрд▓реЛрдЯ рд╕реЗ ред

рдЪрд▓реЛ рдмрдо рд╡рд┐рд╕реНрдлреЛрдЯ рдХреЗ рд╕рд╛рде рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВред
(define bomb-capture (if (not (piece? Bomb $1)) (capture $1) ) ) (define check-bomb-direction mark $1 (if (piece? Bomb) (bomb-capture n) (bomb-capture nw) (bomb-capture s) (bomb-capture sw) (bomb-capture e) (bomb-capture ne) (bomb-capture w) (bomb-capture se) ) capture back ) (define check-bomb (if (piece? Bomb) (check-bomb-direction n) (check-bomb-direction nw) (check-bomb-direction s) (check-bomb-direction sw) (check-bomb-direction e) (check-bomb-direction ne) (check-bomb-direction w) (check-bomb-direction se) capture ) ) 


рд╣рдорд╛рд░реЗ рдпрд╣рд╛рдВ рд╕рдм рдХреБрдЫ рдкрд░рд┐рдЪрд┐рдд рд╣реИред рдпрджрд┐ рдпрд╣ рдЖрдВрдХрдбрд╝рд╛ рдмрдо рдкрд░ рдЦрдбрд╝рд╛ рд╣реЛрддрд╛ рд╣реИ, рддреЛ рд╣рдо рдЪрд╛рд░реЛрдВ рдУрд░ рд╡рд┐рд╕реНрдлреЛрдЯ рдХрд░рддреЗ рд╣реИрдВред рдпрджрд┐ рджреВрд╕рд░рд╛ рдмрдо рдкрд╛рд╕ рдерд╛, рддреЛ рд╣рдо рдЙрд╕реЗ рднреА рд╡рд┐рд╕реНрдлреЛрдЯ рдХрд░рддреЗ рд╣реИрдВ (рд╣рдо рдЙрд╕рдХреЗ рдкрдбрд╝реЛрд╕рд┐рдпреЛрдВ рдХреЛ рдирд╣реАрдВ рдЫреВрддреЗ)ред рдпрд╣рд╛рдБ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреИрд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ:

 (define leap1 ($1 (verify not-friend?) + (check-bomb) add ) ) 

рдмрд╕ рдкреНрд░рддреНрдпреЗрдХ рдЪрд╛рд▓ рдХреЛ рдкреВрд░рд╛ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рд╣рдорд╛рд░реЗ рдореИрдХреНрд░реЛ рдЬреЛрдбрд╝реЗрдВред рдЕрдм, рд░рд╛рдЬрд╛ рдЖрддреНрдорд╣рддреНрдпрд╛ рдХреЗ рд╕рд╛рде рдЦреЗрд▓ рдХреЛ рд╕рдорд╛рдкреНрдд рдХрд░рддреЗ рд╣реИрдВ:

 +(define check_safe + (verify (not (piece? Bomb) ) ) +) (define king-shift ($1 + (check_safe) (verify not-friend?) (set-attribute never-moved? false) add ) ) 

рдпрд╣рд╛рдВ, рдЪреЗрдХ-рдмрдо рдореИрдХреНрд░реЛ рдХреЛ рдЫреЛрдбрд╝рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рд╣рдо рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рд╣рдо рдмрдо рдкрд░ рдЦрдбрд╝реЗ рдирд╣реАрдВ рд╣реИрдВред

рдмрдореЛрдВ рдХрд╛ рдЗрдВрддрдЬрд╛рдо рдХрд░реЛ
 +(define drop-bomb + ( (verify (and empty? (empty? n) (empty? s) (empty? w) (empty? e) ) ) + add + ) +) (game (title "Chess") ... - (players White Black) + (players White Black ?Init) - (turn-order White Black) + (turn-order ?Init ?Init White Black) (board (Board-Definitions)) (board-setup + (?Init + (Bomb off 8) + ) (White (Pawn a2 b2 c2 d2 e2 f2 g2 h2) (Knight b1 g1) (Bishop c1 f1) (Rook a1 h1) (Queen d1) (King e1) ) (Black (Pawn a7 b7 c7 d7 e7 f7 g7 h7) (Knight b8 g8) (Bishop c8 f8) (Rook a8 h8) (Queen d8) (King e8) ) ) + (piece + (name Bomb) + (image ?Init "images\Bombalot\BlackBomb.bmp" "images\Bombalot\BlackBomb.bmp") + (drops + (drop-bomb) + ) + ) ... ) 


рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рд╣рдордиреЗ рдПрдХ рддреАрд╕рд░рд╛ рдЦрд┐рд▓рд╛рдбрд╝реА рдЬреЛрдбрд╝рд╛ рд╣реИ, рдирд╛рдо ? рдЦрд┐рд▓рд╛рдбрд╝реА рдХреЗ рдирд╛рдо рдХреА рд╢реБрд░реБрдЖрдд рдореЗрдВ рдкреНрд░рд╢реНрди рдЪрд┐рд╣реНрди рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рд╡рд╣ рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рдЪрд╛рд▓реЗрдВ рдХрд░реЗрдЧрд╛ (рдЙрд╕рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдЬреЛ рдЙрд╕реЗ рдЕрдиреБрдорддрд┐ рд╣реИ)ред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдпрд╣ рдЦрд┐рд▓рд╛рдбрд╝реА рдЦрд┐рд▓рд╛рдбрд╝рд┐рдпреЛрдВ рдХреА рд╕реВрдЪреА рдореЗрдВ рдирд╣реАрдВ рджрд┐рдЦрд╛рдИ рджреЗрдЧрд╛ (рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдЙрд╕рдХреЗ рд▓рд┐рдП рдЦреЗрд▓рдирд╛ рдЕрд╕рдВрднрд╡ рд╣реЛрдЧрд╛)ред рдирдпрд╛ рдЦрд┐рд▓рд╛рдбрд╝реА рд╡реНрд╣рд╛рдЗрдЯ рдХреА рдЪрд╛рд▓ рд╕реЗ рдкрд╣рд▓реЗ рд╣рд░ рдмрд╛рд░ рджреЛ рдЪрд╛рд▓ рдЪрд▓рддрд╛ рд╣реИред рд╡рд╣ рдХреНрдпрд╛ рдХрджрдо рдЙрдард╛ рд╕рдХрддрд╛ рд╣реИ?

рдмреЛрд░реНрдб-рд╕реЗрдЯрдЕрдк рдореЗрдВ, рдЙрд╕реЗ 8 рдмрдо рджрд┐рдП рдЧрдП рдереЗ, рдЬрд┐рд╕реЗ рд╡рд╣ рдореИрджрд╛рди рдкрд░ рд░рдЦ рд╕рдХрддрд╛ рдерд╛ред рдореИрдВ рдЗрд╕ рд╡рд┐рд╡рд░рдг рдореЗрдВ рдСрдл рдХреАрд╡рд░реНрдб рдкрд░ рдзреНрдпрд╛рди рджреЗрдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВред рдпрд╣ рд╣реИ рдХрд┐ рдлрд╝реАрд▓реНрдб рдкрд░ рд░реАрд╕реЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрд▓рдмреНрдз рдЖрдВрдХрдбрд╝реЗ рдХреИрд╕реЗ рд╡рд░реНрдгрд┐рдд рдХрд┐рдП рдЬрд╛рдиреЗ рдЪрд╛рд╣рд┐рдПред рдЦрд╛рд▓реА рдмреЛрд░реНрдб рдХреЗ рд╕рд╛рде рд╢реБрд░реВ рд╣реЛрдиреЗ рд╡рд╛рд▓реЗ рдЦреЗрд▓реЛрдВ рдХреЗ рдЖрдВрдХрдбрд╝реЗ рднреА рд╡рд░реНрдгрд┐рдд рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЯрд┐рдХ-рдЯреИрдХ-рдЯреЛ рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдореЗрдВред

рдмреЙрдореНрдм рдлрд┐рдЧрд░ рдХреЗ рд╡рд░реНрдгрди рдореЗрдВ, рдЪрд╛рд▓ рдХреА рдХреЗрд╡рд▓ рдПрдХ рд╣реА рднрд┐рдиреНрдирддрд╛ рдХреА рдЕрдиреБрдорддрд┐ рд╣реИ - рдлрд┐рдЧрд░ рдХреЛ рдПрдХ рдЦрд╛рд▓реА рдмреЛрд░реНрдб рдлрд╝реАрд▓реНрдб рдкрд░ рд░реАрд╕реЗрдЯ рдХрд░рдирд╛, рдмрд╢рд░реНрддреЗ рдХрд┐ рдкрдбрд╝реЛрд╕реА рдлрд╝реАрд▓реНрдб рд▓рдВрдмрд╡рдд рдФрд░ рдХреНрд╖реИрддрд┐рдЬ рд░реВрдк рд╕реЗ рднреА рдЦрд╛рд▓реА рд╣реЛрдВред рдмрдореЛрдВ рдХреЛ рдЕрдиреНрдп рдЖрдВрдХрдбрд╝реЛрдВ (рдмрдореЛрдВ рд╕рд╣рд┐рдд) рддрд┐рд░рдЫреЗ рд╕реЗ рд╕рдЯреЗ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЬреЛ рдореЗрд░реА рд░рд╛рдп рдореЗрдВ, рдЦреЗрд▓ рдХреЛ рдФрд░ рдЕрдзрд┐рдХ рд░реЛрдЪрдХ рдмрдирд╛рддрд╛ рд╣реИред

рдЯрд┐рдкреНрдкрдгреА
рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдмреЛрд░реНрдб рдХреЗ рдЧреНрд░рд╛рдлрд┐рдХ рд╕рдВрд╕рд╛рдзрди рдФрд░ рд╕рднреА рдЖрдХрд╛рд░ рджреЛ рдмрд╛рд░ рд╡рд░реНрдгрд┐рдд рд╣реИрдВред рдпрд╣ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдЖрдкрдХреЛ рдХрдИ рдбрд┐рдЬрд╝рд╛рдЗрди рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рдЬрд┐рд╕реЗ рдЦреЗрд▓ рдХреЗ рджреМрд░рд╛рди рд╕реНрд╡рд┐рдЪ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЪреВрдБрдХрд┐ рд╣рдорд╛рд░рд╛ рдмрдо рд╕рднреА рдорд╛рдорд▓реЛрдВ рдореЗрдВ рд╕рдорд╛рди рд╣реЛрдЧрд╛, рд╣рдо рдмрд╕ рдПрдХ рд╣реА рдлрд╝рд╛рдЗрд▓ рдХреЗ рд▓рд┐рдП рджреЛ рдмрд╛рд░ рд░рд╛рд╕реНрддрд╛ рджрд┐рдЦрд╛рддреЗ рд╣реИрдВред

рдпрд╣ рд▓рдЧрднрдЧ рдХреЙрд╕реНрдореЗрдЯрд┐рдХ рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЗ рдПрдХ рдЬреЛрдбрд╝реЗ рдХреЛ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдмрдиреА рд╣реБрдИ рд╣реИред рдЦреЗрд▓ рдХреЗ рд╡рд░реНрдгрди рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреЛ рд╢рд╛рдорд┐рд▓ рдХрд░реЗрдВ:

 (option "pass turn" forced) (option "animate captures" false) 

рдкрд╣рд▓реЗ рдПрдХ рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдЦрд┐рд▓рд╛рдбрд╝реА ( Init ) рдПрдХ рдЪрд╛рд▓ рдХреЛ рдЫреЛрдбрд╝ рд╕рдХрддрд╛ рд╣реИ, рдмрд╢рд░реНрддреЗ рдХрд┐ рд╡рд╣ рдЗрд╕реЗ рдирд┐рдпрдореЛрдВ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдирд╣реАрдВ рдмрдирд╛ рд╕рдХрддрд╛ рд╣реИ (рдпрджрд┐ рдЖрдк рдЗрд╕ рд╡рд┐рдХрд▓реНрдк рдХреЛ рд╕рдХреНрд╖рдо рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЦреЗрд▓ рд╕рдорд╛рдкреНрдд рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдЕрдЧрд░ ? Init рдореЗрдВ рдмрдо рдЧрд┐рд░рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЬрдЧрд╣ рдирд╣реАрдВ рдорд┐рд▓рддреА) ред рджреВрд╕рд░рд╛ рдЖрдХрд╛рд░ рд▓реЗрдиреЗ рд╡рд╛рд▓реЗ рдПрдиреАрдореЗрд╢рди рдХреЛ рдЕрдХреНрд╖рдо рдХрд░рддрд╛ рд╣реИ (рдпрд╣ рдмрд╣реБрдд рдЕрдкреНрд░рд╛рдХреГрддрд┐рдХ рд▓рдЧрддрд╛ рд╣реИ)ред рдЦреЗрд▓ рдХреЗ Zillions рдХреЗ рд▓рд┐рдП рдкреНрд░рд▓реЗрдЦрди рдореЗрдВ рд╕рднреА рдЙрдкрд▓рдмреНрдз рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреА рд╕реВрдЪреА рджреЗрдЦреЗрдВред

рдЦреЗрд▓ рддреИрдпрд╛рд░ рд╣реИ ред рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдпрд╣ рд╕рдм рдХреИрд╕рд╛ рджрд┐рдЦрддрд╛ рд╣реИ:


рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдпрд╣ рдХрд╣рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ ZoG рдирдП рдирд┐рдпрдореЛрдВ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдкрд░реНрдпрд╛рдкреНрдд рд░реВрдк рд╕реЗ рдЦреЗрд▓рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдХрднреА-рдХрднреА рдЗрд╕рдХреА рдЪрд╛рд▓ рдореБрдЭреЗ рднреНрд░рдорд┐рдд рдХрд░рддреА рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╡рд╣ рдЕрдкрдиреА рд░рд╛рдирд┐рдпреЛрдВ рдХреЛ рдЕрдХреЗрд▓реЗ рдЦрдбрд╝реЗ рдмрдореЛрдВ рдкрд░ рдирдЬрд░рдЕрдВрджрд╛рдЬ рдХрд░рддрд╛ рд╣реИред рдореИрдВ рдЗрд╕реЗ рд╕рдордЭрд╛ рдирд╣реАрдВ рд╕рдХрддрд╛ред рдЬрд╛рд╣рд┐рд░рд╛ рддреМрд░ рдкрд░ ZoG рдХреЛрд░ рдмрдо рдХреЛ рдЗрддрдирд╛ рдЦрддрд░рдирд╛рдХ рдЖрдВрдХрдбрд╝рд╛ рдорд╛рдирддрд╛ рд╣реИ рдХрд┐ рд░рд╛рдиреА рдХреЗ рд▓рд┐рдП рдЗрд╕рдХрд╛ "рд╡рд┐рдирд┐рдордп" рд▓рд╛рднрджрд╛рдпрдХ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред

рдореБрдЭреЗ рдПрдХ рдФрд░ рджрд┐рд▓рдЪрд╕реНрдк рдкреНрд░рднрд╛рд╡ рдорд┐рд▓рд╛ рдЬреЛ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╡реАрдбрд┐рдпреЛ рдореЗрдВ рджреЗрдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ (рд╕рдлреЗрдж рд░рд╛рдЬрд╛ рдХреЛ рддреАрд╕рд░реЗ рдХреНрд╖реИрддрд┐рдЬ рд░реВрдк рд╕реЗ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛):


рд░рд╛рдЬрд╛ рдХреЗ рджреМрд░рд╛рди рдЦреЗрддреЛрдВ рдХреЛ рдЙрдЬрд╛рдЧрд░ рдХрд░рдиреЗ рд╕реЗ, рдпрд╣ рдзреНрдпрд╛рди рджреЗрдиреЗ рдпреЛрдЧреНрдп рд╣реИ рдХрд┐ рдкрдбрд╝реЛрд╕реА рдХреНрд╖реЗрддреНрд░реЛрдВ рдореЗрдВ рдмрдореЛрдВ рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐ (рдореИрдВ рдЖрдкрдХреЛ рдпрд╛рдж рджрд┐рд▓рд╛рддрд╛ рд╣реВрдВ рдХрд┐ рд░рд╛рдЬрд╛ рдмрдо рдХреЗ рд╕рд╛рде рдореИрджрд╛рди рдкрд░ рдирд╣реАрдВ рдЪрд▓ рд╕рдХрддрд╛ рд╣реИ) рдХреЛ рд░рд╛рдЬрд╛ рдХреЗ рд▓рд┐рдП рдЦрддрд░рд╛ рдирд╣реАрдВ рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИ, рдмрд╢рд░реНрддреЗ рдХрд┐ рджреБрд╢реНрдорди рдХреЗ рдЖрдВрдХрдбрд╝реЗ рдЙрдиреНрд╣реЗрдВ "рдХрдордЬреЛрд░" рди рдХрд░реЗрдВред рдЬреИрд╕реЗ рд╣реА рдмрдореЛрдВ рдкрд░ рд╣рдорд▓рд╛ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рд░рд╛рдЬрд╛ рдЙрдирд╕реЗ рджреВрд░ рдЬрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╛рдзреНрдп рд╣реЛрддрд╛ рд╣реИ рдЬреИрд╕реЗ рдХрд┐ рд╡рд╣ рд╢рд╛рд╣ рдХреЛ рдЫреЛрдбрд╝ рд░рд╣рд╛ рд╣реЛред рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдпрд╣ рдПрдХ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рддрд╛рд░реНрдХрд┐рдХ рд╡реНрдпрд╡рд╣рд╛рд░ рд╣реИ, рдпрджрд┐ рдЖрдк рдПрдХ рдЫреЛрдЯреА рд╕реА рдмрд╛рд░реАрдХрд┐рдпреЛрдВ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ:



рдЗрд╕ рд╕реНрдерд┐рддрд┐ рдХреЛ рдореИрдЯ рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИред рд░рд╛рдЬрд╛ рд░рд╛рдиреА рдХреЛ рдирд╣реАрдВ рдЦрд╛ рд╕рдХрддрд╛, рдХреНрдпреЛрдВрдХрд┐ рд╡рд╣ рдмрдореЛрдВ рдХреЗ рдкрд╛рд╕ рдирд╣реАрдВ рдЬрд╛ рд╕рдХрддрд╛, рдХреНрдпреЛрдВрдХрд┐ рд░рд╛рдиреА рдЙрди рдкрд░ рд╣рдорд▓рд╛ рдХрд░рддреА рд╣реИред рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рдЗрд╕ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЛ рдареАрдХ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рд░рд╛рдЬрд╛ рдХреЛ рдЪреЗрдХ рдЫреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдиреБрдХрд╕рд╛рди рдХреА рд╕реНрдерд┐рддрд┐ рдХреЗ рд▓рд┐рдП "рдирд╕реНрдЯреЗрдб" рд╣реИ:

 (loss-condition (White Black) (checkmated King) ) 

рдпрджрд┐ рдХрд┐рдВрдЧреНрд╕ рдХреЛ рдЦрд╛рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреА рдЬрд╛рдП рдФрд░ рд░рд╛рдЬрд╛ рдХреЗ рдиреБрдХрд╕рд╛рди рдХреЗ рд╕рд╛рде рдиреБрдХрд╕рд╛рди рдХреА рд╕реНрдерд┐рддрд┐ рдХреЛ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдП:

 (loss-condition (White Black) (pieces-remaining 0 King) ) 

... рдлрд┐рд░ рд░рд╛рдиреА рдХреЛ рд╕реБрд░рдХреНрд╖рд┐рдд рдЦрд╛ рд▓рд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рд▓реЗрдХрд┐рди рдореИрдВрдиреЗ рджреЗрдЦрд╛ рдХрд┐ рдЗрд╕ рдореЛрдб рдореЗрдВ, ZoG рдПрдВрдбрдЧреЗрдо рдореЗрдВ рдмрд╣реБрдд рдмреБрд░рд╛ рдЦреЗрд▓рддрд╛ рд╣реИред рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ, рдореИрдВ рдмрджрдорд╛рд╢ рдФрд░ рдЕрдХреЗрд▓рд╛ рд░рд╛рдЬрд╛ рдХреЗ рд░рд╛рдЬрд╛ рдХреЗ рд╕рд╛рде рдЗрдВрддрдЬрд╛рд░ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ рдерд╛ред рдЪреЗрдХ рдХреА рдЧрдИ рд╕реНрдерд┐рддрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп, рдЪрдЯрд╛рдИ рдХреЛ рдмрд╣реБрдд рдЬрд▓реНрджреА рд▓рдЧрд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

Source: https://habr.com/ru/post/In213391/


All Articles