How to random loop with exclusion

Hello, i’ve made a card deck using an atlas sprite

my goal is to deal 5 cards for each player, but i can’t make them not repeat themselves

preload(){

        this.load.atlas('cards', 'src/assets/decksprites.png', 'src/assets/decksprites.json')

create(){
var frames = this.textures.get('cards').getFrameNames();

        var x = 150;

        var y = 600;

        for (var i = 0; i < 5; i++)

        {

            var image = this.add.image(x, y, 'cards', Phaser.Math.RND.pick(frames)).setInteractive();

    

            this.input.setDraggable(image);

    

            x += 250;

            y += 4;

        }

This is my current sollution

for (var i = 0; i < 5; i++)

    {

        let carta = Phaser.Math.RND.pick(frames)

        var playerCard = this.add.image(x, y, 'cards', carta).setInteractive();

        deck.splice(deck.indexOf(carta), 1)

            

        this.input.setDraggable(playerCard);

    

        x += 250;

Usually you shuffle the array and then take the first five.

1 Like