рдЪреАрдВрдЯрд┐рдпреЛрдВ рдПрдЖрдИ рдЪреИрд▓реЗрдВрдЬред рд╢реБрд░реБрдЖрддреА рдЧрд╛рдЗрдб

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

рдЖрд╡рд╢реНрдпрдХ рд╢рд░реНрддреЗрдВ


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

рд╕реНрдерд╛рдкрд┐рдд


рдПрдХ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдмрдирд╛рдПрдВ рдЬрд┐рд╕рдореЗрдВ рдЖрдк рд╕реНрдЯрд╛рд░реНрдЯрд░ рдкреИрдХреЗрдЬ (рдмреЙрдЯ) рдФрд░ рдЯреВрд▓реНрд╕ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░реЗрдВрдЧреЗред рдЖрдкрдХреЛ рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рд╕реЗ рдорд┐рд▓рдирд╛ рдЪрд╛рд╣рд┐рдП:

C:\aichallenge>tree Folder PATH listing C:. +----tools +---mapgen +---maps | +---maze | +---multi_hill_maze | +---symmetric_random_walk +---sample_bots | +---csharp | +---java | +---php | | +---tests | +---python +---submission_test +---visualizer +---data | +---img +---js C:\aichallenge>dir /b AbstractSystemInputParser.java AbstractSystemInputReader.java Aim.java Ants.java Bot.java Ilk.java make.cmd Makefile Manifest.txt MyBot.java Order.java Tile.java tools 


рдЪреЗрдХ


рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ рдХрд┐ рд╕рдм рдХреБрдЫ рдкрд░реАрдХреНрд╖рдг рдХреЗ рдЦреЗрд▓ рдХреЛ рдЪрд▓рд╛рдиреЗ рдХреЗ рд░реВрдк рдореЗрдВ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ (рдЕрдкрдиреЗ рдУрдПрд╕ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рд╢реЗрд▓ рд╕реНрдХреНрд░рд┐рдкреНрдЯ play_one_game.cmd рдпрд╛ play_one_game.sh рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ)ред рд╡рд╣рд╛рдБ рдЙрдкрдХрд░рдгреЛрдВ рдХреЗ рдмреАрдЪ "playgame.py" рдЙрдкрдпреЛрдЧрд┐рддрд╛ рд╣реИ, рдЬреЛ рд╣рдореЗрдВ рд╣рдорд╛рд░реЗ рдмреЙрдЯ рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░реЗрдЧреАред рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рд╢реЗрд▓ рд╕реНрдХреНрд░рд┐рдкреНрдЯ play_one_game.cmd (play_one_game.sh) рдореЗрдВ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рджрд┐рдЦрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИред

рдмреЙрдЯ рдХреЗ рдкрд░реАрдХреНрд╖рдг рдХреЗ рд▓рд┐рдП рдПрдХ рд╢реЗрд▓ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдмрдирд╛рдПрдВ


рдЕрдм рд╣рдо рдЕрдкрдиреА рд╢реЗрд▓ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдмрдирд╛рддреЗ рд╣реИрдВ рдЬреЛ рдирдП рдореИрдк рдФрд░ рд╣рдорд╛рд░реЗ рдмреЙрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдЧреАред

рд╡рд┐рдВрдбреЛрдЬ рдХреЗ рд▓рд┐рдП: tutorial.cmd рдмрдирд╛рдПрдБ
 C:\aichallenge>notepad tutorial.cmd 


рд▓рд┐рдирдХреНрд╕ рдХреЗ рд▓рд┐рдП: tutorial.sh рдмрдирд╛рдПрдБ
 user@localhost:~$ gedit tutorial.sh 

рдЬрд┐рд╕рдХреЗ рдмрд╛рдж рд╣рдо рдЕрдзрд┐рдХрд╛рд░ рдкреНрд░рджрд╛рди рдХрд░рддреЗ рд╣реИрдВ
 user@localhost:~$ chmod u+x tutorial.sh 


рд╣рдо рдЗрд╕рдореЗрдВ рд▓рд┐рдЦрддреЗ рд╣реИрдВ:
 python tools/playgame.py "java -jar MyBot.jar" "python tools/sample_bots/python/HunterBot.py" --map_file tools/maps/example/tutorial1.map --log_dir game_logs --turns 60 --scenario --food none --player_seed 7 --verbose -e 


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

рдЖрдЗрдП рд╢реЗрд▓ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╣рдорд╛рд░реЗ рдмреЙрдЯ рд▓реЙрдиреНрдЪ рдХрд░реЗрдВ рдФрд░ рджреЗрдЦреЗрдВ рдХрд┐ рд╕реНрдЯрд╛рд░реНрдЯрд░ рдкреИрдХ рд╕реЗ рдмреЙрдЯ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред
рдЖрдкрдХреЛ рдПрдХ рд╕рдорд╛рди рдЖрдЙрдЯрдкреБрдЯ рджреЗрдЦрдирд╛ рдЪрд╛рд╣рд┐рдП:
 running for 60 turns ant_count c_turns climb? cutoff food r_turn ranking_bots s_alive s_hills score w_turn winning turn 0 stats: [1,1,0] 0 [1,1] - 18 0 None [1,1] [1,1] [1,1] 0 None turn 1 stats: [1,1,0] 0 [1,1] - 16 1 [0,0] [1,1] [1,1] [1,1] 1 [0,1] turn 2 stats: [2,1,0] 0 [1,1] - 16 1 [0,0] [1,1] [1,1] [1,1] 1 [0,1] turn 3 stats: [2,2,0] 0 [1,1] - 15 1 [0,0] [1,1] [1,1] [1,1] 1 [0,1] turn 4 stats: [2,3,0] 0 [1,1] - 14 1 [0,0] [1,1] [1,1] [1,1] 1 [0,1] turn 5 stats: [2,4,0] 0 [1,1] - 14 1 [0,0] [1,1] [1,1] [1,1] 1 [0,1] turn 6 stats: [2,4,0] 0 [1,1] - 14 1 [0,0] [1,1] [1,1] [1,1] 1 [0,1] turn 7 stats: [2,4,0] 0 [1,1] - 14 1 [0,0] [1,1] [1,1] [1,1] 1 [0,1] turn 8 bot 0 eliminated turn 8 stats: [0,4,0] 0 [0,1] - 14 1 [0,0] [0,1] [1,1] [1,1] 1 [0,1] score 1 3 status eliminated survived playerturns 8 8 


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


рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдореВрд▓ рдмреЙрдЯ рдХреА рд░рдгрдиреАрддрд┐ рднрдпрд╛рдирдХ рд╣реИ - рдЗрд╕рдиреЗ рджреЛ рдЪреАрдВрдЯрд┐рдпреЛрдВ рдХреЛ рдзрдХреНрдХрд╛ рджреЗрдХрд░ рдЦреБрдж рдХреЛ рдирд╖реНрдЯ рдХрд░ рджрд┐рдпрд╛ред рдЦреИрд░, рдпрд╣ рд╣рдорд╛рд░рд╛ рдкрд╣рд▓рд╛ рд╕реБрдзрд╛рд░ рд╣реЛрдЧрд╛ред

рдЪрд░рдг 1. рдЯрдХрд░рд╛рд╡ рд╕реЗ рдмрдЪреЗрдВ


рдпреЛрдЬрдирд╛

рдЯрдХрд░рд╛рд╡ рдХреЛ рд░реЛрдХрдиреЗ рдХреЗ рд▓рд┐рдП, рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХрд░реЗрдВ:

рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди

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

рдХреЛрдб

рд╣рдо рдореВрд▓ рдмреЙрдЯ рдореЗрдВ рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдХреЛ рдЫреЛрдбрд╝ рджреЗрдВрдЧреЗ рдФрд░ рдирдпрд╛ рдХреЛрдб рдкреЛрд╕реНрдЯ рдХрд░реЗрдВрдЧреЗ:
 public boolean doMoveDirection(Ants ants, HashMap<Tile, Tile> orders, Tile antLoc, Aim direction) { // Track all moves, prevent collisions Tile newLoc = ants.getTile(antLoc, direction); if (ants.getIlk(newLoc).isUnoccupied() && !orders.containsKey(newLoc)) { ants.issueOrder(antLoc, direction); orders.put(newLoc, antLoc); return true; } else { return false; } } @Override public void doTurn() { HashMap<Tile, Tile> orders = new HashMap<Tile, Tile>(); Ants ants = getAnts(); for (Tile myAnt : ants.getMyAnts()) { for (Aim direction : Aim.values()) { if (doMoveDirection(ants, orders, myAnt, direction)) { break; } } } } 

doMoveDirection рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдЪреАрдВрдЯреА рдХреА рд╕реНрдерд┐рддрд┐ (рдЯрд╛рдЗрд▓ рдСрдмреНрдЬреЗрдХреНрдЯ) рдФрд░ рджрд┐рд╢рд╛ (Aim рдСрдмреНрдЬреЗрдХреНрдЯ - N | E | S | W) рдорд┐рд▓рддреА рд╣реИ рдФрд░ рдЪрд░рдг рдХреЛ рдкреВрд░рд╛ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддрд╛ рд╣реИред рдпрд╣ рдлрд╝рдВрдХреНрд╢рди doTurn рдлрд╝рдВрдХреНрд╢рди рдХреЗ рдмрд╛рд╣рд░ рд╕реНрдерд┐рдд рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╣рдореЗрдВ рдЕрдкрдиреЗ рдЖрджреЗрд╢реЛрдВ рдХреЗ рд╕рд╛рде рдЗрд╕реЗ рдЪреАрдВрдЯрд┐рдпреЛрдВ рдФрд░ рд╣реИрд╢рдкреЙрдЗрдВрдЯ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЛ рджреЗрдирд╛ рд╣реЛрдЧрд╛ред рд╣рдо рдмреЙрдЯ рд╕реЗ рдХреБрдЫ рдкреВрд░реНрд╡рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд╛рд░реНрдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗ рдЬреЛ рд╣рдорд╛рд░реА рдорджрдж рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
- ants.getTile(Tile, Aim) рд╕реНрдерд┐рддрд┐ (рдЯрд╛рдЗрд▓ рдСрдмреНрдЬреЗрдХреНрдЯ) рдФрд░ рджрд┐рд╢рд╛ (рдПрдЖрдИрдПрдо рдСрдмреНрдЬреЗрдХреНрдЯ) рдХреЛ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдПрдХ рдирдИ рд╕реНрдерд┐рддрд┐ (рдЯрд╛рдЗрд▓ рдСрдмреНрдЬреЗрдХреНрдЯ) рджреЗрддрд╛ рд╣реИред рд╡рд╣ рдХрд╛рд░реНрдб рд▓реЙрдХ рдХрд░рдиреЗ рдХрд╛ рдзреНрдпрд╛рди рд░рдЦреЗрдЧрд╛, рдЗрд╕рд▓рд┐рдП рд╣рдореЗрдВ рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рдЪрд┐рдВрддрд╛ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред
- ants.getIlk(Tile) - рдПрдХ рд╕реНрдерд┐рддрд┐ (рдЯрд╛рдЗрд▓ рдСрдмреНрдЬреЗрдХреНрдЯ) рд▓реЗрддрд╛ рд╣реИ рдФрд░ рдПрдХ рдПрд▓реНрдХ рдСрдмреНрдЬреЗрдХреНрдЯ (рдХрд┐рд╕реА рджрд┐рдП рдЧрдП рд╕реНрдерд╛рди рдореЗрдВ рдорд╛рдирдЪрд┐рддреНрд░ рдмрд┐рдВрджреБ рдХрд╛ рдкреНрд░рдХрд╛рд░) рджреЗрддрд╛ рд╣реИред рдЗрд╕рдХреЗ рдмрд╛рдж, рд╣рдо рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП isUnoccupied() рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЗ isUnoccupied() рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдХреЙрд▓ рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рдпрд╣ рд╕рдВрднрд╡ рд╣реИ рдХрд┐ рдпрд╣ рдПрдХ рдЪрд╛рд▓ рдмрдирд╛ рд╕рдХреЗред
- Ilk.isUnoccupied рд╕реНрдерд┐рддрд┐ рдХреЛ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рддрд╛ рд╣реИ рдФрд░ рд╣рдореЗрдВ Ilk.isUnoccupied рд╣реИ рдХрд┐ рдХреНрдпрд╛ рдпрд╣ рдХрджрдо рд╕рдВрднрд╡ рд╣реИред рдпрд╣ рдкрд╣рд▓реЗ рдХреЗ Ilk.isPassable рд╕реЗ рдмреЗрд╣рддрд░ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдЖрдкрдХреЛ рднреЛрдЬрди рдпрд╛ рдЕрдиреНрдп рдЪреАрдВрдЯрд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рдЬрд╛рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рдирд╣реАрдВ рджреЗрдЧрд╛ред
- рдпреЛрдЬрдирд╛рдмрджреНрдз рдЪрд░рдгреЛрдВ рдХреЛ рдЯреНрд░реИрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрджреЗрд╢реЛрдВ рдХреЗ рд╕рд╛рде рд╣рд╛рд╢рдк рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред if рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдореЗрдВ, рд╕реНрдерд┐рддрд┐ !orders.containsKey(newLoc) рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХреБрдВрдЬреА рдХреЗ рдЕрд╕реНрддрд┐рддреНрд╡ рдХреА рдЬрд╛рдВрдЪ рдХрд░рддреА рд╣реИ рдФрд░ рдЯрдХрд░рд╛рд╡ рд╕реЗ рдмрдЪрдиреЗ рдореЗрдВ рдорджрдж рдХрд░рддреА рд╣реИред

рдкрд░рд┐рдгрд╛рдо

рдЕрдВрдд рдореЗрдВ, рд╣рдо рдЕрдкрдиреЗ рдмреЙрдЯ рдХреЛ рдлрд┐рд░ рд╕реЗ рд▓реЙрдиреНрдЪ рдХрд░реЗрдВрдЧреЗ рдФрд░ рджреЗрдЦреЗрдВрдЧреЗ рдХрд┐ рдХреНрдпрд╛ рд╣реБрдЖред
 C:\aichallenge>tutorial.cmd running for 60 turns ant_count c_turns climb? cutoff food r_turn ranking_bots s_alive s_hills score w_turn winning turn 0 stats: [1,1,0] 0 [1,1] - 18 0 None [1,1] [1,1] [1,1] 0 None turn 1 stats: [1,1,0] 0 [1,1] - 16 1 [0,0] [1,1] [1,1] [1,1] 1 [0,1] turn 2 stats: [2,1,0] 0 [1,1] - 16 1 [0,0] [1,1] [1,1] [1,1] 1 [0,1] ... turn 60 stats: [1,5,0] 0 [1,1] - 12 1 [0,0] [1,1] [1,1] [1,1] 1 [0,1] score 1 1 status survived survived playerturns 60 60 




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

рд╕рдВрджрд░реНрдн


рд╕реНрдЯрд╛рд░реНрдЯрд░ рдкреИрдХ рдпрд╣рд╛рдВ рдкрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ ред
рд▓рд┐рдирдХреНрд╕ / рдореИрдХрдУрдПрд╕ рдХреЗ рд▓рд┐рдП рд╡рд┐рдВрдбреЛрдЬ рдХреЗ рд▓рд┐рдП рдЙрдкрдХрд░рдгред
рдЕрдиреБрд╡рд╛рджрд┐рдд рд▓реЗрдЦ: рдЪреАрдВрдЯрд┐рдпрд╛рдБ рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ , рдЪрд░рдг 1: рдЯрдХрд░рд╛рд╡ рд╕реЗ рдмрдЪрдирд╛ ред

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

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


All Articles