class Robut::Plugin::Roulette

A simple roulette module

Public Instance Methods

draw() click to toggle source
# File lib/robut-roulette.rb, line 42
def draw
  roulette.pop unless roulette.empty?
end
game() click to toggle source
# File lib/robut-roulette.rb, line 34
def game
  store["game"] ||= []
end
handle(time, sender_nick, message) click to toggle source
# File lib/robut-roulette.rb, line 9
def handle(time, sender_nick, message)
  words = words(message)
  return if words.index("roulette").nil?

  if last_draw == sender_nick
    return reply "#{sender_nick}: you can't shoot twice in a row, dolt!"
  end

  outcome = draw
  stats(sender_nick, outcome)

  output = "Shot #{shot} of 6:"
  if outcome == 1
    reply "#{output} (boom)"
    reply "*reloads*"
    reset
  else
    reply "#{output} *click*"
  end
end
last_draw() click to toggle source
# File lib/robut-roulette.rb, line 46
def last_draw
  game.last unless game.empty?
end
reset() click to toggle source
# File lib/robut-roulette.rb, line 54
def reset
  store["roulette"] = [0,0,0,0,0,1].shuffle
  store["game"] = []
end
roulette() click to toggle source
# File lib/robut-roulette.rb, line 30
def roulette
  store["roulette"] ||= [0,0,0,0,0,1].shuffle
end
shot() click to toggle source
# File lib/robut-roulette.rb, line 38
def shot
  6 - roulette.length
end
stats(user,outcome) click to toggle source
# File lib/robut-roulette.rb, line 50
def stats(user,outcome)
  game.push(user)
end
usage() click to toggle source
# File lib/robut-roulette.rb, line 5
def usage
  [ "#{at_nick} roulette - takes a shot" ]
end