Nous trions généralement les cartes tirées au hasard de la plus petite à la plus grande (je me souviens que quand j'étais enfant, je ne pouvais pas attraper deux jeux de cartes). Cet essai est juste pour me familiariser avec cette fonction. comme le tri des tableaux dans js.
Points de connaissance utilisés :
1. Créer des objets en mode usine
Méthode 2.js array sort()
var testArr = [1, 3, 4 , 2] ;
testArr.sort(function (a,b) {
return a - b;
})
alert(testArr.toString());//1,2,3 ,4
testArr.sort(function (a, b) {
return b- a;
})
alert(testArr.toString());//4,3,2,1
3.js-Math.radom() nombre aléatoire
Math.random();//0-1 Le nombre aléatoire obtenu est supérieur ou égal à 0 et inférieur à 1
Utilisation de l'épissure de tableau 4.js
//Le premier paramètre est la position de départ d'insertion
//Le deuxième paramètre est le nombre d'éléments à supprimer de la position de départ
//Le troisième paramètre est l'élément à insérer depuis la position de départ
//Exemple
var testArr = [1, 3, 4, 2];
testArr.splice(1, 0, 8);
alert(testArr.toString());//1,8,3,4,2
var testArr1 = [1, 3, 4, 2];
testArr1.splice(1, 1, 8);
alert(testArr1.toString());//1,8,3, 4,2
Utilisation du décalage du tableau 5.js
// Supprimer le premier élément du tableau et retournez-le, le tableau Supprime le premier élément
//Exemple
var testArr = [1, 3, 4, 2];
var k= testArr.shift();
alert( testArr.toString()) ;//3,4,2
alert(k);//1
Avec ces connaissances de base, nous pouvons commencer à jouer aux cartes. Supposons qu'une seule personne tire les cartes au hasard. Chaque fois que nous tirons une carte, nous devons l'insérer dans les cartes dans notre main pour garantir l'ordre. .De l'enfance à l'âge adulte !
Étape 1 : Nous devons d'abord écrire une méthode pour produire des objets de cartes à jouer :
/*Le mode usine crée diverses cartes
* number:Le numéro sur la carte
*type:La couleur de la carte
*/
var Cards = (function () {
var Card = function (number, type) {
this.number = number;
this.type = type;
}
fonction de retour (numéro, type) {
retourner une nouvelle carte (numéro, type);
}
>})()
Étape 2 : Créez des cartes à jouer, mélangez et stockez
var RadomCards = [];//Matrice de stockage de cartes aléatoires
var MyCards = [];//Stockage des cartes tirées
//Suit 0-Spade 1-Club 2-Diamant 3-Cœur 4-Grand Fantôme 5-Petit Fantôme
//Les nombres 0-13 représentent les fantômes, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, J, Q, K;
function CreateCompeleteCard() {
var index = 2;
var arr = [];
for (var i = 0; i <= 13; i ) {
If (i == 0) {
arr[0] = nouvelles cartes (i, 4);
arr[1] = nouvelles cartes (i, 5);
} else {
pour ( var j = 0; j <= 3; j ) {
arr[index] = nouvelles cartes (i, j);
index ;
}
}
}
RadomCards = SortCards(arr);
Show();//Afficher la carte actuelle sur la page
}
//Mélangez les cartes
function SortCards(arr) {
arr .sort (fonction (a, b) {
.
Étape 3 : Commencez à tirer des cartes. Lorsque vous tirez des cartes, nous devons d'abord déterminer la position d'insertion, puis insérer les nouvelles cartes dans la position désignée pour former une nouvelle séquence soignée
Copier le code
Le code est le suivant :
//Comment dessiner des cartes
function GetCards(CardObj) {
var k = InCardsIndex(MyCards, CardObj);//Considérez la position d'insertion
MyCards.splice(k, 0 , CardObj); // Insérer pour former une nouvelle séquence
}
/*[Obtenir la position où la carte doit être insérée]
*arr : La carte actuellement en main
*obj : La carte nouvellement tirée
*/
function InCardsIndex(arr, obj) {
var len = arr && arr.length || 0;
if (len == 0) {
return 0 ;
Return 0 ;
}
} else {
var backi = -1;
for (var i = 0; i < len; i ) {
si (numéro d'objet <= arr [i].numéro) {
if (backi == -1) {
revenir en arrière ;
D'accord ! Utilisez le bouton du code HTML pour commencer à piocher des cartes, et cliquez sur une carte à la fois ! et montre-le
Copier le code
Le code est le suivant :
function Start() {//Comment piochez des cartes, touchez-en une fois if (RadomCards.length > 0) { GetCards(RadomCards.shift()); "Pas plus" ; lenNew = MyCards.length;
var html = "" ;