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

后端 未结 8 1894
我寻月下人不归
我寻月下人不归 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:50

    pguardiario's solution above can be modified per the below to show both (1) which player won (as opposed to the choice of object that won) and (2) the result when there is a draw:

    def rps(p1, p2)
       @results = {
       'rock/paper' => "Player 2 won!",
       'rock/scissors' => "Player 1 won!",
       'paper/scissors' => "Player 2 won!",
       'paper/rock' => "Player 1 won!",
       'scissors/paper' => "Player 1 won!",
       'scissors/rock' => "Player 2 won!",
       'rock/rock' => "Draw!",
       'scissors/scissors' => "Draw!",
       'paper/paper' => "Draw!"
       }
    
       @results["#{p1}/#{p2}"]
    end
    
    rps("rock", "rock")     => "Draw!"
    rps("rock", "scissors") => "Player 1 won!"
    rps("rock", "paper")    => "Player 2 won!"
    

    ...etc

提交回复
热议问题