【发布时间】:2014-12-13 06:26:32
【问题描述】:
构建二十一点游戏。如果我在 display_cards 方法中添加第二个参数,一切都会崩溃。如果我从方法中取出参数然后调用它,一切正常。怎么了?
def play
game_deck = initialize_deck
game_deck = shuffle_deck(game_deck)
human_cards = []
computer_cards = []
end
def initialize_deck (number_of_decks = 6)
deck_values = ["A", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "J", "Q", "K"]
suits = ["-Hearts", "-Diamonds", "-Clubs", "-Spades"]
deck = []
number_of_decks.times do
suits.each do |suit|
deck_values.each do |value|
deck << value+suit
end
end
end
return deck
end
def display_cards (player_cards , player_name)
card_string = "#{player_name}'s Cards\n-----------------"
player_cards.each do |card|
card_string += "\n| #{card}"
card_string += "\n-----------------"
end
puts card_string
end
def shuffle_deck(deck , number_of_shuffles = 6)
number_of_shuffles.times do
deck = deck.sample(deck.count)
end
return deck
end
def pull_card(game_deck, player_cards)
player_cards << deck.shift
end
test_cards = ["A-Hearts", "3-Spades", "10-Diamonds"]
name = "ARealHumanBean"
display_cards (test_cards , name)
【问题讨论】:
-
deck是一个数组。数组有一个洗牌!方法。洗牌 6 次没有用。 -
谢谢斯蒂恩。简化了代码 :) 并感谢解决方案的家伙。很高兴我的逻辑没问题。但是,嘘。在额外的空间上进行大量的头撞!
标签: ruby methods parameters