Sha256: 93611670394834af04312b18ff2938b530c63a5af3cc559512c0e0858cdcf071
Contents?: true
Size: 1.78 KB
Versions: 26
Compression:
Stored size: 1.78 KB
Contents
require 'artoo/robot' class ConwaySpheroRobot < Artoo::Robot connection :sphero, :adaptor => :sphero device :sphero, :driver => :sphero #api :host => '127.0.0.1', :port => '8080' work do birth on sphero, :collision => proc { contact } every(3.seconds) { movement if alive? } every(16.seconds) { birthday if alive? } end def alive?; (@alive == true); end def reset_contacts; @contacts = 0; end def contact; @contacts += 1; end def birth reset_contacts @age = 0 life movement end def life @alive = true sphero.set_color :green end def death puts "Death." pause_work @alive = false sphero.set_color :red sphero.stop end def birthday @age += 1 puts "Happy birthday, #{name}, you are #{@age} and had #{@contacts} contacts." #return if @age <= 3 death unless @contacts >= 6 && @contacts < 11 reset_contacts end def movement sphero.roll 90, rand(360) end end SPHEROS = { "127.0.0.1:4560" => "/dev/tty.Sphero-BRG-RN-SPP", "127.0.0.1:4561" => "/dev/tty.Sphero-YBW-RN-SPP", "127.0.0.1:4562" => "/dev/tty.Sphero-BWY-RN-SPP", "127.0.0.1:4563" => "/dev/tty.Sphero-YRR-RN-SPP", "127.0.0.1:4564" => "/dev/tty.Sphero-OBG-RN-SPP", "127.0.0.1:4565" => "/dev/tty.Sphero-GOB-RN-SPP", "127.0.0.1:4566" => "/dev/tty.Sphero-PYG-RN-SPP", "127.0.0.1:4567" => "/dev/tty.Sphero-PYG-RN-SPP", "127.0.0.1:4568" => "/dev/tty.Sphero-PYG-RN-SPP", "127.0.0.1:4569" => "/dev/tty.Sphero-PYG-RN-SPP"} robots = [] SPHEROS.each_key {|p| robots << ConwaySpheroRobot.new(:connections => {:sphero => {:port => p}}) } ConwaySpheroRobot.work!(robots)
Version data entries
26 entries across 26 versions & 1 rubygems