Sha256: 10cfeb516a7060efd48656488f562165caf339008a6dac4098330d069f08fddb

Contents?: true

Size: 974 Bytes

Versions: 1

Compression:

Stored size: 974 Bytes

Contents

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

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

  # define entry to symbol (key to value) dictionary
  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
  VALID_ENTRIES = NTRY_TO_SYM.keys

  # define computer choices
  COMPUTER_CHOICES = NTRY_TO_SYM.values

  # create winners 2d list array with format: winning choice, losing choice
  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
  LOSERS = WINNERS.map { |winning_choice,losing_choice| [losing_choice,winning_choice] }

end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
rpsg-0.4.0 lib/Constants.rb