#javascript #arrays #image #blackjack
Вопрос:
Я создаю игру в Блэкджек и создал колоду карт, а также возможность тасовать колоду и сдавать карты из колоды.
let suits = ["H", "C", "D", "S"]
let ranks = ["2", "3", "4", "5", "6", "7", "8", "9", "T", "J", "Q", "K", "A"]
let deck = []
function createDeck(){
for(let suitCounter = 0; suitCounter < 4; suitCounter ){
for(let rankCounter = 0; rankCounter < 13; rankCounter ){
deck.push(ranks[rankCounter] suits[suitCounter])
}
}
return deck
}
function shuffleDeck(){
for(let i = 0; i < 52; i ){
let tempCard = deck[i]
let randomIndex = Math.floor(Math.random() * 52)
deck[i] = deck[randomIndex]
deck[randomIndex] = tempCard
}
}
let shuffledDeck = createDeck()
shuffleDeck(shuffledDeck)
console.log(shuffledDeck)
function dealHand(){
let blackJackHand = shuffledDeck.splice(0, 2)
console.log(blackJackHand)
}
function hitMe(){
let anotherCard = shuffledDeck.splice(0, 1)
console.log(anotherCard)
}
Я не уверен, как продолжить добавление изображений в массив, однако я не знаю, как добавить изображения в массив (колоду), который состоит из 2 других массивов.
Мне нужно назначить изображение карты для каждой карты, сгенерированной createDeck().
Любой совет будет оценен по достоинству.
Комментарии:
1. Я думаю, что вы можете назвать свои изображения именами, такими как H2.png, H3.png…C2.png,C3.png..и т.д. для каждой комбинации карт. Таким образом, при повторении массива колод вы можете просто получить доступ к изображению карты по значению массива колод, совместимому с расширением изображения.
2. Я советую вам скорее создавать
css
классы, такие как.skin-SUITE-CARD
или.skin-SUITE
, и настраивать метки с помощью javascript (или css с «контентом»).3. re: Навнатх Джадхав — Значение массива колод-это только возможность в арае, не так ли? это будет меняться каждый раз при перетасовке колоды. Или я думаю об этом неправильно.
4. re: darklightcode спасибо за идею, я постараюсь разобраться, как это работает.
Ответ №1:
Вы можете хранить карты как объекты, а колода будет представлять собой массив объектов(карт).
Комментарии:
1. Пожалуйста, добавьте дополнительные сведения, чтобы расширить свой ответ, например, ссылки на рабочий код или документацию.