Advertisement
Guest User

Untitled

a guest
Nov 27th, 2015
71
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Ruby 1.23 KB | None | 0 0
  1. =begin
  2. 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"]
  3. =end
  4.  
  5. arr = ((2..14).to_a * 4).sort
  6.  
  7. meta_deck = arr.map.with_index do |x,y|
  8.     if y % 4 == 0
  9.         x.to_s + "a"
  10.     elsif (y-1) % 4 == 0
  11.         x.to_s + "b"
  12.     elsif (y-2) % 4 == 0
  13.         x.to_s + "c"
  14.     else
  15.         x.to_s + "d"
  16.     end
  17. end
  18.  
  19.  
  20.  
  21. # shuffles the deck for play
  22.  
  23. deck = meta_deck.shuffle
  24.  
  25.  
  26.  
  27. # your dealt cards from the shuffled deck (for 5-card stud)
  28.  
  29. my_holdings = [deck.pop, deck.pop, deck.pop, deck.pop, deck.pop]
  30.  
  31.  
  32. #method for determining whether 5 card combo is a straight
  33.  
  34. def is_straight?(cards)
  35.  
  36.     number_rep = cards.map { |x|
  37.         x.slice(0..-2).to_i
  38.     }.sort
  39.    
  40.     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
  41.         true
  42.     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
  43.         true
  44.     else false
  45.     end
  46.    
  47. end
  48.  
  49. is_straight?(["2a", "5c", "14b", "4d", "3a"]) # >> true
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement