Pull to refresh

ХабраВойны — python-robots

Sport programming *
Драфт течпревью игры для программистов. (очень грязный, опубликовал, чтобы собрать мнения и замечания, не минусуйте сильно, пожалуйста) По мотивам
habrahabr.ru/blogs/sport_programming/74536
и
habrahabr.ru/blogs/sport_programming/74523
Готов в общем-то движок. Игра пошаговая, интерфейс к программам-игрокам — STDIN STDOUT, т.е. можно использовать любые языки программирования (хоть brainfuck, если он ввод-вывод поддерживает.)
Будет гуй-тестер на wxPython (Linux/Windows/OSX) и сайт с возможностью загрузки своих скриптов или бинарников, развернутой системой рейтинга игроков (в т.ч. по времени выполнения кода). Планируются коммандные бои и sdk для нескольких языков.
Все (включая сайт) будет под GPL и некоммерческим.
Приглашаются дезагнеры и флешеры

PS. Строго не судите, написанно absolute бегиннером буквально за ночь, под влиянием обсуждения на хабре. Лучше поддержите советом и коммитом
Update: Написал рабочее описание формата ввода/вывода программ-игроков
UPD Тут лежит примерное недоделаное сдк, код бота на питоне будет вроде такого:

Copy Source | Copy HTML
  1. #!/usr/bin/python
  2. """Sample game bot for python-robots"""
  3. import pyr-sdk
  4.  
  5.  
  6. class DumbBoot(pyr-sdk.Pobot):
  7.     def main(self):
  8.         """Main cyclic function: :))"""
  9.         for enemyrobot in self.robots:
  10.             if self.GetDistToRobot(enemyrobot)<4:
  11.                 self.FireToRobot(enemyrobot)
  12.         if self.energy<50:
  13.             self.KillYMySelf()
  14.         if not self.isWallAhead():
  15.             self.Go()
  16.         else:
  17.             self.Left()
  18.  
  19.         ###########common part
  20.         self.reloading()
  21.  
  22.     def start(self):
  23.         """some code which run once"""
  24.         pass
  25.  
  26. if __name__=="__main__":
  27.     darvin_small_metal_guy = DumbBoot()
  28.  
Tags:
Hubs:
Total votes 57: ↑43 and ↓14 +29
Views 1.5K
Comments Comments 30