Моя рекомендация будет просто пройти по палубе массива в метод и вернуть массив с [player1, player2, deck]. Если вы просто рисуете «верх» колоды, вы можете просто использовать shift
, чтобы вывести первый элемент из массива.
Долгого Решение
deck = [[2,"spades"],[3,"hearts"],[6,"diamonds"],[10,"clubs"],[8,"hearts"],[9,"clubs"]]
def drawTwo(arr)
if arr.count >= 4
player_one = [deck.shift, deck.shift]
player_two = [deck.shift, deck.shift]
return [player_one, player_two, deck]
else
return "Not enough cards in deck, please provide a new deck"
end
end
round = drawTwo(deck)
player_one = round[0]
player_two = round[1]
deck = round[2]
puts "Player one: #{player_one}"
puts "Player two: #{player_two}"
puts "Deck: #{deck}"
Я пытался быть довольно подробными и не запутать этот код так, он должен прочитать довольно толковым.
Вы могли бы сделать его немного короче, переписав его, как это, я просто хотел, чтобы это было понятно, что происходит:
конденсированного решения
deck = [[2,"spades"],[3,"hearts"],[6,"diamonds"],[10,"clubs"],[8,"hearts"],[9,"clubs"]]
def drawTwo(arr)
arr.count >= 4 ? [[arr.shift, arr.shift], [arr.shift, arr.shift]] : raise "Not enough cards..."
end
player_one, player_two = drawTwo(deck)
puts "Player one: #{player_one}"
puts "Player two: #{player_two}"
puts "Deck: #{deck}"
Обязательно включать deck.shuffle
, когда вам сначала создайте колоду.
Кроме того, я не знаю, что вы используете для создания колоды, но так как я с удовольствием с ним:
генерируя перетасовал колоду
def newShuffledDeck
ranks = ["2", "3", "4", "5", "6", "7", "8", "9", "10", "J", "Q", "K", "A"]
suits = ["hearts", "spades", "clubs", "diamonds"]
deck = ranks.product(suits)
deck.shuffle
end
Заметьте, что тот факт, что каждый Элемент 'deck' - массив не имеет значения. Это же решение применимо, если 'deck = [: card1,: card2, ...,: card6]'. Кстати, вы имеете в виду '' spades ''или': spaces'. Как указано, 'spades' должен быть переменной или методом. –
@max paspa выполнил любой из предоставленных ответов для вас? Если да, пожалуйста, выберите ответ, чтобы это отображалось как вопрос с ответом при поиске пользователей. Благодаря! – OneNeptune