- Code: Select all
.JEU
ClrDraw
For(450)
Pxl-On(rand^20+1,rand^20+1)
End
While 1
For(Y,1,21)
For(X,1,21)
Pxl-On(X,Y)^^r
If pxl-Test(X+1,Y)+pxl-Test(X,Y+1)+pxl-Test(X-1,Y)+pxl-Test(X,Y-1)->E<2 or (E=4)
Pxl-Off(X,Y)^^r
End
End
End
RecallPic DispGraph
EndIf getKey(15)
.......... ou est l'erreur ?
19 posts
• Page 2 of 2 • 1, 2
Re: .......... ou est l'erreur ?
oui mais sa sert a rien autant faire sa :
Mes records personnels :
2x2x2 : 2.18 secondes / 2x2x2 une main : 21.15 secondes / 2x2x2 yeux bandés : 47.59
3x3x3 : 5.97 secondes / 3x3x3 une main : 49.86 secondes
4x4x4 : 1.49 minutes / 4x4x4 une main : 6.50 minutes
5x5x5 : 4.10 minutes / 5x5x5 une main : 18.02 minutes
6x6x6 : 8.10 minutes
7x7x7 : 16.03 minutes
9x9x9 : 58.26 minutes
megaminx : 5.59 minutes / pyraminx : 7.91 secondes / square-one : 1.07 minutes

2x2x2 : 2.18 secondes / 2x2x2 une main : 21.15 secondes / 2x2x2 yeux bandés : 47.59
3x3x3 : 5.97 secondes / 3x3x3 une main : 49.86 secondes
4x4x4 : 1.49 minutes / 4x4x4 une main : 6.50 minutes
5x5x5 : 4.10 minutes / 5x5x5 une main : 18.02 minutes
6x6x6 : 8.10 minutes
7x7x7 : 16.03 minutes
9x9x9 : 58.26 minutes
megaminx : 5.59 minutes / pyraminx : 7.91 secondes / square-one : 1.07 minutes
-
nikitouzzModo
Niveau 16: CC2 (Commandeur des Calculatrices)- Posts: 1016
- Images: 1
- Joined: 16 Feb 2012, 18:39
- Gender:
- Calculator(s):→ MyCalcs profile
- Class: Fac de maths
Re: .......... ou est l'erreur ?
Si, ça optimise sur le plan de la vitesse et de la place
458 octets pour ta méthode
438 pour la mienne (20 octets de moins)
Et pour la vitesse, vois les screenshots.
Note que j'ai encore changé le code, il y a un Else maintenant
.JEU
ClrDraw^^r
For(450)
Pxl-On(rand^20+1,rand^20+1)
End
While 1
For(Y,1,21)
For(X,1,21)
If pxl-Test(X+1,Y)+pxl-Test(X,Y+1)+pxl-Test(X-1,Y)+pxl-Test(X,Y-1)->E and 2
Pxl-On(X,Y)^^r
Else
Pxl-Off(X,Y)^^r
End
End
End
RecallPic DispGraph
EndIf getKey(15)

458 octets pour ta méthode
438 pour la mienne (20 octets de moins)
Et pour la vitesse, vois les screenshots.
Note que j'ai encore changé le code, il y a un Else maintenant

.JEU
ClrDraw^^r
For(450)
Pxl-On(rand^20+1,rand^20+1)
End
While 1
For(Y,1,21)
For(X,1,21)
If pxl-Test(X+1,Y)+pxl-Test(X,Y+1)+pxl-Test(X-1,Y)+pxl-Test(X,Y-1)->E and 2
Pxl-On(X,Y)^^r
Else
Pxl-Off(X,Y)^^r
End
End
End
RecallPic DispGraph
EndIf getKey(15)
You do not have the required permissions to view the files attached to this post.
![]() Pokemon Topaze (Axe) discussion and download links here | (19:29:36) noelnadal: plus sérieusement, j'ai très peu de problèmes (22:45:44) Clifward: J'aime rire du malheur des autres ![]() (2017.11.18 - 17:07:12) Fireworks: Hayleia !!!!! (2017.11.18 - 17:07:19) TI-Bot: Fireworks has been logged out (Kicked). (2017.11.18 - 17:07:22) TI-Bot: Ban of user Fireworks revoked. (2017.11.18 - 17:07:25) TI-Bot: Fireworks logs into the Chat. (2017.11.18 - 17:07:28) Fireworks: <3 (2017.11.18 - 17:07:31) Fireworks: 208 |
-
HayleiaGénéreux
Niveau 17: GM (Grand Maître des calculatrices)- Posts: 2509
- Images: 2
- Joined: 30 Aug 2011, 08:22
- Gender:
- Calculator(s):→ MyCalcs profile
- Class: Templar
Re: .......... ou est l'erreur ?
desolee mais je l'ai fait en 411 octet soit 28 de moins que toi 
.JEU
ClrDraw
For(450)
Pxl-On(rand^20+1,rand^20+1)
End
While 1
For(Y,1,21)
For(X,1,21)
ClrDrawn^^r
If pxl-Test(X+1,Y)+pxl-Test(X,Y+1)+pxl-Test(X-1,Y)+pxl-Test(X,Y-1)->E and 2
Pxl-On(X,Y)^^r
End
End
End
RecallPic DispGraph
EndIf getKey(15)

.JEU
ClrDraw
For(450)
Pxl-On(rand^20+1,rand^20+1)
End
While 1
For(Y,1,21)
For(X,1,21)
ClrDrawn^^r
If pxl-Test(X+1,Y)+pxl-Test(X,Y+1)+pxl-Test(X-1,Y)+pxl-Test(X,Y-1)->E and 2
Pxl-On(X,Y)^^r
End
End
End
RecallPic DispGraph
EndIf getKey(15)
Mes records personnels :
2x2x2 : 2.18 secondes / 2x2x2 une main : 21.15 secondes / 2x2x2 yeux bandés : 47.59
3x3x3 : 5.97 secondes / 3x3x3 une main : 49.86 secondes
4x4x4 : 1.49 minutes / 4x4x4 une main : 6.50 minutes
5x5x5 : 4.10 minutes / 5x5x5 une main : 18.02 minutes
6x6x6 : 8.10 minutes
7x7x7 : 16.03 minutes
9x9x9 : 58.26 minutes
megaminx : 5.59 minutes / pyraminx : 7.91 secondes / square-one : 1.07 minutes

2x2x2 : 2.18 secondes / 2x2x2 une main : 21.15 secondes / 2x2x2 yeux bandés : 47.59
3x3x3 : 5.97 secondes / 3x3x3 une main : 49.86 secondes
4x4x4 : 1.49 minutes / 4x4x4 une main : 6.50 minutes
5x5x5 : 4.10 minutes / 5x5x5 une main : 18.02 minutes
6x6x6 : 8.10 minutes
7x7x7 : 16.03 minutes
9x9x9 : 58.26 minutes
megaminx : 5.59 minutes / pyraminx : 7.91 secondes / square-one : 1.07 minutes
-
nikitouzzModo
Niveau 16: CC2 (Commandeur des Calculatrices)- Posts: 1016
- Images: 1
- Joined: 16 Feb 2012, 18:39
- Gender:
- Calculator(s):→ MyCalcs profile
- Class: Fac de maths
Re: .......... ou est l'erreur ?
J'ai une remarque à la con... mais je n'y connais rien en Axe, alors, peut-être que ça marche, mais ça m'étonnerait.
Si vous modifiez les points au fur et à mesure que vous faites les tests, vous n'appliquez pas du tout correctement les règles du jeu de la vie.
Il faut forcément enregistrer les valeurs dans un tableau (au moins par paquets de 2 lignes, voire par blocs de 9 cases) avant de modifier...
Là, vous modifier une ligne puis vous vous servez des nouvelles valeurs pour modifier la ligne suivante : ça ne colle pas !!
La seule chose qui pourrait vous sauver serait que l'axe propose automatiquement un buffer qui met à jour l'affichage uniquement quand on utilise une commande spéciale... mais je n'en vois pas trace.
Donc, je dirais en substance : ultimate fail !
Si vous modifiez les points au fur et à mesure que vous faites les tests, vous n'appliquez pas du tout correctement les règles du jeu de la vie.
Il faut forcément enregistrer les valeurs dans un tableau (au moins par paquets de 2 lignes, voire par blocs de 9 cases) avant de modifier...
Là, vous modifier une ligne puis vous vous servez des nouvelles valeurs pour modifier la ligne suivante : ça ne colle pas !!
La seule chose qui pourrait vous sauver serait que l'axe propose automatiquement un buffer qui met à jour l'affichage uniquement quand on utilise une commande spéciale... mais je n'en vois pas trace.
Donc, je dirais en substance : ultimate fail !
-
BisamAdmin
Niveau 15: CC (Chevalier des Calculatrices)- Posts: 5670
- Joined: 11 Mar 2008, 00:00
- Location: Lyon
- Gender:
- Calculator(s):→ MyCalcs profile
Re: .......... ou est l'erreur ?
non parceque on dessine les point nouveaux sur un autre buffer (ecran) grace au petit "r" present a la fin du pt-on et ensuite grace a la commande recallpic de la fin on copie le buffer sur le vrai ecran. 
Je suis en train de travailler sur une nouvelle optimisation a coups de fonctions anonymes
car les pxl-test prenne beaucoup de place...

Je suis en train de travailler sur une nouvelle optimisation a coups de fonctions anonymes

Mes records personnels :
2x2x2 : 2.18 secondes / 2x2x2 une main : 21.15 secondes / 2x2x2 yeux bandés : 47.59
3x3x3 : 5.97 secondes / 3x3x3 une main : 49.86 secondes
4x4x4 : 1.49 minutes / 4x4x4 une main : 6.50 minutes
5x5x5 : 4.10 minutes / 5x5x5 une main : 18.02 minutes
6x6x6 : 8.10 minutes
7x7x7 : 16.03 minutes
9x9x9 : 58.26 minutes
megaminx : 5.59 minutes / pyraminx : 7.91 secondes / square-one : 1.07 minutes

2x2x2 : 2.18 secondes / 2x2x2 une main : 21.15 secondes / 2x2x2 yeux bandés : 47.59
3x3x3 : 5.97 secondes / 3x3x3 une main : 49.86 secondes
4x4x4 : 1.49 minutes / 4x4x4 une main : 6.50 minutes
5x5x5 : 4.10 minutes / 5x5x5 une main : 18.02 minutes
6x6x6 : 8.10 minutes
7x7x7 : 16.03 minutes
9x9x9 : 58.26 minutes
megaminx : 5.59 minutes / pyraminx : 7.91 secondes / square-one : 1.07 minutes
-
nikitouzzModo
Niveau 16: CC2 (Commandeur des Calculatrices)- Posts: 1016
- Images: 1
- Joined: 16 Feb 2012, 18:39
- Gender:
- Calculator(s):→ MyCalcs profile
- Class: Fac de maths
Re: .......... ou est l'erreur ?
OKok, alors le problème est que dans le vrai jeu de la vie "classique", il faut regarder les 8 cases autour, pas que les 4
.

-
ExcaleAdmin
Niveau 16: CC2 (Commandeur des Calculatrices)- Posts: 2955
- Images: 3
- Joined: 10 Sep 2010, 00:00
- Gender:
- Calculator(s):→ MyCalcs profile
Re: .......... ou est l'erreur ?
un jeu de la vie on a ses propre regles 
:.JEU // indique le nom du prog en asm
:ClrDraw // efface l'ecran
:For(450) //demarre une boulce qui se repete 450 fois
: Pxl-On(rand^20+1,rand^20+1) // dessine un point au hasard dans le carré du point 1,1 de 20 pixels de coté
:End // finis la boucle for
:While 1 // demarre la boucle principale
:For(Y,1,21) // boucle for...
:For(X,1,21) // boucle for...
:ClrDrawn^^r // efface le buffer ( deuxieme ecran )
:If pxl-Test(X+1,Y)+pxl-Test(X,Y+1)+pxl-Test(X-1,Y)+pxl-Test(X,Y-1)->E and 2 // teste si il y a deux ou trois pixel autour d'actif
: Pxl-On(X,Y)^^r // marque un point X'Y sur le buffer
:End //termine le If
:End // termoine la for...
:End // termine la for...
:RecallPic DispGraph // copie le buffer sur le vrai ecran et affiche le vrai ecran sur le LCD
:EndIf getKey(15) //termine la boucle while1 si on appuie sur [clear]

:.JEU // indique le nom du prog en asm
:ClrDraw // efface l'ecran
:For(450) //demarre une boulce qui se repete 450 fois
: Pxl-On(rand^20+1,rand^20+1) // dessine un point au hasard dans le carré du point 1,1 de 20 pixels de coté
:End // finis la boucle for
:While 1 // demarre la boucle principale
:For(Y,1,21) // boucle for...
:For(X,1,21) // boucle for...
:ClrDrawn^^r // efface le buffer ( deuxieme ecran )
:If pxl-Test(X+1,Y)+pxl-Test(X,Y+1)+pxl-Test(X-1,Y)+pxl-Test(X,Y-1)->E and 2 // teste si il y a deux ou trois pixel autour d'actif
: Pxl-On(X,Y)^^r // marque un point X'Y sur le buffer
:End //termine le If
:End // termoine la for...
:End // termine la for...
:RecallPic DispGraph // copie le buffer sur le vrai ecran et affiche le vrai ecran sur le LCD
:EndIf getKey(15) //termine la boucle while1 si on appuie sur [clear]
Mes records personnels :
2x2x2 : 2.18 secondes / 2x2x2 une main : 21.15 secondes / 2x2x2 yeux bandés : 47.59
3x3x3 : 5.97 secondes / 3x3x3 une main : 49.86 secondes
4x4x4 : 1.49 minutes / 4x4x4 une main : 6.50 minutes
5x5x5 : 4.10 minutes / 5x5x5 une main : 18.02 minutes
6x6x6 : 8.10 minutes
7x7x7 : 16.03 minutes
9x9x9 : 58.26 minutes
megaminx : 5.59 minutes / pyraminx : 7.91 secondes / square-one : 1.07 minutes

2x2x2 : 2.18 secondes / 2x2x2 une main : 21.15 secondes / 2x2x2 yeux bandés : 47.59
3x3x3 : 5.97 secondes / 3x3x3 une main : 49.86 secondes
4x4x4 : 1.49 minutes / 4x4x4 une main : 6.50 minutes
5x5x5 : 4.10 minutes / 5x5x5 une main : 18.02 minutes
6x6x6 : 8.10 minutes
7x7x7 : 16.03 minutes
9x9x9 : 58.26 minutes
megaminx : 5.59 minutes / pyraminx : 7.91 secondes / square-one : 1.07 minutes
-
nikitouzzModo
Niveau 16: CC2 (Commandeur des Calculatrices)- Posts: 1016
- Images: 1
- Joined: 16 Feb 2012, 18:39
- Gender:
- Calculator(s):→ MyCalcs profile
- Class: Fac de maths
Re: .......... ou est l'erreur ?
Oui, en fait, il y a deux buffers en Axe:
-L6 (celui que nikitouzz appelle "vrai écran")
-L3 (celui que nikitouzz appelle "buffer ( deuxieme ecran )")
Et toutes les "opérations graphiques" avec un "^^r" sont exécutées sur L3 tandis que celles sans "^^r" sont exécutées sur L6. Donc tout va bien dans ce qu'on fait
Par contre j'ai cru voir un problème: j'ai étendu le code sur 96x64 pixels et en gros, j'ai l'impression que le jeu tourne vite en rond (au bout de deux frames on revient au début en fait). Je pense effectivement comme Excale qu'il faudrait appliquer les test sur 8 cases pour voir une progression.
-L6 (celui que nikitouzz appelle "vrai écran")
-L3 (celui que nikitouzz appelle "buffer ( deuxieme ecran )")
Et toutes les "opérations graphiques" avec un "^^r" sont exécutées sur L3 tandis que celles sans "^^r" sont exécutées sur L6. Donc tout va bien dans ce qu'on fait

Par contre j'ai cru voir un problème: j'ai étendu le code sur 96x64 pixels et en gros, j'ai l'impression que le jeu tourne vite en rond (au bout de deux frames on revient au début en fait). Je pense effectivement comme Excale qu'il faudrait appliquer les test sur 8 cases pour voir une progression.
![]() Pokemon Topaze (Axe) discussion and download links here | (19:29:36) noelnadal: plus sérieusement, j'ai très peu de problèmes (22:45:44) Clifward: J'aime rire du malheur des autres ![]() (2017.11.18 - 17:07:12) Fireworks: Hayleia !!!!! (2017.11.18 - 17:07:19) TI-Bot: Fireworks has been logged out (Kicked). (2017.11.18 - 17:07:22) TI-Bot: Ban of user Fireworks revoked. (2017.11.18 - 17:07:25) TI-Bot: Fireworks logs into the Chat. (2017.11.18 - 17:07:28) Fireworks: <3 (2017.11.18 - 17:07:31) Fireworks: 208 |
-
HayleiaGénéreux
Niveau 17: GM (Grand Maître des calculatrices)- Posts: 2509
- Images: 2
- Joined: 30 Aug 2011, 08:22
- Gender:
- Calculator(s):→ MyCalcs profile
- Class: Templar
Re: .......... ou est l'erreur ?
l'interet n'est pas d'avoir une progrssion ^^ m ais de coder un jeu de la vie simple
( pour un tuto ) apres je ferais un plus gros automate mais pour le moment je fais juste sa 
-l6 s'appelle enfaite le buffer
-l3 le back-buffer, je n'ai pas utiliser les bon terme ^^


-l6 s'appelle enfaite le buffer
-l3 le back-buffer, je n'ai pas utiliser les bon terme ^^
Mes records personnels :
2x2x2 : 2.18 secondes / 2x2x2 une main : 21.15 secondes / 2x2x2 yeux bandés : 47.59
3x3x3 : 5.97 secondes / 3x3x3 une main : 49.86 secondes
4x4x4 : 1.49 minutes / 4x4x4 une main : 6.50 minutes
5x5x5 : 4.10 minutes / 5x5x5 une main : 18.02 minutes
6x6x6 : 8.10 minutes
7x7x7 : 16.03 minutes
9x9x9 : 58.26 minutes
megaminx : 5.59 minutes / pyraminx : 7.91 secondes / square-one : 1.07 minutes

2x2x2 : 2.18 secondes / 2x2x2 une main : 21.15 secondes / 2x2x2 yeux bandés : 47.59
3x3x3 : 5.97 secondes / 3x3x3 une main : 49.86 secondes
4x4x4 : 1.49 minutes / 4x4x4 une main : 6.50 minutes
5x5x5 : 4.10 minutes / 5x5x5 une main : 18.02 minutes
6x6x6 : 8.10 minutes
7x7x7 : 16.03 minutes
9x9x9 : 58.26 minutes
megaminx : 5.59 minutes / pyraminx : 7.91 secondes / square-one : 1.07 minutes
-
nikitouzzModo
Niveau 16: CC2 (Commandeur des Calculatrices)- Posts: 1016
- Images: 1
- Joined: 16 Feb 2012, 18:39
- Gender:
- Calculator(s):→ MyCalcs profile
- Class: Fac de maths
19 posts
• Page 2 of 2 • 1, 2
Return to Problèmes divers / Aide débutants
Who is online
Users browsing this forum: ClaudeBot [spider] and 14 guests