module PrivateMethods

Public Class Methods

final_outcome(pl,co) click to toggle source
# File lib/PrivateMethods.rb, line 31
def final_outcome(pl,co) 
  return :WIN  if pl > co 
  return :LOSE if pl < co
  # return :TIE  if pl = co
  # there will never be a tie for the final outcome due to the code in the play() method
end
player_choice() click to toggle source
# File lib/PrivateMethods.rb, line 6
def player_choice
  loop do
    print ColorizedString["Choose: Rock (r), Paper (p), or Scissors (s): "].colorize(:green)
    choice = gets.chomp.downcase
    if Constants::NTRY_TO_SYM.key?(choice)
      return Constants::NTRY_TO_SYM[choice]
    elsif choice != Constants::VALID_ENTRIES
      puts ColorizedString["That entry is invalid. Please re-enter."].colorize(:red) 
    else
      return nil
    end
    # # one may also do this:
    # case
    # when Constants::NTRY_TO_SYM.key?(choice)
    #   return Constants::NTRY_TO_SYM[choice]
    # when choice != Constants::VALID_ENTRIES
    #   puts ColorizedString["That entry is invalid. Please re-enter."].colorize(:green)
    # end
  end 
end
player_outcome(plays) click to toggle source
# File lib/PrivateMethods.rb, line 26
def player_outcome(plays)
  return :WIN  if Constants::WINNERS.include?(plays)
  return :LOSE if Constants::LOSERS.include?(plays)
  return :TIE  if !:WIN | !:LOSE
end