class Madeupgem::RockPaperScissors
Attributes
moves[RW]
Public Class Methods
new()
click to toggle source
# File lib/madeupgem.rb, line 9 def initialize @moves = {1 => "rock", 2 => "paper", 3 => "scissors"} end
Public Instance Methods
make_move()
click to toggle source
# File lib/madeupgem.rb, line 49 def make_move rand(1..3) end
paper_rules(m2)
click to toggle source
# File lib/madeupgem.rb, line 21 def paper_rules m2 if m2 == 1 puts "Win" else puts "Lose" end end
play()
click to toggle source
# File lib/madeupgem.rb, line 57 def play puts "enter your move:" puts "1: rock; 2: paper; 3: scissors" while true print "> " player_move = gets.chomp.to_i ai_move = self.make_move {"player": player_move, "other player": ai_move}.map do |player, move| puts "#{player} move: #{self.translate_move(move)}" end self.winner(player_move, ai_move) end end
rock_rules(m2)
click to toggle source
# File lib/madeupgem.rb, line 13 def rock_rules m2 if m2 == 2 puts "Lose" else puts "Win" end end
scissors_rules(m2)
click to toggle source
# File lib/madeupgem.rb, line 29 def scissors_rules m2 if m2 == 1 puts "Lose" else puts "Win" end end
translate_move(move)
click to toggle source
# File lib/madeupgem.rb, line 53 def translate_move move self.moves[move] end
winner(m1, m2)
click to toggle source
# File lib/madeupgem.rb, line 37 def winner m1, m2 if m1 == m2 puts "Draw" elsif m1 == 1 rock_rules(m2) elsif m1 == 2 paper_rules(m2) else scissors_rules(m2) end end