Maison Applet WeChat Développement de mini-programmes Mini-jeu du mini-programme WeChat version 2048

Mini-jeu du mini-programme WeChat version 2048

Jan 25, 2018 pm 01:34 PM
小游戏 小程序

Le mini-jeu "jump" WeChat a été populaire récemment. Nous avons également des articles à partager sur ce site : PHP implémente le mini-jeu "jump" WeChat Cet article partage principalement l'algorithme d'implémentation de 2048. et les points à noter Apprenons ensemble Bar ! (Voir la fin de l'article pour l'adresse du code source).

Algorithme

Générer une vue en damier 4*4

Générer aléatoirement 2 ou 4 pour remplir deux cellules

Enregistrer la position de départ lorsque l'utilisateur touche et terminer position pour déterminer la direction de glissement

Déplacez les cellules en fonction de la direction de glissement et fusionnez les mêmes valeurs

Une fois que l'utilisateur a terminé une diapositive, répétez l'étape 2

Jugez si le jeu est la fin et génère différentes invites en fonction des résultats du jeu


Point de difficulté

Déterminer la direction de glissement

Lorsque l'utilisateur glisse, la même grille fusionne et se déplace d'un côté de la direction de glissement
implémentation

implémentation de la vue

1 Utilisez wxml+wxss pour générer la vue en damier

Mini-jeu du mini-programme WeChat version 2048.

2. Utilisez wx :for restitue les données dans chaque cellule

Implémentation logique

1. Une fois la page chargée, remplissez aléatoirement deux cellules avec les chiffres 2 ou 4

2. Déterminez la direction de glissement de l'utilisateur

Utilisez la fonction d'événement touchStart pour obtenir la position de départ touchStartX, touchStartY

Utilisez la fonction d'événement touchMove pour obtenir la position finale touchEndX, touchEndY

var disX = this.touchStartX - this.touchEndX;
    var absdisX = Math.abs(disX);
    var disY = this.touchStartY - this.touchEndY;
    var absdisY = Math.abs(disY);  
    // 确定移动方向 // 0:上, 1:右, 2:下, 3:左 var direction = absdisX > absdisY ? (disX < 0 ? 1 : 3) : (disY < 0 ? 2 : 0);
Copier après la connexion

3. Selon la direction de glissement (supposons glisser vers la droite) pour déplacer la table et fusionner les mêmes éléments

Générez une liste de tableaux bidimensionnels 4*4 à partir de l'échiquier 2048, et les espaces vides sont représentés par 0

// 比如棋盘数据如下 var grid = [
    [2, 2, 0, 0],
    [0, 0, 0, 0],
    [0, 8, 4, 0],
    [0, 0, 0, 0]
];
Copier après la connexion

Selon le sens de glissement Générer le code correspondant pour le tableau bidimensionnel 4*4

var list = [
    [0, 0, 2, 2],  // 注意是0022不是2200,因为像右滑动所以从右边push入数组
    [0, 0, 0, 0],
    [0, 4, 8, 0],
    [0, 0, 0, 0]
];
Copier après la connexion

(this.board.grid dans le code est la grille initiale ci-dessus) :

formList(dir) {  // 根据传入的滑动方向生成list的四个数组 var list = [[], [], [], []];
    for(var i = 0; i < this.size; i++)
      for(var j = 0; j < this.size; j++) {
        switch(dir) {
          case 0:
            list[i].push(this.board.grid[j][i]);
            break;
          case 1:
            list[i].push(this.board.grid[i][this.size-1-j]);
            break;
          case 2:
            list[i].push(this.board.grid[this.size-1-j][i]);
            break;
          case 3:
            list[i].push(this.board.grid[i][j]);
            break;
        }
      }
    return list;
  }
Copier après la connexion

Mettre chaque petit tableau dans la liste Le numéro est mentionné devant, et 0 est placé à la fin

list2 = [
    [2, 2, 0, 0], 
    [0, 0, 0, 0],
    [4, 8, 0, 0],
    [0, 0, 0, 0]
];
Copier après la connexion

Correspondant code :

changeItem(item) {  // 将 [0, 2, 0, 2] 改为 [2, 2, 0, 0] var cnt = 0;
    for(var i = 0; i < item.length; i++)
      if(item[i] != 0)
        item[cnt++] = item[i];
    for(var j = cnt; j < item.length; j++) 
      item[j] = 0;
    return item;
  }
Copier après la connexion

Ajoutez les cellules de même valeur, et changez la valeur de la cellule suivante à 0

list2 = [
    [4, 0, 0, 0], 
    [0, 0, 0, 0],
    [4, 8, 0, 0],
    [0, 0, 0, 0]
];
Copier après la connexion

Code correspondant :

combine(list) { // 滑动时相同的合并 for(var i = 0; i < list.length; i++)  // 数字靠边
      list[i] = this.changeItem(list[i]);
    for(var i = 0; i < this.size; i++) { 
      for(var j = 1; j < this.size; j++) {
        if(list[i][j-1] == list[i][j] && list[i][j]!=0) {
          list[i][j-1] += list[i][j];
          list[i][j] = 0; 
        }
      }
    }
    for (var i = 0; i < list.length; i++)  // 再次数字靠边,避免0220变成0400的情况发生
      list[i] = this.changeItem(list[i]);
    return list;
  }
Copier après la connexion

Renvoie list2 à list et affiche les données dans la vue en damier

list = [
[0, 0, 0, 4],
[0, 0, 0, 0],
[0, 0, 8, 4],
[0, 0, 0, 0]
];

Code correspondant :

move(dir) {
    // 0:上, 1:右, 2:下, 3:左 var curList = this.formList(dir);
    var list = this.combine(curList); 
    var result = [[],[],[],[]];
    for(var i = 0; i < this.size; i++)
      for(var j = 0; j < this.size; j++) {
        switch (dir) {
          case 0:
            result[i][j] = list[j][i];
            break;
          case 1:
            result[i][j] = list[i][this.size-1-j];
            break;
          case 2:
            result[i][j] = list[j][this.size-1-i];
            break;
          case 3:
            result[i][j] = list[i][j];
            break;
        }
      } 
    this.board.grid = result;
    this.setDataRandom();  // 移动一次之后随机用2或4填充两个单元格 return result;
  }
Copier après la connexion

4. Répétez l'étape 1

5. Déterminez si le jeu est terminé

Critères de jugement : 4*4 unités Les cellules sont remplies et il n'y a aucune cellule avec la même valeur en haut, en bas, à gauche. et à droite de n'importe quelle cellule

isOver() {  // 游戏是否结束,结束条件:可用格子为空且所有格子上下左右值不等 for (var i = 0; i < this.size; i++) // 左右不等 for (var j = 1; j < this.size; j++) {
      if (this.board.grid[i][j] == this.board.grid[i][j - 1])
        return false;
    }
  for (var j = 0; j < this.size; j++)  // 上下不等 for (var i = 1; i < this.size; i++) {
      if (this.board.grid[i][j] == this.board.grid[i - 1][j])
        return false;
    }
  return true;
}
Copier après la connexion

6. Donnez les invites correspondantes en fonction des résultats du jeu

Mini-jeu du mini-programme WeChat version 2048

po Une adresse de code source : windlany/wechat-weapp -2048 Si vous êtes intéressé, vous pouvez l'essayer, j'espère que cela pourra aider tout le monde.

Recommandations associées :

Partage d'exemples de script auxiliaire WeChat Tiaoyitiao python

php implémente le mini-jeu WeChat Tiaoyitiao

Exemple de partage d'implémentation jQuery d'un jeu de puzzle

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌
Will R.E.P.O. Vous avez un jeu croisé?
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Développer l'applet WeChat en utilisant Python Développer l'applet WeChat en utilisant Python Jun 17, 2023 pm 06:34 PM

Avec la popularité de la technologie Internet mobile et des smartphones, WeChat est devenu une application indispensable dans la vie des gens. Les mini-programmes WeChat permettent aux gens d'utiliser directement des mini-programmes pour résoudre certains besoins simples sans télécharger ni installer d'applications. Cet article explique comment utiliser Python pour développer l'applet WeChat. 1. Préparation Avant d'utiliser Python pour développer l'applet WeChat, vous devez installer la bibliothèque Python appropriée. Il est recommandé d'utiliser ici les deux bibliothèques wxpy et itchat. wxpy est une machine WeChat

Les petits programmes peuvent-ils réagir ? Les petits programmes peuvent-ils réagir ? Dec 29, 2022 am 11:06 AM

Les mini-programmes peuvent utiliser React. Comment l'utiliser : 1. Implémentez un moteur de rendu basé sur "react-reconciler" et générez un DSL ; 2. Créez un mini composant de programme pour analyser et restituer le DSL 3. Installez npm et exécutez le développeur Build ; npm dans l'outil ; 4. Introduisez le package dans votre propre page, puis utilisez l'API pour terminer le développement.

Explication détaillée : Windows 10 dispose-t-il d'un mini-jeu Démineur intégré ? Explication détaillée : Windows 10 dispose-t-il d'un mini-jeu Démineur intégré ? Dec 23, 2023 pm 02:07 PM

Lorsque nous utilisons le système d'exploitation win10, nous voulons savoir si le jeu Démineur intégré de l'ancienne version est toujours enregistré après la mise à jour win10. À la connaissance de l'éditeur, nous pouvons le télécharger et l'installer dans le magasin, à condition que ce soit le cas. tel qu'il est dans le magasin, recherchez simplement Microsoft Minesweeper. Jetons un coup d'œil aux étapes spécifiques avec l'éditeur ~ Existe-t-il un jeu Démineur pour Windows 10 ? 1. Tout d'abord, ouvrez le menu Démarrer de Win10 et cliquez. Recherchez ensuite et cliquez sur Rechercher. 2. Cliquez sur le premier. 3. Ensuite, vous devrez peut-être saisir un compte Microsoft, c'est-à-dire un compte Microsoft. Si vous n'avez pas de compte Microsoft, vous pouvez l'installer et être invité à vous inscrire. Entrez le mot de passe du compte et cliquez sur Suivant. 4. Ensuite, lancez le téléchargement

Implémenter des effets de retournement de cartes dans les mini-programmes WeChat Implémenter des effets de retournement de cartes dans les mini-programmes WeChat Nov 21, 2023 am 10:55 AM

Implémentation d'effets de retournement de cartes dans les mini-programmes WeChat Dans les mini-programmes WeChat, la mise en œuvre d'effets de retournement de cartes est un effet d'animation courant qui peut améliorer l'expérience utilisateur et l'attractivité des interactions d'interface. Ce qui suit présentera en détail comment implémenter l'effet de retournement de carte dans l'applet WeChat et fournira des exemples de code pertinents. Tout d'abord, vous devez définir deux éléments de carte dans le fichier de mise en page du mini-programme, un pour afficher le contenu avant et un pour afficher le contenu arrière. L'exemple de code spécifique est le suivant : &lt;!--index.wxml-. -&gt;&l

Alipay a lancé le mini-programme « Chinese Character Picking-Rare Characters » pour collecter et compléter la bibliothèque de personnages rares. Alipay a lancé le mini-programme « Chinese Character Picking-Rare Characters » pour collecter et compléter la bibliothèque de personnages rares. Oct 31, 2023 pm 09:25 PM

Selon les informations de ce site du 31 octobre, le 27 mai de cette année, Ant Group a annoncé le lancement du « Projet de sélection de caractères chinois » et a récemment inauguré de nouveaux progrès : Alipay a lancé le mini-programme « Sélection de caractères chinois-Caractères rares ». pour collecter des collections de la société Les personnages rares complètent la bibliothèque de personnages rares et offrent différentes expériences de saisie pour les personnages rares afin d'aider à améliorer la méthode de saisie des caractères rares dans Alipay. Actuellement, les utilisateurs peuvent accéder à l'applet « Caractères peu communs » en recherchant des mots-clés tels que « capture de caractères chinois » et « caractères rares ». Dans le mini-programme, les utilisateurs peuvent soumettre des images de caractères rares qui n'ont pas été reconnus et saisis par le système. Après confirmation, les ingénieurs d'Alipay effectueront des entrées supplémentaires dans la bibliothèque de polices. Ce site Web a remarqué que les utilisateurs peuvent également découvrir la dernière méthode de saisie par fractionnement de mots dans le mini-programme. Cette méthode de saisie est conçue pour les mots rares dont la prononciation n'est pas claire. Démantèlement utilisateur

Comment Uniapp réalise une conversion rapide entre les mini-programmes et H5 Comment Uniapp réalise une conversion rapide entre les mini-programmes et H5 Oct 20, 2023 pm 02:12 PM

La manière dont Uniapp peut réaliser une conversion rapide entre les mini-programmes et le H5 nécessite des exemples de code spécifiques. Ces dernières années, avec le développement de l'Internet mobile et la popularité des smartphones, les mini-programmes et le H5 sont devenus des formulaires de candidature indispensables. En tant que cadre de développement multiplateforme, uniapp peut réaliser rapidement la conversion entre les petits programmes et H5 sur la base d'un ensemble de codes, améliorant considérablement l'efficacité du développement. Cet article présentera comment Uniapp peut réaliser une conversion rapide entre les mini-programmes et H5, et donnera des exemples de code spécifiques. 1. Introduction à uniapp unia

Où est le mini-jeu Démineur dans le système Win10 ? Où est le mini-jeu Démineur dans le système Win10 ? Jul 02, 2023 pm 03:37 PM

Où est le mini-jeu Démineur dans le système win10 ? Ce que de nombreux utilisateurs aiment jouer le plus lorsqu'ils utilisent le système Win7, c'est le dragueur de mines fourni avec Win7, et certains amis y jouent même tout le temps pour rivaliser avec la vitesse du dragueur de mines. Cependant, de nombreux utilisateurs ont constaté que le démineur de l'ordinateur manquait après la mise à niveau du système Windows 10. De nombreux amis ne savaient pas comment le faire fonctionner en détail. L'éditeur a compilé ci-dessous l'emplacement du jeu Win10 Minesweeper. éditeur. Découvrez-le ci-dessous! Partage de localisation du jeu de dragueur de mines Win10 1. Tout d'abord, ouvrez le menu Démarrer de Win10 et cliquez sur [App Store]. Recherchez ensuite [Microsoft Minesweeper] et cliquez sur Rechercher. 2. Cliquez sur la ligne

Comment jouer à des mini-jeux dans Google Chrome Comment jouer à des mini-jeux dans Google Chrome Jan 30, 2024 pm 12:39 PM

Comment jouer à des mini-jeux sur Google Chrome ? Google Chrome possède de nombreuses fonctionnalités conçues avec un soin humaniste et vous pouvez y profiter de nombreuses activités diverses. Dans Google Chrome, il existe un jeu d'œufs de Pâques très intéressant, à savoir le jeu Little Dinosaur. De nombreux amis aiment beaucoup ce jeu, mais ils ne savent pas comment le déclencher. L'éditeur vous le présentera ci-dessous. le mini-jeu entre dans le tutoriel. Comment jouer à des mini-jeux sur Google Chrome Méthode 1 : [Ordinateur déconnecté du réseau] Si votre ordinateur utilise un réseau filaire, veuillez débrancher le câble réseau. Si votre ordinateur utilise un réseau sans fil, veuillez cliquer sur la connexion réseau sans fil pour vous déconnecter ; dans le coin inférieur droit de l'ordinateur. ② Lorsque votre ordinateur est déconnecté d'Internet, ouvrez Google Chrome et Google Browse apparaîtra.

See all articles