Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- =begin
- Generates an array which contains 2..14 four times with a..d appended to each integer.to_s like so: ["2a","2b","2c","2d"..."14a","14b","14c","14d"]
- =end
- arr = ((2..14).to_a * 4).sort
- meta_deck = arr.map.with_index do |x,y|
- if y % 4 == 0
- x.to_s + "a"
- elsif (y-1) % 4 == 0
- x.to_s + "b"
- elsif (y-2) % 4 == 0
- x.to_s + "c"
- else
- x.to_s + "d"
- end
- end
- # shuffles the deck for play
- deck = meta_deck.shuffle
- # your dealt cards from the shuffled deck (for 5-card stud)
- my_holdings = [deck.pop, deck.pop, deck.pop, deck.pop, deck.pop]
- #method for determining whether 5 card combo is a straight
- def is_straight?(cards)
- number_rep = cards.map { |x|
- x.slice(0..-2).to_i
- }.sort
- if number_rep[3] - number_rep[2] == 1 && number_rep[2] - number_rep[1] == 1 && number_rep[1] - number_rep[0] == 1 && number_rep[0] - number_rep[4] == -12 && number_rep[4] == 14
- true
- elsif number_rep[4] - number_rep[3] == 1 && number_rep[3] - number_rep[2] == 1 && number_rep[2] - number_rep[1] == 1 && number_rep[1] - number_rep[0] == 1
- true
- else false
- end
- end
- is_straight?(["2a", "5c", "14b", "4d", "3a"]) # >> true
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement