MO5 Kandy Krush Java

Cette catégorie traite de développements récents destinés à nos vieilles machines, applications, jeux ou démos... Amis programmeurs, c'est ici que vous pourrez enfin devenir célèbres!

Modérateurs : Papy.G, fneck, Carl

Avatar de l’utilisateur
petitjd
Messages : 2007
Inscription : 23 oct. 2007 11:50

Re: MO5 Kandy Krush Java

Message par petitjd »

Ma femme qui est experte en Candy Crush Saga m'a dit que les blocages existent.
Dans ce cas, la grille est réinitialisée, les compteurs sont remis à zero et la partie recommence.
PetitJD
Tortue Jeulin: www.tortue-jeulin.com
Nanoreseau: www.nanoreseau.net
Proteus III: www.proteus-international.fr
Daniel
Messages : 17404
Inscription : 01 mai 2007 18:30
Localisation : Vaucluse
Contact :

Re: MO5 Kandy Krush Java

Message par Daniel »

Même conclusion : en mode automatique le jeu s'est bloqué au 28e coup de la 1893e partie. J'ai eu aussi un autre cas où il s'est bloqué beaucoup plus tôt, après une trentaine de parties. C'est totalement imprévisible et très rare.
blocage.png
blocage.png (2.66 Kio) Consulté 3960 fois
Modification faite pour la prochaine version :
Si l'aide ne détecte pas de coup possible, au retour de l'aide le tableau est réinitialisé comme pour une nouvelle partie, sans remettre le score à zéro, ni le nombre de coups joués. Grâce aux alignements trouvés pendant l'initialisation, le score augmente d'environ 150 à 250 points. La partie en cours reprend avec le nouveau score. C'est l'équivalent d'un bonus d'environ 200 points en moyenne, donc une bonne aide pour battre le hiscore.

Le hiscore de 1426 obtenu en jouant automatiquement doit être difficile à battre. Ce n'est peut-être pas le maximum, car la stratégie utilisée par le jeu automatique est assez empirique et certainement pas optimale.
Daniel
L'obstacle augmente mon ardeur.
Avatar de l’utilisateur
farvardin
Messages : 436
Inscription : 27 déc. 2014 16:07
Contact :

Re: MO5 Kandy Krush Java

Message par farvardin »

Ça m'a l'air sympa comme jeu, je vais essayer avec un émulateur...

Pour candy crush, lorsque aucun coup n'est possible, ça ne remet pas le score à zéro, ça redistribue simplement les tuiles restantes dans un autre ordre.
Avatar de l’utilisateur
petitjd
Messages : 2007
Inscription : 23 oct. 2007 11:50

Re: MO5 Kandy Krush Java

Message par petitjd »

Autant pour moi, mauvaise transmission de l'info, extrapolation de ma part, j'avoue secretement que c'est le scenario que j'esperais.
Ceci dit là à chaud je ne vois pas en quoi être en situation de blocage peut être synonyme de "récompense". Un blocage c'est négatif, une récompense c'est positif.
Maintenant elle (et moi) et les enfant jouons à Pokemon Go. Ce jeu est extremement addictif et pour progresser il faut savoir être extremement patient (et beaucoup marcher!)
PetitJD
Tortue Jeulin: www.tortue-jeulin.com
Nanoreseau: www.nanoreseau.net
Proteus III: www.proteus-international.fr
Daniel
Messages : 17404
Inscription : 01 mai 2007 18:30
Localisation : Vaucluse
Contact :

Re: MO5 Kandy Krush Java

Message par Daniel »

.
Nouvelle version à tester :
- Ajout du numéro de partie
- Réinitialisation du tableau après consultation de l'aide si une situation bloquée est détectée
- Ajout de deux fonctions secrètes
Fonctions secrètes : Quand l'aide est affichée, la touche ACC réinitialise la partie. Au moment de pointer, la touche J lance le jeu automatique, sans possibilité de l'arrêter.
[attachment=1]kandykrush_20160929_win.zip[/attachment]

Ce matin un nouvel essai de jeu automatique s'est bloqué à la partie 2578. Le hiscore est le même qu'hier.
##.png
##.png (2.67 Kio) Consulté 3925 fois
Pièces jointes
kandykrush_20160929_win.zip
(71.79 Kio) Téléchargé 122 fois
Daniel
L'obstacle augmente mon ardeur.
__sam__
Messages : 7963
Inscription : 18 sept. 2010 12:08
Localisation : Brest et parfois les Flandres

Re: MO5 Kandy Krush Java

Message par __sam__ »

Ici il s'est bloqué bien plus rapidement: partie 185 et 21e coup
Pièces jointes
Untitled.png
Untitled.png (66.49 Kio) Consulté 3908 fois
Samuel.
A500 Vampire V2+ ^8^, A1200 (030@50mhz/fpu/64mb/cf 8go),
A500 GVP530(MMU/FPU) h.s., R-Pi, TO9, TO8D, TO8.Démos
Daniel
Messages : 17404
Inscription : 01 mai 2007 18:30
Localisation : Vaucluse
Contact :

Re: MO5 Kandy Krush Java

Message par Daniel »

On peut jouer à celui qui le bloque le plus vite (ou le moins vite) :wink:
J'avais réussi en 36 parties, mais je n'ai pas gardé la copie d'écran.

Normalement, avec la réinitialisation automatique en cas de blocage, il ne devrait plus y avoir de problème en jeu manuel.

Un autre cas de blocage à 448 parties :
blocage_448.png
blocage_448.png (10.99 Kio) Consulté 3903 fois
Daniel
L'obstacle augmente mon ardeur.
__sam__
Messages : 7963
Inscription : 18 sept. 2010 12:08
Localisation : Brest et parfois les Flandres

Re: MO5 Kandy Krush Java

Message par __sam__ »

Avec des blocages à 36, 448, et 185, on a une moyenne de blocage à 223 parties. Donc à chaque partie on a 0.5% de chance que ca se bloque. D'un autre coté j'ai une série de 1755 parties en cours sans blocage.. donc la moyenne sur 3 blocage est trop faible pour être fiable. Il faut collecter plus d'échantillons.

@Daniel: j'ai pas fait gaffe dans le source: comment initialises tu le générateur aléatoire ? Parce que si ca se trouve on déroule tous la même liste de grille, non?

[EdIt]le générateur aléatoire est le contenu de la ram en $2031. C'est un truc en page 0, mais je ne sais pas à quoi ca correspond. Si ca ne change pas assez vite, alors le mode automatique n'aura pas la même distribution des pions que lorsqu'on joue à la main.
Samuel.
A500 Vampire V2+ ^8^, A1200 (030@50mhz/fpu/64mb/cf 8go),
A500 GVP530(MMU/FPU) h.s., R-Pi, TO9, TO8D, TO8.Démos
Daniel
Messages : 17404
Inscription : 01 mai 2007 18:30
Localisation : Vaucluse
Contact :

Re: MO5 Kandy Krush Java

Message par Daniel »

Tu oublies le blocage à 2578 parties posté un peu plus haut :wink:

$2031 est un compteur incrémenté 50 fois par seconde, utilisé entre autre pour le clignotement du curseur. Dès qu'il y a une attente (appui sur une touche) il donne une valeur à peu près aléatoire de 0 à 255.

Ma crainte, en jeu automatique, est d'obtenir toujours la même séquence. Seule la valeur initiale change (de 0 à 255). On pourrait croire qu'il n'y a que 256 scénarios différents. Mais en fait je crois que c'est plus, car le jeu automatique n'est pas lancé au début du programme. Il y a d'abord une phase d'initialisation (les pastilles de couleur qui remplissent le tableau), puis l'attente d'une touche, puis le jeu automatique. Donc 256 scénarios possibles pour l'initialisation, et pour chacun 256 séquences différentes de jeu automatique, soit 65536. Et peut-être même plus, car le traitement des IRQs peut aussi créer des différences dans le timing.

En jeu manuel c'est différent, le compteur tourne de façon aléatoire à chaque coup, le nombre de parties possibles est pratiquement infini.

La version Windows n'est pas bien adaptée pour le jeu automatique, car on ne peut pas changer la vitesse du processeur. Il vaut mieux utiliser dcmoto et faire tourner le 6809 dix fois plus vite (dans les options). Voici le fichier binaire à charger et exécuter en $9000 :
mo5kandy_bin_20160929.zip
(2.06 Kio) Téléchargé 130 fois

Code : Tout sélectionner

CLEAR,&H8FFF
Charger mo5kandy.bin en $9000 avec l'outil de mise au point
EXEC &H9000
Daniel
L'obstacle augmente mon ardeur.
__sam__
Messages : 7963
Inscription : 18 sept. 2010 12:08
Localisation : Brest et parfois les Flandres

Re: MO5 Kandy Krush Java

Message par __sam__ »

Daniel a écrit :Tu oublies le blocage à 2578 parties posté un peu plus haut :wink:
Il y a pas mal de variabilté car là je viens de bloquer à 698 parties (highscore: 1334)
Donc 256 scénarios possibles pour l'initialisation,
oui
et pour chacun 256 séquences différentes de jeu automatique
ca correspond à quoi ces séquences? Si elles sont issues du même générateur que ci-dessus, elles ne sont plus aléatoires (car liées à l'état du générateur (256 vals possibles) laissé à l'issu de l'initialisation).
soit 65536.
Une solution simple pour vérififer est de lister quelques centaines de longueurs jusqu'au deadlock. Si on a que 256 combinaisons de jeu aléatoires possibles, on devrait n'avoir que 256 (ou moins) longueurs de deadlocks.
Samuel.
A500 Vampire V2+ ^8^, A1200 (030@50mhz/fpu/64mb/cf 8go),
A500 GVP530(MMU/FPU) h.s., R-Pi, TO9, TO8D, TO8.Démos
Avatar de l’utilisateur
farvardin
Messages : 436
Inscription : 27 déc. 2014 16:07
Contact :

Re: MO5 Kandy Krush Java

Message par farvardin »

petitjd a écrit : Ceci dit là à chaud je ne vois pas en quoi être en situation de blocage peut être synonyme de "récompense". Un blocage c'est négatif, une récompense c'est positif.
Il y a déjà beaucoup de manière de perdre dans Candy Crush Saga, ou tout du moins que la partie s'arrête : en général, c'est au bout d'un certain nombre de coups, mais aussi si des "bombes" n'ont pas été désamorcées à temps etc. et ce sont des paramètres sur lesquels le joueur peut influer d'une certaine manière (par exemple en dirigeant les coups pour désamorcer les bombes, ou en remplissant un contrat pour qu'il soit positif, comme dépasser un certain score avant d'arriver à la fin des coups).

En revanche, comme le remplissage des cases qui ont disparues se fait aléatoirement, cela ne serait pas très gratifiant pour le joueur de voir sa partie s'arrêter en fonction de paramètres qui sont extérieurs à lui, en ce cas cela a une certaine logique de redistribuer les cases en cas de blocages.
Daniel
Messages : 17404
Inscription : 01 mai 2007 18:30
Localisation : Vaucluse
Contact :

Re: MO5 Kandy Krush Java

Message par Daniel »

__sam__ a écrit :Si elles sont issues du même générateur que ci-dessus, elles ne sont plus aléatoires (car liées à l'état du générateur (256 vals possibles) laissé à l'issu de l'initialisation).
Après l'initialisation de la partie (256 cas possibles), il faut appuyer sur une touche pour lancer le jeu automatique. Pendant l'attente de la touche le compteur tourne, et quand la touche est enfoncée il a une valeur aléatoire indépendante de celle de l'initialisation. Il y a donc à nouveau 256 cas différents.
Daniel
L'obstacle augmente mon ardeur.
__sam__
Messages : 7963
Inscription : 18 sept. 2010 12:08
Localisation : Brest et parfois les Flandres

Re: MO5 Kandy Krush Java

Message par __sam__ »

Ah oui le délais dans l'appui sur les touches introduit une 2eme variable aléatoire indépendante. Bien vu!
(pour l'instant 9500 parties sans blocage. Highscore=1426, le tout en vitesse x10. 1426 est-il le max possible?)
([EDIT] et hop bloqué au bout de 9766 parties.
dcmoto.gif
dcmoto.gif (5.71 Kio) Consulté 3861 fois
Chose étonnante: les 6 colonnes à droites de mon blocage sont (quasiment? strictement?) identiques à celle de ton blocage 448:
Image)

[EDIT]il y a clairement quelque chose de curieux. Ce coup ci j'ai bloqué en 464, et c'est la même grille qu'au dessus:
xdcmoto.gif
xdcmoto.gif (5.71 Kio) Consulté 3855 fois
Samuel.
A500 Vampire V2+ ^8^, A1200 (030@50mhz/fpu/64mb/cf 8go),
A500 GVP530(MMU/FPU) h.s., R-Pi, TO9, TO8D, TO8.Démos
Daniel
Messages : 17404
Inscription : 01 mai 2007 18:30
Localisation : Vaucluse
Contact :

Re: MO5 Kandy Krush Java

Message par Daniel »

__sam__ a écrit :1426 est-il le max possible?
C'est aussi le maximum pour moi, après plusieurs milliers de parties, mais ça ne prouve rien...

Il y a un autre paramètre très important : la stratégie utilisée par le jeu automatique. Elle n'est certainement pas optimale. La voici :
- Dans un premier temps j'essaye toutes les permutations (horizontales et verticales) en partant de la dernière pastille en bas à droite jusqu'à la première pastille à gauche de la 5e ligne. Je retiens la première permutation donnant un alignement horizontal.
- S'il n'y a pas eu d'alignement horizontal, je recommence en partant de la dernière pastille en bas à droite jusqu'à la première en haut à gauche. Cette fois je retiens la première permutation donnant un alignement horizontal ou vertical.

L'objectif est de privilégier les alignements horizontaux dans les dernières lignes. C'est assez semblable à ma stratégie pour les parties manuelles. Evidemment on peut trouver mieux, par exemple en prévoyant les réactions en chaîne, mais c'est beaucoup plus difficile et je suis trop paresseux pour le faire.
Daniel
L'obstacle augmente mon ardeur.
__sam__
Messages : 7963
Inscription : 18 sept. 2010 12:08
Localisation : Brest et parfois les Flandres

Re: MO5 Kandy Krush Java

Message par __sam__ »

Daniel a écrit :
__sam__ a écrit :1426 est-il le max possible?
C'est aussi le maximum pour moi, après plusieurs milliers de parties, mais ça ne prouve rien...
En effet j'ai atteint 1431. Et là encore la config de blocage est une config déjà obtenue (celle à 9766). Le score de cette partie bloquante étant le même je pense qu'en fait on est retombé exactement sur la même série de chiffres aléatoires.
Image
Untitled.png
Untitled.png (67.54 Kio) Consulté 3837 fois
Samuel.
A500 Vampire V2+ ^8^, A1200 (030@50mhz/fpu/64mb/cf 8go),
A500 GVP530(MMU/FPU) h.s., R-Pi, TO9, TO8D, TO8.Démos
Répondre