Игра для программистов — Быки и коровы
14 min
22KПривет Хабралюди. Я расскажу вам, как на Питоне написать движок и примерный бот игры для программистов. Игры для программистов — это такие игры, в которые играют не люди, а программы.
HabraWars: Графический debug
2 min
562С идеей HabraWars Вы уже наверняка знакомы, крайний из топиков анонсирует первый турнир. Который случиться сегодня. Регистрация новых участников будет после 20 ноября.
Правил и кода sample robot достаточно чтобы начать писать своего покорителя пьедестала. Но отладка при помощи только консоли FireBug может быть не достаточно наглядна. Гораздо удобнее получать информацию а мыслях робота прямо на арену.
Правил и кода sample robot достаточно чтобы начать писать своего покорителя пьедестала. Но отладка при помощи только консоли FireBug может быть не достаточно наглядна. Гораздо удобнее получать информацию а мыслях робота прямо на арену.
1 турнир habrawars — 2 место — описание стратегии
1 min
4672 место из 67 — это же не плохо? Предлагаю описание моей стратегии
1) Уворачивание от снарядов — похоже на стандартное, но никакого вращения (все равно некогда) + не всегда идет ускорение. На малых расстояниях это только потеря энергии
2) Пытаемся понять, кто нас атакует по полету снарядов. Единичную атаку можем проинтерпритировать как случайную (стреляли не в нас, а в соседнего)
3) Выявляем угрозы (продолжает атаковать, не удается сбежать)
4) Если врагов больше трех или три, но у них много здоровья, а угроз нет, пытаемся сваливать. Стратегия максимального удаления, но не зарываться в углы.
5) Если есть угроза, от которой не удается убежать, начинаем его атаковать. Если энергия есть, стреляем. Возможность его ускорения оцениваем по его энергии. (к сожалению, не учитывал врагов, которые стоят на месте, из-за этого и не первое место). Нет энергии — пытаемся «зайти за спину» врага
6) Нет угрозы, два врага или три, но у одного мало энергии — атакуем самого толстого.
Надеюсь, кому-нибудь это пригодится. На второй турнир буду готовить адаптивную стратегию.
1) Уворачивание от снарядов — похоже на стандартное, но никакого вращения (все равно некогда) + не всегда идет ускорение. На малых расстояниях это только потеря энергии
2) Пытаемся понять, кто нас атакует по полету снарядов. Единичную атаку можем проинтерпритировать как случайную (стреляли не в нас, а в соседнего)
3) Выявляем угрозы (продолжает атаковать, не удается сбежать)
4) Если врагов больше трех или три, но у них много здоровья, а угроз нет, пытаемся сваливать. Стратегия максимального удаления, но не зарываться в углы.
5) Если есть угроза, от которой не удается убежать, начинаем его атаковать. Если энергия есть, стреляем. Возможность его ускорения оцениваем по его энергии. (к сожалению, не учитывал врагов, которые стоят на месте, из-за этого и не первое место). Нет энергии — пытаемся «зайти за спину» врага
6) Нет угрозы, два врага или три, но у одного мало энергии — атакуем самого толстого.
Надеюсь, кому-нибудь это пригодится. На второй турнир буду готовить адаптивную стратегию.
Habrawars: полезняшка для графической отладки
3 min
401Решил поделится плагином для игры HabraWars — графическим отладчиком. Умеет встраиваться в движок и выводить точки, линии и текст. Остальное можно прикрутить по вкусу.
Создаем робота на ХабраWars
8 min
807Всем привет!
Наверно многие уже слышали про проект под названием HabraWars, если коротко — это игра для программеров, в которой вы сами пишите искусственный интеллект для собственного робота на JS.
Я думаю что это будет не первая моя статья на данную тему, хотя бы потому, что здесь я не собираюсь раскрывать всю тему, а лишь ее часть. Но сначала, я думаю, нужно сформировать некую концепцию робота… Сразу говорю, что в js я далеко не спец и вообще мои знания этого языка, на мой взгляд, довольно скудны… Итак, как-же должен выглядеть наш робот изнутри, а изнутри у него должна быть логика, как бы это очевидно не звучало, но логика это довольно сложная штука, она будет управлять роботом, задавая вопросы(типа: «Летит ли в меня(робота) снаряд») и основываясь на ответах вызывать функции, отвечающие за действия робота… Но начну я не с логики(я сам еще не начинал даже ее писать:)), а начну с функций, отвечающих за выполнение действий, порученных логикой.
Наверно многие уже слышали про проект под названием HabraWars, если коротко — это игра для программеров, в которой вы сами пишите искусственный интеллект для собственного робота на JS.
Я думаю что это будет не первая моя статья на данную тему, хотя бы потому, что здесь я не собираюсь раскрывать всю тему, а лишь ее часть. Но сначала, я думаю, нужно сформировать некую концепцию робота… Сразу говорю, что в js я далеко не спец и вообще мои знания этого языка, на мой взгляд, довольно скудны… Итак, как-же должен выглядеть наш робот изнутри, а изнутри у него должна быть логика, как бы это очевидно не звучало, но логика это довольно сложная штука, она будет управлять роботом, задавая вопросы(типа: «Летит ли в меня(робота) снаряд») и основываясь на ответах вызывать функции, отвечающие за действия робота… Но начну я не с логики(я сам еще не начинал даже ее писать:)), а начну с функций, отвечающих за выполнение действий, порученных логикой.