Добавление изображений в массив, построенный из двух других массивов?

#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. Пожалуйста, добавьте дополнительные сведения, чтобы расширить свой ответ, например, ссылки на рабочий код или документацию.