Heim  >  Artikel  >  Web-Frontend  >  JavaScript-Beispiel – Bringen Sie Ihnen bei, wie Sie die Funktionen zum Mischen von Pokerkarten implementieren_Javascript-Fähigkeiten

JavaScript-Beispiel – Bringen Sie Ihnen bei, wie Sie die Funktionen zum Mischen von Pokerkarten implementieren_Javascript-Fähigkeiten

WBOY
WBOYOriginal
2016-05-16 16:47:571265Durchsuche

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

Code kopieren Der Code lautet wie folgt:

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

Code kopieren Der Code lautet wie folgt:

//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

Code kopieren Der Code lautet wie folgt:

// 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:

Code kopieren Der Code lautet wie folgt:

/*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

Code kopieren Der Code lautet wie folgt:

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 "";

       }         document.getElementById("new").innerHTML=html;                                                                  

HTML- und CSS-Code hochladen

Code kopieren Der Code lautet wie folgt: