https://github.com/phts/russian-ai-cup-2014-hedgehogs-team
My strategy for Russian AI Cup 2014 CodeHockey
https://github.com/phts/russian-ai-cup-2014-hedgehogs-team
Last synced: 3 months ago
JSON representation
My strategy for Russian AI Cup 2014 CodeHockey
- Host: GitHub
- URL: https://github.com/phts/russian-ai-cup-2014-hedgehogs-team
- Owner: phts
- Created: 2015-05-26T08:33:50.000Z (about 10 years ago)
- Default Branch: master
- Last Pushed: 2015-12-04T22:35:56.000Z (over 9 years ago)
- Last Synced: 2025-01-27T06:42:51.446Z (5 months ago)
- Language: Ruby
- Size: 3.17 MB
- Stars: 0
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Хоккейная команда "Ёжики"
Стратегия для управления командой хоккеистов, написанная в рамках чемпионата [Russian AI Cup 2014 CodeHockey](http://2014.russianaicup.ru/).
* [Мой профиль](http://2014.russianaicup.ru/profile/phts)
* [Правила](https://github.com/Russian-AI-Cup-2014/Tutorial)## Расписание
* Бета-песочница - 8 сентября
* Песочница - 15 сентября
* Первый раунд - 27 сентября
* Второй раунд - 4 октября
* Финал - 11 октября## Стратегия
### Режим паники (Panic Mode)
Режим, при котором принимаются все силы для того, чтобы забить шайбу.
Включается, когда моя команда проигрывает, и игра почти закончилась (осталось меньше 1000 тиков).
### Состояния
Существуют 9 состояний хоккеиста:
* holding
* supporting
* clearing_the_net
* defending
* defending_center
* picking_up
* taking_away
* having_fun
* awaiting_for_pass#### holding
Выполняется, когда данный хоккеист владеет шайбой.
Этот хоккеист едет на позицию, чтобы произвести удар по воротам.Траектория захода на позицию вычисляется, учитывая определенные параметры, и состоит из нескольких точек, чтобы хоккеист успел набрать большую скорость перед тем, как оказаться близко к воротам и нанести удар.
#### supporting
В этом состоянии хоккеист помогает своему товарищу по команде, если тот владеет шайбой на своей половине, нападая на ближайшего к шайбе соперника.
В режиме паники это состояние выполняется, когда хоккеист не находится ближе всего к шайбе, или когда товарищ по команде владеет шайбой на любой половине поля.
#### clearing_the_net
Выполняется только в режиме паники, когда шайба находится у своего товарища по команде на чужой половине поля.
В этом состоянии хоккеист ищет ближайшего соперника к воротам и пытается вывести его из строя. Обычно соперник ставит защитника в свои ворота, которые припятствуют проходу шайбе. На такого защитника и нацелен мой хоккест в этом состоянии.
#### defending
Хоккеист защищает ворота.
Оно действует, когда мой хоккеист владеет шайбой на чужой стороне поля.
Так сделано, потому что иначе хоккеист не успевает доехать до ворот, если он там не находится, и, если соперник вдруг перехватил шайбу - ворота остаются незащищенными.Также хоккеист защищает ворота, если шайба свободная или находится у соперника, и данный хоккеист находится от шайбы дальше своего напарника.
В режиме паники это состояние не включается.
#### defending_center
Защита центра площадки.
#### picking_up
Подбор свободной шайбы на поле.
Ближайший к шайбе хоккеист выполняет это действие.
#### taking_away
Ближайший к шайбе хоккеист пытается выбить шайбу у соперника. Именно выбить, а не отобрать, т.к у удар имеет большие шансы на успех, чем отбор. Тем более удар имеет шансы повалить соперника с ног.
#### having_fun
Данное состояние не имеет никакой практической пользы и существует только ради веселья.
Если моя команда забила шайбу, то мои хоккеисты начинают друг с другом драться. Выглядит все это, как будто бы они очень рады.
Если соперники забили шайбу, то мои хоккеисты начинают драться с соперниками.
#### awaiting_for_pass
Хоккеист ждет паса от своего члена по команде. Наступает тогда, когда кто-нибудь из хоккеистов захочет отдать пас данному хоккеисту.
## Локальный запуск
./run.sh
## Результаты
* Наивысшее место в песочнице: ≈30
* Место в песочнице по окончанию соревнований: 318
* Раунд 1
* Рейтинг: 460
* Место: 141
* Всего игр: 226
* Побед: 72%
* Раунд 2
* Рейтинг: 280
* Место: 131
* Всего игр: 178
* Побед: 57%После участия во втором раунде прекратил дальнейшую разработку. Основную цель достигнул — заработал маечку :tshirt:.