RTanque

Signup for the Madrid.rb Battle

Create a private/secret gist with your bot code

Open the registration form in new window

Gameplay

RTanque players must program the brain of a tank and then send it into battle with others bots. Last bot standing wins.

Requirements

Quick Start

Make a project directory, init bundler, add the RTanque gem, and create a bot

$ mkdir -p rtanque; cd rtanque
$ bundle init
$ echo "gem 'rtanque', :github => 'awilliams/RTanque'" >> Gemfile
$ bundle
$ bundle exec rtanque init my_bot
$ bundle exec rtanque start sample_bots/keyboard bots/my_bot

Bot API

The tank api consists of reading input from Brain#sensors and giving output to Brain#command

class Bot < RTanque::Bot::Brain
  # RTanque::Bot::Sensors =
  #  Struct.new(:ticks, :health, :speed, :position, :heading, :radar, :turret)
  def tick!
    sensors.ticks # Integer
    sensors.health # Float
    sensors.position # RTanque::Point
    sensors.heading # RTanque::Heading
    sensors.speed # Float
    sensors.radar_heading # RTanque::Heading
    sensors.turret_heading # RTanque::Heading
    sensors.radar.each do |scanned_bot|
      # RTanque::Bot::Radar::Reflection
      # Reflection(:heading, :distance, :name)
    end
  end
end
class Bot < RTanque::Bot::Brain
  # RTanque::Bot::Command =
  #  Struct.new(:speed, :heading, :radar_heading, :turret_heading, :fire_power)
  def tick!
    command.speed = 1
    command.heading = Math::PI
    command.radar_heading = Math::PI
    command.turret_heading = Math::PI
    command.fire(3)
  end
end

More Info