HW impossibility?: “Create a rock paper scissors program in ruby WITHOUT using conditionals”

后端 未结 8 1880
我寻月下人不归
我寻月下人不归 2021-02-14 16:50

I\'m in an introductory software development class, and my homework is to create a rock paper scissors program that takes two arguments (rock, paper), etc, and returns the arg t

8条回答
  •  执笔经年
    2021-02-14 17:34

    Here's one only using hashes:

    RULES = {
      :rock     => {:rock => :draw, :paper => :paper, :scissors => :rock},
      :paper    => {:rock => :paper, :paper => :draw, :scissors => :scissors},
      :scissors => {:rock => :rock, :paper => :scissors, :scissors => :draw}
    }
    
    def play(p1, p2)
      RULES[p1][p2]
    end
    
    puts play(:rock, :paper)        # :paper
    puts play(:scissors, :rock)     # :rock
    puts play(:scissors, :scissors) # :draw
    

提交回复
热议问题