Signup for the Madrid.rb Battle
Create a private/secret gist with your bot code
Open the registration form in new windowGameplay
RTanque players must program the brain of a tank and then send it into battle with others bots. Last bot standing wins.
Requirements
- Ruby 1.9.3 is minimum recommended version of Ruby, 2.0 the preferred (tested on 1.8.7, 1.9.2 and 1.9.3)
- The Gosu library used for rendering has some system dependencies. Help resolving dependencies on:
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