Sha256: 2b5ca1660d9ce0f4d55a6c3b23074c55ff2b2ea6b12920e9056fabc07bbd2224

Contents?: true

Size: 1.03 KB

Versions: 2

Compression:

Stored size: 1.03 KB

Contents

# create module that holds all contents for this script
module ProtectedConstants

  # create 2d list of choices
  protected
  CHOICES = [['r', 'rock'], ['p', 'paper'], ['s', 'scissors']]

  # define entry to symbol (key to value) dictionary
  protected
  NTRY_TO_SYM = {
    CHOICES[0][0] => :ROCK    , CHOICES[0][1] => :ROCK    ,
    CHOICES[1][0] => :PAPER   , CHOICES[1][1] => :PAPER   ,
    CHOICES[2][0] => :SCISSORS, CHOICES[2][1] => :SCISSORS
  }

  # define valid entries
  protected
  VALID_ENTRIES = NTRY_TO_SYM.keys

  # define computer choices
  protected
  COMPUTER_CHOICES = NTRY_TO_SYM.values

  # create winners 2d list array with format: winning choice, losing choice
  protected
  WINNERS = [
    [:SCISSORS, :PAPER   ],
    [:PAPER   , :ROCK    ],
    [:ROCK    , :SCISSORS]
  ]

  # this will take the original WINNERS array and flip the symbols, thus returning a loss for the user/player
  protected
  LOSERS = WINNERS.map { |winning_choice,losing_choice| [losing_choice,winning_choice] }

end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
rpsg-0.4.2 lib/ProtectedConstants.rb
rpsg-0.4.1 lib/ProtectedConstants.rb