Les membres ayant 30 points peuvent parler sur les canaux annonces, projets et hs du chat.
La shoutbox n'est pas chargée par défaut pour des raisons de performances. Cliquez pour charger.
Menu
Calculatrices
Graph 35 à 100
Graph 25+Pro/25+E/25+E II
Graph 35+USB/75(+E)/85/95 SD
Graph 100(+)
Classpad 300/330(+)
fx-CG 10/20 (Prizm)
Classpad 400(+E)
Graph 90+E
fx-92+ SC
Liens
¤ Transférer un programme sur
sa calculatrice

¤ Vous cherchez une fonction ?
Jeux >> Graph 35 à 100 >> Divers >> Game of life
Game of life
Version : 1.0 Taille : 742 octets Ajouté le : 2011-12-04 20:45 Modifié le : 2011-12-05 22:49
Auteur et posteur :
Dark stormHors ligneLabélisateurPoints: 11641 Défis: 176 Message
Aucune image disponible
Nombre de visites sur cette page : 9382
Score au progrank : 26
Pas encore de note !
Vous devez être connecté(e) pour noter (inscription).
1335 téléchargements | Soumettre un test


Description :

Voici le célèbre Game of Life.
Pour ceux dont cela ne dit rien, à part le mot "game", voici de quoi vous informer: Lien Wikipedia

La version calto rame un peu (sur Graph 35+, il me faut environ une minute par génération),
mais a le mérite d'exister.

Pour placer les points, les touches fléchées et [EXE]

Des idées d'améliorations ?

MàJ: suite à la remarque de Eiyeron, le deuxième fichier comporte la version "texte" du programme -> plus de rapidité mais moins de place.

----- Version "Texte" -----


Voici la version "texte" de mon programme.
Au programme (cest le cas de le dire ), une rapidité bien plus élevée (environ 8-10 secondes par génération), mais un plateau moins grand.

Pour poser les cellules, touches fléchées + [EXE]
Pour lancer le programme, [F1].

Attention: Les cellules dans le cadre de 1 rangée autour du plateau (2 pour le bord droit) ne se modifient pas: elles servent juste à allumer les cellules à l intérieur.


Commentaires :

Pages: Précédente | 1, 2, 3, 4

Alex_1186Hors ligneMembrePoints: 1215 Défis: 46 Message
Posté le 16-01-2014 à 19:40 | #
Je déterre un peu (enfin je profite du déterrage):

comment l'améliorer?

Wikipédia a écrit :
En 1980, Bill Gosper a créé Hashlife, un algorithme de simulation beaucoup plus efficace, permettant de manipuler des millions de cellules sur des millions de générations en des temps très courts. Cet algorithme reposait sur une idée différente : en effet, si l’on considère une portion de l’espace du jeu relativement isolée de ses voisines, il est possible de la faire « tourner » pendant un certain nombre n de générations, puis de simplement mémoriser le résultat. Si la configuration de départ se reproduit ailleurs, on pourra alors « sauter » directement n générations pour cette partie du jeu. Ce nouvel algorithme faisait donc « tourner » différentes portions de l’espace à des vitesses différentes, et se débrouillait pour préserver la cohérence aux bordures de chaque région ainsi simulée. Il faisait appel à une table de hachage pour mémoriser et retrouver rapidement des configurations locales.


Bon en fait j'avais déjà entendu parler de ça, qu'avec des tables de hachage on pouvait gagner énormément en efficacité...
Mais ça a quand même l'air un peu chaud à implémenter! (surtout en Basic)

En fait c'est même carrément impossible!
Si je fais juste un petit automate cellulaire bidimensionnnel 5x5 à deux états (donc un jeu de la vie 5x5), il y a 2^(5^2)=33'554'432 configurations possibles!

Donc si ma table de hachage fait, mettons 20000 cases (ce qui est pas mal déjà!), il y aura en moyenne 1678 clés par case!

En les classant par ordre croissant on peut assurer un temps de recherche en O(log n), sachant que la table et la recherche de "hash" sera en O(1).
Donc éventuellement on aurait un temps de restitution d'une combinaison acceptable!

(ah oui je vous ai pas dit, je m'adresse aux initiés! 8) )

PAR CONTRE il faudrait faire manuellement les 33'554'432 combinaisons!!!!!!!
Du coup il vaudrait mieux les faire à l'ordi d'abord, puis les envoyer dans la caltos tout faits!

Alors, qu'en penses-tu?
Ah oui, tout ça c'est pour un jeu de la vie 5x5!!!

Ma conclusion: c'est mort.
-florian66-Hors ligneAncien rédacteurPoints: 2384 Défis: 20 Message
Posté le 16-01-2014 à 19:43 | #
quoi qui est mort !!
Alex_1186Hors ligneMembrePoints: 1215 Défis: 46 Message
Posté le 16-01-2014 à 19:44 | #
Oui mais ça c'est l'algorithme "naïf", dans l'extrait de Wikipédia que j'ai mis, la recherche a l'air beaucoup plus complexe, mais ça doit être une galère incommensurable pour trouver des motifs, et surtout pour les faire tourner sans qu'ils n’interagissent avec le reste!!!
(pour un planeur à la rigueur...)
-florian66-Hors ligneAncien rédacteurPoints: 2384 Défis: 20 Message
Posté le 16-01-2014 à 19:44 | #
c'est vrai
Dark stormHors ligneLabélisateurPoints: 11641 Défis: 176 Message
Posté le 16-01-2014 à 20:19 | #
Tout ça en Basic
A la rigueur, en C je dit pas, mais en Basic, va essayer de mettre les 33'554'432 combinaisons dans un programme
Alex_1186Hors ligneMembrePoints: 1215 Défis: 46 Message
Posté le 16-01-2014 à 21:04 | #
Bah ce qu'il faudrait c'est adapter le système Hashlife, ça a l'air puissant...
Non mais on est pas obligé de prendre toutes les possibilités, puisqu'il y en a qui sont impossibles! cf les jardins d'Eden!
(bon si on compte que là dessus on est mal barrés!)

Je pense quand même qu'on peut tenter un truc... (en fait faudra que JE tente un truc, j'ai trop envie d'implémenter une table de hachage d'une manière ou d'une autre! )
Link du 97
Statut : Invité
Posté le 13-09-2018 à 16:16 | #
Tu pourrais mettre le jeu sur calculatrice fx - 92
LephenixnoirHors ligneAdministrateurPoints: 24563 Défis: 170 Message
Posté le 13-09-2018 à 18:46 | #
Malheureusement ça ne va pas marcher... la fx-92 n'a pas de possibilités de programmation assez puissante pour un jeu de la vie.

Pages: Précédente | 1, 2, 3, 4

Planète Casio v4.3 © créé par Neuronix et Muelsaco 2004 - 2024 | Il y a 76 connectés | Nous contacter | Qui sommes-nous ? | Licences et remerciements

Planète Casio est un site communautaire non affilié à Casio. Toute reproduction de Planète Casio, même partielle, est interdite.
Les programmes et autres publications présentes sur Planète Casio restent la propriété de leurs auteurs et peuvent être soumis à des licences ou copyrights.
CASIO est une marque déposée par CASIO Computer Co., Ltd