jeudi 4 juin 2009

Flash Memory



Je me suis attelé hier à la programmation en Flash d'une mouture personnelle du classique et célèbre "Memory". Les codes sources que j'avais glanés çà et là me semblaient bien trop brouillons ou hermétiques.

Le challenge: pondre un code spartiate et obtenir une compilation de poids minuscule. Mon application ne dépasse pas 10 ko. Pour y parvenir, je n'importe aucune image et utilise des caractères de la police "Webdings" comme substituts. Les seuls éléments alourdissant la programmation sont l'introduction du jeu, les lignes pour la réinitialisation et quelques fonctions visant à limiter la triche ou les plantages. Cliquer plusieurs fois sur la même image ou sur plus de deux cases en utilisant la "technique pivert", font partie de ces vilenies...

Le code source en Flash 8: Clic D ... Enregistrer la cible du lien sous... Le lien
 

2 commentaires:

  1. ha oui, c'est très propre et compact. Bien joué ! Tu commences à bien maitriser l'actionscript !

    Dans ce genre de projet qui a l'air simple en apparence (avant de mettre les mains dans le cambouis), j'aime aussi beaucoup les petites subtilités du genre "pour éviter triche en cliquant 2 fois même case"... Rien de tel qu'un modèle pour bien identifier les problèmes cachés d'un système que l'on croit comprendre...

    RépondreSupprimer
  2. Proc> Je reconnais bien dans ton commentaire la démarche du scientifique qui s'empresse d'exposer sa théorie naissante au feu de l'expérimentation tout en cherchant avec une forme d'avidité tout ce qui pourrait l'invalider ou permettre de l'affiner. Je te suis totalement. On pourrait déraper en direction d'allusions touchant au monde de la politique, ce que j'éviterai pour ne pas gâter ma bonne humeur en cette belle journée!

    Je pense qu'on pourrait utiliser aussi une méthode appelant simplement le code ASCII des caractères choisis dans un clip enfant associé aux cases. A tester. Problème possible: la fonte doit se trouver dans la bibliothèque des polices de l'ordinateur hôte? J'ai déjà eu ce genre de surprise en testant des applications sur des machines hors des frontières de la Mansarde!

    NB: j'ai retrouvé en bug que j'ai réglé sur le code source proposé. Il faut réinitialiser aussi la variable "anti double-clic", sinon, impossible de choisir la dernière case cliquée en fin de partie précédente pour démarrer la suivante...

    RépondreSupprimer

Commentaire de :