Normalerweise sortieren wir die zufällig gezogenen Karten in der Reihenfolge von der kleinsten zur größten (ich erinnere mich, dass ich als Kind nicht zwei Kartenspiele fangen konnte). wie das Sortieren von Arrays in js.
Verwendete Wissenspunkte:
1. Objekte im Factory-Modus erstellen
2.js-Array-Sort()-Methode
var testArr = [1, 3, 4 , 2] ;
testArr.sort(function (a,b) {
return a - b;
})
alarm(testArr.toString());//1,2,3 ,4
testArr.sort(function (a, b) {
return b- a;
})
warning(testArr.toString());//4,3,2,1
3.js-Math.radom() Zufallszahl
Math.random();//0-1 Die erhaltene Zufallszahl ist größer oder gleich 0 und kleiner als 1
4.js Array-Splice-Nutzung
//Der erste Parameter ist die Startposition der Einfügung
//Der zweite Parameter ist die Anzahl der Elemente, die von der Startposition gelöscht werden sollen
//Der dritte Parameter ist das Element, das von der Startposition eingefügt werden soll
//Beispiel
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
Nutzung der 5.js-Array-Verschiebung
// Nehmen Sie das erste Element im heraus Array und gib es zurück, das Array Lösche das erste Element
//Beispiel
var testArr = [1, 3, 4, 2];
var k= testArr.shift();
alarm( testArr.toString()) ;//3,4,2
alarm(k);//1
Mit diesem Grundwissen können wir davon ausgehen, dass nur eine Person die Karten zieht. Jedes Mal, wenn wir eine Karte ziehen, müssen wir sie in die Karten in unserer Hand einfügen . Von der Kindheit bis zum Erwachsenenalter!
Schritt 1: Zuerst müssen wir eine Methode schreiben, um Spielkartenobjekte zu erstellen:
/*Im Werksmodus werden verschiedene Karten erstellt
* Zahl: Die Zahl auf der Karte
*Typ: Die Farbe der Karte
*/
var Cards = (function () {
var Card = function (number, type) {
this.number = number;
this.type = type;
}
return function (number, type) {
return new Card(number, type);
}
})()
Schritt 2: Spielkarten erstellen, mischen und aufbewahren
var RadomCards = [];//Zufällige Kartenspeicheranordnung
var MyCards = [];//Speicher gezogener Karten
//Farbe 0-Pik 1-Kreuz 2-Diamant 3-Herz 4-Großer Geist 5-Kleiner Geist
//Die Zahlen 0-13 stehen für Geister, 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] = new Cards(i, 4);
arr[1] = new Cards(i, 5);
} else {
for ( var j = 0; j <= 3; j ) {
arr[index] = new Cards(i, j);
index ;
}
}
RadomCards = SortCards(arr);
Show();//Anzeige der aktuellen Karte auf der Seite
}
//Mische die Karten
function SortCards(arr) {
arr .sort (Funktion (a, b) {
.
Schritt 3: Beginnen Sie mit dem Kartenziehen. Beim Kartenziehen müssen wir zunächst die Einfügeposition bestimmen und dann die neuen Karten an der vorgesehenen Position einfügen, um eine neue, übersichtliche Reihenfolge zu bilden.
Code kopieren
Der Code lautet wie folgt:
//Wie man Karten zieht
function GetCards(CardObj) {
var k = InCardsIndex(MyCards, CardObj);//Berücksichtigen Sie die Einfügeposition
MyCards.splice(k, 0 , CardObj); // Einfügen, um eine neue Sequenz zu bilden
}
/*[Ermitteln Sie die Position, an der die Karte eingefügt werden soll]
*arr: Die aktuell in der Hand befindliche Karte
*obj: Die neu gezogene Karte
*/
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 ) {
if (obj. number & lt;
Okay! Benutzen Sie die Schaltfläche im HTML, um mit dem Ziehen von Karten zu beginnen, und klicken Sie jeweils eine Karte an! und zeig es
Code kopieren
Der Code lautet wie folgt:
Funktion Start() {//How to Karten ziehen, einmal Berühren Sie eine
if (RadomCards.length > 0) {
GetCards(RadomCards.shift()); "No more" ;
var html = "" ; var html = "";
lenNew for (var i = 0; i < lenOld; i ) {
var html = "
< ;b> " RadomCards[i].type "-
" RadomCards[i].number "
";
}< ;div class='pai new'>" MyCards[i].type "-
" MyCards[i].number "
";