module PrivateMethods

add module for private methods for the rpsg calculations

Public Class Methods

final_outcome(pl, co) click to toggle source

define final outcome that gives the result of who one the whole match

# File lib/PrivateMethods.rb, line 26
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

make a definition that asks for the players choice

# File lib/PrivateMethods.rb, line 6
def player_choice
  loop do
    print "\nChoose: Rock (r), Paper (p), or Scissors (s): "
    choice = gets.chomp.downcase
    if ProtectedConstants::NTRY_TO_SYM.key?(choice)
      return ProtectedConstants::NTRY_TO_SYM[choice]
    elsif choice != ProtectedConstants::VALID_ENTRIES
      puts "\nThat entry is invalid. Please re-enter.\n"
    else
      return nil
    end
  end
end
player_outcome(plays) click to toggle source

define outcomes of players choice against cpu

# File lib/PrivateMethods.rb, line 20
def player_outcome(plays)
  return :WIN  if ProtectedConstants::WINNERS.include?(plays)
  return :LOSE if ProtectedConstants::LOSERS.include?(plays)
  return :TIE  if !:WIN | !:LOSE
end