June 28th 2025

🎨 Jeux de Tri de Couleurs avec des Couleurs Inconnues

Depuis que j'ai créé et partagé le Solveur de Tri d'Eau avec tout le monde, les gens me contactent pour améliorer sa fonctionnalité afin de résoudre des niveaux contenant des couleurs inconnues. Je suis désolé de vous décevoir, mais je pense que je ne considérerai pas cette direction pour l'instant. 😅 Je veux expliquer pourquoi, puis je partagerai quelques suggestions pour les niveaux avec des couleurs inconnues.

Que sont les jeux de tri de couleurs ? 🧐

Ces jeux incluent plusieurs variantes : Tri d'Eau 💧, Tri de Balles ⚽, Boulons et Écrous 🔩, etc. Bien qu'ils aient des présentations différentes, leurs mécaniques de jeu centrales sont les mêmes—tous nécessitent que les joueurs complètent la classification des couleurs à travers des étapes d'opération limitées.

Pourquoi les solveurs ne peuvent-ils pas résoudre les niveaux avec des couleurs inconnues ? 🤖

Le solveur lui-même n'est pas magique ✨, il suit aussi la pensée des joueurs ordinaires quand ils jouent. Il n'est pas plus intelligent que les humains, et ce n'est certainement pas un prophète 🔮. Ses avantages sont seulement :

  1. Vitesse super rapide ⚡
  2. Mémoire super forte 🧠, ne se trompe absolument jamais
  3. Calcul précis 🧮, ne confond pas les choses parce qu'il y a plus à retenir

C'est-à-dire que pour que le solveur calcule des étapes précises de通关, il doit obtenir des informations suffisantes et connaître toutes les couleurs. 🎯

Il y a beaucoup de jeux de tri de couleurs sur le marché, et leurs conceptions de niveau sont généralement différentes. Pour les niveaux contenant des couleurs inconnues, il y a approximativement deux méthodes de production :

  1. Niveaux fixes, où toutes les couleurs sont fixes, et certaines couleurs sont cachées. 📦
  2. Niveaux dynamiques, où toutes les couleurs connues sont fixes, mais les couleurs cachées ne sont pas fixes, seulement déterminées quand vous révélez cette couleur. 🎲

Pour les niveaux fixes, vous devez enregistrer ces couleurs cachées. Quand elles sont toutes révélées, cela devient un niveau ordinaire. 📝 Je n'ai pas testé spécifiquement beaucoup de jeux, mais j'estime que la plupart sont de ce type. Donc quand vous rencontrez ces niveaux difficiles, si vous ne pouvez vraiment pas les passer, essayez d'enregistrer ces couleurs cachées.

Pour les niveaux dynamiques, c'est un design très rusé, et il ne semble pas y avoir de très bonne méthode actuellement, parce que le niveau actuel n'est pas déterministe, donc le solveur ne peut pas aider non plus. Plus tard, je parlerai de l'approche de résolution de problèmes pour ces types de jeux. Après avoir maîtrisé la pensée correcte, vous ne pouvez qu'essayer votre chance. 🍀

Il y a un petit truc pour distinguer quel type est votre jeu. C'est qu'après avoir révélé une couleur, redémarrez ce niveau, puis révélez la couleur de la même position à nouveau. Si cette couleur a changé, alors c'est un niveau dynamique, sinon c'est un niveau fixe. 🔍

Le dernier problème qui m'empêche d'implémenter un solveur de niveau de couleurs inconnues est le problème d'interaction. Si un niveau ne contient aucune couleur inconnue, alors après avoir configuré le niveau, le solveur peut compléter le niveau indépendamment. Cela rend le processus "configurer", "calculer", "voir la réponse" très simple et direct. 🔄

S'il contient des couleurs inconnues, alors le programme doit s'arrêter quand il rencontre des couleurs inconnues, attendre que le joueur complète les étapes précédentes, révèle réellement cette couleur dans le jeu, puis dit au programme cette couleur, puis continue le processus du jeu. Puis rencontre des couleurs inconnues à nouveau au milieu, s'arrête à nouveau et attend l'entrée de l'utilisateur. Ce processus d'interaction rendrait le programme de résolution très ennuyeux 😫, presque aucun utilisateur n'aimerait cela. Pire encore, même si c'était le cas, parce que le programme ne connaît pas ces couleurs à l'avance, atteindre l'étape actuelle a déjà rendu le niveau impossible à passer. Donc actuellement, ces niveaux contenant des couleurs inconnues ne peuvent pas avoir de solveurs correspondants implémentés. 💤

En fait, s'il contient des couleurs inconnues ou non, il y a un terme qui peut le décrire : jeux à information complète. Les solveurs peuvent résoudre les jeux à information complète. Vous pourriez aussi demander, n'y a-t-il pas des IAs de jeux à information incomplète dans le monde, comme le Texas Hold'em ? Qu'est-ce qui est différent chez eux ? Si l'IA du Texas Hold'em ne triche pas, c'est certainement un jeu à information incomplète. De tels programmes calculent souvent des actions optimales basées sur la probabilité. Et la probabilité signifie inexactitude—qui sait si l'adversaire bluffe ? Mais les solveurs ont besoin de calculer un résultat précis pour vous, un chemin qui réussira définitivement. Vous ne voudriez pas que le programme vous dise une séquence d'opération qui n'est que l'opération la plus probable pour passer le niveau, n'est-ce pas ? Et les niveaux difficiles sont majoritairement contre-intuitifs. 🎰

Suggestions pour les niveaux avec des couleurs inconnues 💡

Après avoir dit tant de choses, vous pourriez être fatigué de cela. Est-ce juste pour vous dire qu'il n'y a pas de moyen ? J'espère vraiment pouvoir vous aider, donc je partagerai une partie de ma pensée quand je joue ces niveaux.

D'abord, pour les jeux de tri de couleurs réguliers, vous devez maîtriser quelques techniques de base. J'ai un autre article qui pourrait vous aider. 📚

Pour les niveaux avec des couleurs inconnues, ce que nous devons faire est faire quelques ajustements aux techniques de base :

1️⃣ Prioriser la résolution d'une colonne 🏆

Quand j'ai rencontré ces niveaux pour la première fois, je priorisais toujours les étapes qui pouvaient révéler plus de couleurs plus rapidement, résolvant habituellement quelque chose de chaque colonne. Mais à mesure que la difficulté augmentait, j'ai trouvé que cette approche était incorrecte. Vous devez faire des choix basés sur votre situation actuelle d'espace vide. La plupart du temps les espaces vides sont assez serrés, vous devez résoudre complètement les couleurs d'une colonne en premier, ce qui peut vous aider à collecter rapidement une couleur complète et réduire la complexité du niveau actuel.

2️⃣ Maximiser l'utilisation d'annuler ↩️

Quand vous révélez une couleur et trouvez que ce n'est pas ce que vous vouliez, alors utilisez appropriément annuler, puis choisissez une autre colonne. Parfois quand vous pouvez, vous devriez toujours essayer de révéler différentes couleurs, puis penser soigneusement à quelle couleur est la plus bénéfique pour vous. Annuler, puis choisir la couleur qui est la plus bénéfique pour vous et continuer.

3️⃣ Vider une colonne le plus tôt possible 🗑️

Parfois j'essaie habituellement d'empiler une couleur sur des colonnes avec plus d'espace. Mais quand je m'arrête et y pense, ce n'est pas correct. Je devrais vider une colonne le plus tôt possible et utiliser cette colonne comme un point de stockage pour les opérations d'annulation. Donc beaucoup de fois je choisis d'empiler les derniers quelques couleurs d'une colonne plus haut, ce qui peut aider à vider cette colonne rapidement. Combiné avec annuler, si les couleurs en dessous dans cette colonne ne sont pas idéales, je verrai si je peux commencer à nettoyer depuis une autre colonne.

4️⃣ Profiter du plaisir apporté par l'incertitude 🎮

Eh bien, ce n'est pas vraiment un conseil de jeu. Juste parfois pensez à pourquoi je joue à ce jeu, est-ce que je l'apprécie vraiment ? 😊 Pour moi, beaucoup de fois j'aime ces types de jeux, mais quand je sens que ça me force à payer ou regarder des publicités, je ne le trouve plus amusant. Mais je comprends aussi complètement ces développeurs de jeux—faire un jeu rentable n'est pas si simple. La plupart du temps je suis heureux de payer un peu d'argent pour des jeux que j'aime. 💰

D'accord, c'est tout ce que je veux partager, j'espère que ça aide tout le monde. 🙏