mardi 14 mai 2019

Reactjs: Pressing button to randomize an array

Basically i am trying to make a card program that would pick five cards out of 52 in random. These cards must not repeat. I have already figured out the randomizer through traditional javascript. However i am using reactjs to make a button which if pressed, would create a new set of five cards.

class Reset extends React.Component {
    constructor(props) {
        super(props);
        this.state = { ... };
    }

    handleClick() {
        ...
    }

    render() {
        return (
            <button onClick={this.handleClick}>{...}
            </button>
        );
    }
}

const cards = ["A♥", "A♠", "A♦", "A♣", "2♣", "3♣", "4♣", "5♣", "6♣", "7♣", "8♣", "9♣", "10♣", "K♣", "Q♣", "J♣", "2♦", "3♦", "4♦", "5♦", "6♦", "7♦", "8♦", "9♦", "10♦", "K♦", "Q♦", "J♦", "2♥", "3♥", "4♥", "5♥", "6♥", "7♥", "8♥", "9♥", "10♥", "K♥", "Q♥", "J♥", "2♠", "3♠", "4♠", "5♠", "6♠", "7♠", "8♠", "9♠", "10♠", "K♠", "Q♠", "J♠"];
var hand = [];

function in_array(array, el) {
    for (var i = 0; i < array.length; i++)
        if (array[i] == el) return true;
    return false;
}

function get_rand(array) {
    var rand = array[Math.floor(Math.random() * array.length)];
    if (!in_array(hand, rand)) {
        hand.push(rand);
        return rand;
    }
    return get_rand(array);
}

for (var i = 0; i < 5; i++) {
    document.write(get_rand(cards));
}

ReactDOM.render(
    <Reset />,
    document.getElementById('root')
);

Basically, what would i have to fill in the parts with "..." in order for the code to rerandomize the pack.




Aucun commentaire:

Enregistrer un commentaire