Merge jeu puzzle 2048

zwyx Messages postés 146 Date d'inscription jeudi 22 novembre 2007 Statut Membre Dernière intervention 21 mars 2016 - 21 mars 2014 à 14:52
zwyx Messages postés 146 Date d'inscription jeudi 22 novembre 2007 Statut Membre Dernière intervention 21 mars 2016 - 14 avril 2014 à 15:03
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/100467-merge-jeu-puzzle-2048

zwyx Messages postés 146 Date d'inscription jeudi 22 novembre 2007 Statut Membre Dernière intervention 21 mars 2016
14 avril 2014 à 15:03
Bonjour à tous,
J'ai uploadé ma dernière version des sources (v1.1.0.0). Il est désormais possible d'enregistrer son meilleur score dans le registre Windows. La fenêtre permettant de l'afficher apparaît lorsque l'on presse F3. Il est alors possible de l'effacer pour le supprimer proprement du registre. Il est de plus possible de jouer avec la souris (glisser déplacer avec le clic gauche), mais cela n'apporte pas grand chose, si ce n'est peut-être accélérer le début de la partie, où les déplacements ne sont pas décisifs.
Bon jeu.
sp40 Messages postés 1276 Date d'inscription mardi 28 octobre 2003 Statut Contributeur Dernière intervention 3 juillet 2015 15
8 avril 2014 à 09:12
Que ce soit la dernière fois, hein ? :-)
zwyx Messages postés 146 Date d'inscription jeudi 22 novembre 2007 Statut Membre Dernière intervention 21 mars 2016
3 avril 2014 à 18:58
Bonjour,
Je viens d'uploader les sources suite à la correction d'une erreur dans les méthodes TCell.MergeUp et TCell.MergeDown (dans UCell). En effet, à partir de la situation suivante:
0 0 0 2
0 0 0 2
0 0 0 4
0 0 0 0
en appuyant sur la touche HAUT, on obtenait:
0 0 0 8
0 0 0 0
0 0 0 0
0 0 0 0
au lieu de:
0 0 0 4
0 0 0 4
0 0 0 0
0 0 0 0
Désolé pour l'erreur, j'espère que c'était la dernière.
sp40 Messages postés 1276 Date d'inscription mardi 28 octobre 2003 Statut Contributeur Dernière intervention 3 juillet 2015 15
26 mars 2014 à 11:13
Utilise un algo de cryptage... (Regarde du côté des JVCL si tu les as installés, tu as des compos tout fait sur la palette Jv Encrypt).
Peut être qu'une petite animation pour le nouveau 2 qui apparait (genre il devient rouge puis redevient gris) serait pas mal pour voir où est le "2" qui arrive...
Sinon, quelques commentaires sur ton code seraient les bienvenus...
zwyx Messages postés 146 Date d'inscription jeudi 22 novembre 2007 Statut Membre Dernière intervention 21 mars 2016
24 mars 2014 à 16:07
Je viens d'uploader une version 1.0.2.0 des sources. J'ai simplement ajouté un délai de 0,1 seconde, après le déplacement et avant l'apparition d'un nouvelle cellule contenant "2". Par la suite, j'aimerais bien stocker le high-score, mais pas enthousiaste à l'idée que l'exécutable dépende d'un fichier de paramétrage trop facilement corruptible.
sp40 Messages postés 1276 Date d'inscription mardi 28 octobre 2003 Statut Contributeur Dernière intervention 3 juillet 2015 15
24 mars 2014 à 16:01
oui oui, c'est clair :)
zwyx Messages postés 146 Date d'inscription jeudi 22 novembre 2007 Statut Membre Dernière intervention 21 mars 2016
24 mars 2014 à 11:12
Bonjour,
L'appui sur une flèche du clavier déplace toutes les cases non vides dans la direction souhaitée, comme si la gravité était modifiée dans la grille. Si deux cases alignées dans la direction du déplacement ont la même valeur, elles fusionnent en une seule case dont la valeur est la somme des deux cases originelles. Une fois le déplacement fini, si la disposition des cases dans la grille a été modifiée, une case vide, choisie au hasard, prend alors la valeur "2", pour permettre au joueur de continuer.
J'espère t'avoir éclairci sur le fonctionnement du jeu.
sp40 Messages postés 1276 Date d'inscription mardi 28 octobre 2003 Statut Contributeur Dernière intervention 3 juillet 2015 15
24 mars 2014 à 10:24
Salut,
ça a l'air sympa, mais je ne pige pas bien les mouvements... L'appui sur une flèche du clavier, ça fait quoi exactement ? Il y a un 2 qui apparait à chaque nouveau tour ? Pourrais tu décrire un peu plus le fonctionnement ?
zwyx Messages postés 146 Date d'inscription jeudi 22 novembre 2007 Statut Membre Dernière intervention 21 mars 2016
21 mars 2014 à 17:27
Petite correction: la dernière couleur du tableau COLORS (dans UResources) n'est jamais atteinte car l'indice de la couleur utilisée (dans FMain) est obtenu par un modulo High(COLORS) qu'il faut remplacer par (High(COLORS)+1).

Ainsi, dans l'unité FMain, dans la méthode SgrGridDrawCell, remplacer la ligne 98 par:
iColor := COLORS[FGrid.Cell[aRow + 1, aCol + 1].CellPower mod (High(COLORS) + 1)];

Désolé pour l'erreur.
Rejoignez-nous