рд╕реНрдЯрд╛рд░реНрдЯрд░ рдкреИрдХ рдореЗрдВ рд▓рд╛рдЧреВ рдХреА рдЧрдИ рд░рдгрдиреАрддрд┐рдпрд╛рдБ рдЖрдкрдХреЗ рдмреЙрдЯ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рд┐рд░реНрдл рдПрдХ рд╢реБрд░реБрдЖрддреА рдмрд┐рдВрджреБ рд╣реИрдВ, рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдпреЗ рдХреБрдЫ рд╕рдмрд╕реЗ рдЦрд░рд╛рдм рд░рдгрдиреАрддрд┐рдпрд╛рдБ рд╣реИрдВред рдПрдХ рд╣реА рд╕рдордп рдореЗрдВ, рд╕реНрдЯрд╛рд░реНрдЯрд░ рдкреИрдХ рдореЗрдВ рдмреЗрд╣рддрд░ рд░рдгрдиреАрддрд┐ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдиреЗ рдореЗрдВ рдЖрдкрдХреА рдорджрдж рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧреА рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ рд╢рд╛рдорд┐рд▓ рд╣реИрдВред рдпрд╣ рд▓реЗрдЦ рдЖрдкрдХреЛ рдкреИрдХреЗрдЬ рд╕рдВрд╡рд░реНрджреНрдзрди рдХреА рдПрдХ рд╢реНрд░реГрдВрдЦрд▓рд╛ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдорд╛рд░реНрдЧрджрд░реНрд╢рди рдХрд░реЗрдЧрд╛ред рдкреНрд░рддреНрдпреЗрдХ рдкреВрд░реНрдг рдЪрд░рдг рдХреЗ рд╕рд╛рде, рдЖрдкрдХрд╛ рдмреЙрдЯ рдЕрдзрд┐рдХ рд╕реНрдорд╛рд░реНрдЯ рд╣реЛ рдЬрд╛рдПрдЧрд╛, рдФрд░ рдЖрдкрдХреА рд░реЗрдЯрд┐рдВрдЧ рдмрдврд╝рдиреЗ рд▓рдЧреЗрдЧреАред
рдЖрд╡рд╢реНрдпрдХ рд╢рд░реНрддреЗрдВ
рдЗрд╕ рд▓реЗрдЦ рдХреЗ рд▓рд┐рдП, рд╣рдо рдЬрд╛рд╡рд╛ рд╕реНрдЯрд╛рд░реНрдЯ-рдЕрдк рдкреИрдХреЗрдЬ (рдЕрдиреБрд╡рд╛рджрдХ рдХреЗ рдиреЛрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗ: рд╣рдореЗрдВ рдкрд╛рдпрдерди рдХреА рднреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдЙрдкрдХрд░рдг - рдПрдХ рдмреЙрдЯ рдкрд░реАрдХреНрд╖рдХ рдФрд░ рдЙрд╕ рдкрд░ рдЙрдкрдпреЛрдЧреА рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛ рдПрдХ рд╕реЗрдЯ рд▓рд┐рдЦрд╛ рдЬрд╛рддрд╛ рд╣реИ, рд▓реЗрдЦ рдХреЗ рдЕрдВрдд рдореЗрдВ рд▓рд┐рдВрдХ)ред рдЖрдкрдХреЛ рдЯреВрд▓ рдХреА рднреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред
рд╕реНрдерд╛рдкрд┐рдд
рдПрдХ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдмрдирд╛рдПрдВ рдЬрд┐рд╕рдореЗрдВ рдЖрдк рд╕реНрдЯрд╛рд░реНрдЯрд░ рдкреИрдХреЗрдЬ (рдмреЙрдЯ) рдФрд░ рдЯреВрд▓реНрд╕ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░реЗрдВрдЧреЗред рдЖрдкрдХреЛ рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рд╕реЗ рдорд┐рд▓рдирд╛ рдЪрд╛рд╣рд┐рдП:
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
- рдкрд╣рд▓реЗ рджреЛ рд╡рд┐рдХрд▓реНрдк рд╣рдорд╛рд░реЗ рджреНрд╡рд╛рд░рд╛ рд▓реЙрдиреНрдЪ рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рдмреЙрдЯ рд╣реИрдВред рд╣рдо рдПрдХ рдкреНрд░рддрд┐рджреНрд╡рдВрджреНрд╡реА рдХреЗ рд░реВрдк рдореЗрдВ рдЕрдкрдиреЗ рдмреЙрдЯ рдФрд░ рд╣рдВрдЯрд░рдмреЙрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред
- --Map_file рд╡рд┐рдХрд▓реНрдк рдорд╛рдирдЪрд┐рддреНрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реЗрдЯ рдХрд░рддрд╛ рд╣реИред 2 рдПрдВрдерд┐рд▓ рдХреЗ рд╕рд╛рде рдПрдХ рдирдХреНрд╢рд╛ рдЪреБрдиреЗрдВред
- рд╡рд┐рдХрд▓реНрдк --log_dir рдЙрд╕ рд╕реНрдерд╛рди рдХреЛ рд╕реЗрдЯ рдХрд░рддрд╛ рд╣реИ рдЬрд╣рд╛рдВ рджреГрд╢реНрдп рдлрд╝рд╛рдЗрд▓ рдФрд░, рд╡реИрдХрд▓реНрдкрд┐рдХ рд░реВрдк рд╕реЗ, рдмреЙрдЯ рдХрд╛ рдЗрдирдкреБрдЯ / рдЖрдЙрдЯрдкреБрдЯ рд▓реЙрдЧ рд╣реЛрддрд╛ рд╣реИ рдФрд░ рдЗрд╕рдХреА рддреНрд░реБрдЯрд┐рдпрд╛рдВ рдмрдЪ рдЬрд╛рдПрдВрдЧреАред
- --Turns рд╡рд┐рдХрд▓реНрдк рдПрдХ рдЧреЗрдо рдХреЗ рд▓рд┐рдП рдЕрдзрд┐рдХрддрдо рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рдЪрд╛рд▓реЗрдВ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рддрд╛ рд╣реИред рдЪреВрдВрдХрд┐ рдЕрддрд┐рд░рд┐рдХреНрдд рдбреЗрдЯрд╛ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╣рдо 60 рдЪрд░рдгреЛрдВ рдкрд░ рдзреНрдпрд╛рди рдХреЗрдВрджреНрд░рд┐рдд рдХрд░рддреЗ рд╣реИрдВред
- --Scenario рд╡рд┐рдХрд▓реНрдк рдЖрдкрдХреЛ рдорд╛рдирдЪрд┐рддреНрд░ рдкрд░ рднреЛрдЬрди рдХреЗ рд╕рд╛рде рд╢реБрд░реБрдЖрддреА рдмрд┐рдВрджреБрдУрдВ рдХреЛ рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рд╣рдо рдЗрд╕ рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ рдХреЗ рд▓рд┐рдП рднреЛрдЬрди рдХреА рдирд┐рдпреБрдХреНрддрд┐ рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рддреЗ рд╣реИрдВред
- The-food рдХреЛрдИ рднреА рд╡рд┐рдХрд▓реНрдк рдЖрдкрдХреЛ рдЦреЗрд▓ рдХреЗ рджреМрд░рд╛рди рднреЛрдЬрди рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐ рдХреЛ рдмрдВрдж рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рдирд╣реАрдВ рджреЗрддрд╛ рд╣реИред рдлрд┐рд░ рд╕реЗ, рдЗрд╕ рд╡рд┐рдХрд▓реНрдк рдХрд╛ рдЙрдкрдпреЛрдЧ рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ рдХреЗ рднрд╛рдЧ рдХреЗ рд░реВрдк рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
- --Player_seed рд╡рд┐рдХрд▓реНрдк рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдЖрдк рдЗрд╕ рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ рдореЗрдВ рдЬреИрд╕рд╛ рдкрд░рд┐рдгрд╛рдо рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд╣рдВрдЯрд░рдмреЛрдЯ рдЗрд╕ рдорд╛рди рдХрд╛ рдЙрдкрдпреЛрдЧ рд░реИрдВрдбрдо рдирдВрдмрд░ рдЬрдирд░реЗрдЯрд░ рдХреЛ рдЗрдирд┐рд╢рд┐рдпрд▓рд╛рдЗрдЬрд╝ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд░рддрд╛ рд╣реИ, рддрд╛рдХрд┐ рдпрд╣ рд╣рдореЗрд╢рд╛ рд╡рд╣реА рдХрджрдо рдЙрдард╛рдПред (рдиреЛрдЯ: рдпрджрд┐ рдЖрдк рдЕрдкрдиреЗ рдмреЙрдЯ рдХреЛ рдбреАрдмрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЧреЗрдо рд░рд┐рдкреНрд▓реЗ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ рдпрд╣ рд░рдгрдиреАрддрд┐ рднреА рд▓рд╛рдЧреВ рдХрд░рдиреА рдЪрд╛рд╣рд┐рдП)ред
- Theverbose рд╡рд┐рдХрд▓реНрдк рдЦреЗрд▓ рдкрд░ рд╕рд╛рдорд╛рдиреНрдп рдЖрдВрдХрдбрд╝реЗ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░реЗрдЧрд╛, рдЬреЛ рдЖрдкрдХреЛ рдЦреЗрд▓ рдХреА рдкреНрд░рдЧрддрд┐ рдХреА рдирд┐рдЧрд░рд╛рдиреА рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред
- --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. рдЯрдХрд░рд╛рд╡ рд╕реЗ рдмрдЪреЗрдВ
рдпреЛрдЬрдирд╛
рдЯрдХрд░рд╛рд╡ рдХреЛ рд░реЛрдХрдиреЗ рдХреЗ рд▓рд┐рдП, рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХрд░реЗрдВ:
- рдЪреАрдВрдЯрд┐рдпреЛрдВ рдХреЛ рдЕрдиреНрдп рдЪреАрдВрдЯрд┐рдпреЛрдВ рдкрд░ рдЬрд╛рдиреЗ рд╕реЗ рд░реЛрдХреЗрдВред
- 2 рдЪреАрдВрдЯрд┐рдпреЛрдВ рдХреЛ рдПрдХ рдмрд┐рдВрджреБ рдкрд░ рдЬрд╛рдиреЗ рд╕реЗ рд░реЛрдХреЗрдВред
- рд╣рдорд╛рд░реЗ рд╕рднреА рдЪреАрдВрдЯрд┐рдпреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рдЯреНрд░реИрдХ рдХрд░реЗрдВред
рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди
рд╣рдорд╛рд░реА рдЪреАрдВрдЯрд┐рдпреЛрдВ рдХреА рдЬрд╛рдирдХрд╛рд░реА рдХреЛ рдЯреНрд░реИрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдХреБрд╢рд▓рддрд╛ рд╕реЗ рд╣рд╛рд╢рдк рд╕рдВрд░рдЪрдирд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред рдпрд╣ рдбреЗрдЯрд╛ рд╕рдВрд░рдЪрдирд╛ рдЪреАрдВрдЯрд┐рдпреЛрдВ рдХреА рд╕реНрдерд┐рддрд┐ рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░реЗрдЧрд╛ рдФрд░ рдЖрдкрдХреЛ рдпрд╣ рдЬрд╛рдВрдЪрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдЧрд╛ рдХрд┐ рдХреНрдпрд╛ рдпрд╣ рд╕реНрдерд┐рддрд┐ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЙрдкрдпреЛрдЧ рдХреА рдЧрдИ рд╣реИред рдкреНрд░рддреНрдпреЗрдХ HashMap рдХреБрдВрдЬреА рдореВрд▓реНрдп рдореЗрдВ рдПрдХ рдЯрд╛рдЗрд▓ рдСрдмреНрдЬреЗрдХреНрдЯ рд╣реЛрдЧрд╛ред рдЯрд╛рдЗрд▓ - рдорд╛рдирдЪрд┐рддреНрд░ рдкрд░ рд╡рд╕реНрддреБ рдХреА рд╕реНрдерд┐рддрд┐ рдХреЗ рд╕рд╛рде рдПрдХ рд╡рд╕реНрддреБред рдХреБрдВрдЬреА рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рдЪрд░рдг рдХреА рд╕реНрдерд┐рддрд┐ рд╣реИ, рдФрд░ рдореВрд▓реНрдп рд╡рд░реНрддрдорд╛рди рд╕реНрдерд┐рддрд┐ рд╣реИред рдЗрд╕ рддрд░рд╣ рд╣рдо рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдХрджрдо рдЙрдард╛рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдХрд┐ рд╣рдо рджреЛрдиреЛрдВ рдЪреАрдВрдЯрд┐рдпреЛрдВ рдХреЛ рдПрдХ рд╣реА рдмрд┐рдВрджреБ рдкрд░ рдирд╣реАрдВ рдЬрд╛рддреЗ рд╣реИрдВ, рд╣рд╛рд╢рдкреИрдк рдХреА рдЬрд╛рдВрдЪ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдкреНрд░рддреНрдпреЗрдХ рдЖрдВрджреЛрд▓рди рдХреЗ рд╕рд╛рде, рд╣рдо HashMap рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░реЗрдВрдЧреЗред
рдЪреВрдВрдХрд┐ рдпрд╣ рдЪреЗрдХ рдмрд╛рдж рдореЗрдВ рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ рдореЗрдВ рдЙрдкрдпреЛрдЧреА рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╣рдо рдПрдХ рдлрд╝рдВрдХреНрд╢рди рдмрдирд╛рдПрдВрдЧреЗ рдЬреЛ рдпрд╣ рдЬрд╛рдВрдЪрддрд╛ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рдПрдХ рджрд┐рдпрд╛ рдЧрдпрд╛ рдХрджрдо рд╕рдВрднрд╡ рд╣реИред рдпрд╣ рдПрдХ рдмреВрд▓рд┐рдпрди рдорд╛рди (рд╕рд╣реА рдпрд╛ рдЧрд▓рдд) рд▓реМрдЯрд╛рдПрдЧрд╛ред
рдХреЛрдб
рд╣рдо рдореВрд▓ рдмреЙрдЯ рдореЗрдВ рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдХреЛ рдЫреЛрдбрд╝ рджреЗрдВрдЧреЗ рдФрд░ рдирдпрд╛ рдХреЛрдб рдкреЛрд╕реНрдЯ рдХрд░реЗрдВрдЧреЗ:
public boolean doMoveDirection(Ants ants, HashMap<Tile, Tile> orders, Tile antLoc, Aim direction) {
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 рдПрдХ рдЕрдЬреНрдЮрд╛рдд рд╣реИрдмрд░-рдорд┐рддреНрд░ рдХреЛ рдЖрдордВрддреНрд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж рдФрд░ рд╕рд╛рдорд╛рдиреНрдп рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд▓реЗрдЦ рдкреНрд░рд╕реНрддреБрдд рдХрд░рдиреЗ рдХрд╛ рдЕрд╡рд╕рд░ред