Avertissement :Il s'agit d'une page optimisée pour la navigation mobile. Voir la
page originale.
Jeu de la vie
Lee-korn le 16/12/2017 à 16:16
Bonjour, c'est mon premier message sur ce site. J'ai récemment découvert le jeu de la vie mais je n'arrive pas à faire un programme qui me le fait rapidement, si quelqu'un a une idée, ce ne serait pas de refus.......

Mingerton le 17/12/2017 à 11:46
Bonjour,
En Basic ca va être compliqué de faire un truc rapide en effet. En revanche, si ta calculatrice supporte l'assembleur alors tu peux chercher de ce côté là, il y a moyen que ca existe.Lee-korn le 17/12/2017 à 11:49
Merci pour ta réponse, pour programmer en assembleur' on doit forcément passer par un ordinateur ?

Mingerton le 17/12/2017 à 17:26
C'est plus facile sur ordinateur, mais pas impossible sur calculatrice puisque il est possible de programmer en hexadécimal directement dessus. Ca reste très compliqué et maîtrisé par peu de personnes.Lee-korn le 17/12/2017 à 19:05
Tu aurais pas un système de traduction ti basic-assembly?Lee-korn le 17/12/2017 à 20:15
Voici ce que j'ai créé pour le moment, c'est un peu lent mais ça marche
Code
94->Xmax
0->Xmin
0->Ymin
62->Ymax
Effecran
Disp "PATIENTEZ SVP
arrondir(abs (.1marAleat(16,8)),0->[A]. //on remplit un tableau 16*8 aléatoirement
{16,8->dim([B]
Dim([B]-> dim([C]
Effecran
0->A
For(I,1,16
For(K,1,8
If [A](I,K
Then
1+A->A
A->dim(L1
A->dim(L2 //on enregistre les positions allumées
I->L1(A
K->L2(A
Output(K,I,"*
End //on affiche une première fois la matrice
End
End
{1,1,1,0,-1,-1,-1,0->L5
{1,0,-1,-1,-1,0,1,1->L6
Lbl 1
Remplir(0,[B]
For(I,1,A
L1(I->E
L2(I->F
For(K,1,8
E+L5(K->O
F+L6(K->P //on ajoute 1 à toutes les positions autours des points allumés
If O>0 et O<17 et P>O et P<9 // on vérifie si on ne sort pas de la matrice
1+[B](O,P->[B](O,P
End
End
Effliste L1,L2
O->A
For(I,1,16
For(K,1,8
[B](I,K)=2 et [A](I,K) ou 3=[B](I,K->H // on vérifie les morts et les naissances
If H
Then
A+1->A
A->dim(L1
A->dim(L2
H->[C](I,K
I->L1(A
K->L2(A
Output(K,I,"*
Else
0->[C](I,K
Output(K,I," [espace]
End
End
End
[C]->[A]
Goto 1
Si quelqu'un a des suggestions, ce serait volontier

m@thieu41 le 18/12/2017 à 18:07
En ti-basic, tu n'arriveras pas à faire mieux qu'un algorithme naif à mon avis.
Après en Asm tu peux envisager de coder l'algorithme hashlife, reposant sur le pré-calcul.
https://en.wikipedia.org/wiki/Hashlife
Mais pour un écran aussi petit autant rester sur l'algorithme naif, qui sera bien assez rapide à mon avis. Après si tu passe en pxl par pxl ça peut valoir le coup.
Dans tous les cas en ti basic tu n'arriveras pas à avoir une bonne complexité.
Et non, il n'existe pas de 'traducteur' Ti-Basic->Asm, car ça n'a pas trop de sens de traduire un langage à un autre, spécialement ici tant les logiques sont éloignées.
Lee-korn le 18/12/2017 à 21:10
Merci pour ta reponse
L'admet a t il les mêmes limites de mémoire que la ti?(400 cellules pour la matrice et 999 pour les listes)
Sinon, ou pourrais je trouver un bon tuto pour asm?

m@thieu41 le 21/12/2017 à 00:58
Les langages n'ont rien à voir, tu n'as pas la même notion de variable en asm.
Tu n'es pas autant limité, en particulier tes 'matrices' et 'listes' que tu peux définir n'auront pas de limites de ce type, elles dépendront juste de la mémoire dispo.
Yep, je te conseille de commencer par ce tuto (https://openclassrooms.com/courses/apprendre-l-asm-z80-pour-ti/materiel-necessaire-2), sachant que pour assembler en 83p j'utilisais SPASM puis bin2var (en ligne de commande : spasm -T -A -DTI83=TI83 -DUNSQUISHED=UNSQUISHED test.z80 TEST.bin
bin2var2 TEST.bin TEST.83p)
Je pense que je vais faire un petit tuto où je mettrai un max de référence pour débuter en asm sur 82stats, vu que la plupart des tutos sont sur 83+ il y a quelques petits détails à savoir

S.L le 02/01/2018 à 23:44
Salut, à l'avenir prends l'habitude de chercher s'il n'y a pas déjà un sujet correspondant à ton attente

(Sur Google : " site:tout82.free.fr jeu de la vie ").
Tu trouveras ici un programme fait par linkakro :
https://tout82.pages-perso.fre[...].php?sujet=4196 m@thieu41 le 03/01/2018 à 12:37
Well, ce sujet ne répond pas vraiment au présent, vu qu'on parle ici d'une façon efficace de le faire, alors que Linka avait juste envoyé un code don il disait lui même qu'il n'était pas "La manière de redessiner l'écran est implémentée d'une manière peu satisfaisante", du coup je ne trouve pas absurde de refaire un sujet ^^S.L le 06/01/2018 à 15:19
OK autant pour moi ^^ Avertissement :Il s'agit d'une page optimisée pour la navigation mobile. Voir la
page originale.