I am trying to write a Ruby program to deal 2 cards to one player but I get the error message no implicit conversion of Fixnum into string. I have looked at similar questions and I do not think they apply to this issue. I would appreciate any help with this. Here is my code:
def get_card (card)
suit = (card - 1)/13
if (card == 0)
puts " of clubs"
elsif (card == 1)
puts " of diamonds"
elsif (card == 2)
puts " of hearts"
elsif (card == 3)
puts " of spades"
end
card % 13
if (card == 1)
return "ace" + suit
elsif (card == 11)
return "jack" + suit
elsif (card == 0)
return "king" + suit
elsif (card == 2)
return "2" + suit
elsif (card == 3)
return "3" + suit
elsif (card == 4)
return "4" + suit
elsif (card == 5)
return "5" + suit
elsif (card == 6)
return "6" + suit
elsif (card == 7)
return "7" + suit
elsif (card == 8)
return "8" + suit
elsif (card == 9)
return "9" + suit
elsif (card == 10)
return "10" + suit
elsif (card == 12)
return "queen" + suit
end
end
def deal_cards
total_cards = (1..52).to_a.shuffle
player_value = [total_cards.pop, total_cards.pop]
puts "Your cards are " + get_card(player_value[0]).to_s + " and " + get_card(player_value[1]).to_s
end
deal_cards