Posté le 02/11/2008 à 15:34Edité par loclamor le 02/11/2008 à 16:32 Membre depuis le 24/08/2007, 729 messages
Salut, je voufrais juste savoir si mon code peut être optimisé (je pense bien qu'il le peut smile ) et comment... tongue
je vous balance le code... :
If Ans=24 and X>1:Then
If [A](Y,X-1)=0:Then:X-1->X:Else
If [A](Y,X-1)!=1:Then
If [A](Y,X-1)=2 and ([A](Y,X-2)=0 or [A](Y,X-2)=3):Then:X-1->X
If [A](Y,X-1)=0:Then:2->[A](Y,X-1):Output(Y,X-1,"O":End
If [A](Y,X-1)=3:Then:0->[A](Y,X-1):Output(Y,X-1," ":End
End:End:End:End
If Ans=26 and X<16:Then
If [A](Y,X+1)=0:Then:X+1->X:Else
If [A](Y,X+1)!=1:Then
If [A](Y,X+1)=2 and ([A](Y,X+2)=0 or [A](Y,X+2)=3):Then:X+1->X
If [A](Y,X+1)=0:Then:2->[A](Y,X+1):Output(Y,X+1,"O":End
If [A](Y,X+1)=3:Then:0->[A](Y,X+1):Output(Y,X+1," ":End
End:End:End:End
If Ans=25 and Y>1:Then
If [A](Y-1,X)=0:Then:Y-1->Y:Else
If [A](Y-1,X)!=1:Then
If [A](Y-1,X)=2 and ([A](Y-2,X)=0 or [A](Y-2,X)=3):Then:Y-1->Y
If [A](Y-1,X)=0:Then:2->[A](Y-1,X):Output(Y-1,X,"O":End
If [A](Y-1,X)=3:Then:0->[A](Y-1,X):Output(Y-1,X," ":End
End:End:End:End
If Ans=34 and Y<8:Then
If [A](Y+1,X)=0:Then:Y+1->Y:Else
If [A](Y+1,X)!=1:Then
If [A](Y+1,X)=2 and ([A](Y+2,X)=0 or [A](Y+2,X)=3):Then:Y+1->Y
If [A](Y+1,X)=0:Then:2->[A](Y+1,X):Output(Y+1,X,"O":End
If [A](Y+1,X)=3:Then:0->[A](Y+1,X):Output(Y+1,X," ":End
End:End:End:End


voila. Et à la limite, les output on s'en fous smile vu que je vais me servir de ce code avce xLib, ils auront plus aucune utilité grin
avatarloclamor
Mondo Photo
Le voyage en photo et en 1 clic
Posté le 02/11/2008 à 15:50 Membre depuis le 25/12/2006, 499 messages
"ø" = "!=" ?
Posté le 02/11/2008 à 16:30 Membre depuis le 24/08/2007, 729 messages
oui, j'arrange ça...
avatarloclamor
Mondo Photo
Le voyage en photo et en 1 clic
Posté le 02/11/2008 à 18:36Edité par Baruch le 02/11/2008 à 18:48 Membre depuis le 25/12/2006, 499 messages
Ans->K
(Ans=26 and X<16)-(Ans=24 and X>1->I
(K=34 and Y<8)-(K=25 and Y>1->J
If not([A](Y+Ans,X+I
Then
Y+Ans->Y:X+I->X
Else
If 2=[A](Y+Ans,X+I
Then
If max([A](Y+2Ans,X+2I)={0,3
Then
Y+Ans->Y:X+I->X
If not([A](Y+J,Ans+I
Then
Output(Y+J,Ans+I,"O
2->[A](Y+J,Ans+I
Else
If 3=[A](Y+J,Ans+I
Then
Output(Y+J,Ans+I," 
0->[A](Y+J,Ans+I
End
End
End
End
End

Posté le 02/11/2008 à 18:41 Membre depuis le 25/12/2006, 499 messages
J'ai pas compris à quoi servait la condition [A](.,.)!=1

Ah oui ! C'est sûrement parce-que dans le cas =1, [A](Y+2J,X+2I) n'est pas défini.

Corrigé
Posté le 02/11/2008 à 20:15 Membre depuis le 24/08/2007, 729 messages
wouhahou ! ça fait vraiment la même chose ça ?? o_O
Merci beaucoup vieux wink
avatarloclamor
Mondo Photo
Le voyage en photo et en 1 clic
Posté le 02/11/2008 à 20:56 Membre depuis le 25/12/2006, 499 messages
Pas testé. J'ai juste regroupé les 4 cas, le reste c'est de l'optimisation locale.
Posté le 03/11/2008 à 18:19 Membre depuis le 24/08/2007, 729 messages
ok. Merci mec wink
avatarloclamor
Mondo Photo
Le voyage en photo et en 1 clic
Posté le 04/11/2008 à 20:41 Membre depuis le 24/08/2007, 729 messages
voila ce que ça a donné ton aide : LABYROC2 version graphique

Merci encore grin
avatarloclamor
Mondo Photo
Le voyage en photo et en 1 clic
Posté le 04/11/2008 à 21:15 Membre depuis le 25/12/2006, 499 messages
Derien Loïc. C'est beaucoup plus rapide ? (le choix entre regrouper ou pas les 4 cas est intéressant)
Posté le 06/11/2008 à 17:00 Membre depuis le 24/08/2007, 729 messages
beaucoup plus, il semble pas trop, peut être un peut... Mais sur 83+, ça ram quand même toujours un peut...
Mais g passé le prog et xLib à un pote qui a une 84+ et là c'est nikel smile
avatarloclamor
Mondo Photo
Le voyage en photo et en 1 clic
Posté le 27/11/2008 à 00:03 Membre depuis le 09/07/2003, 21783 messages
Baruch (./4) :
If max([A](Y+2Ans,X+2I)={0,3


Très bien joué ça. ( j'aimerais bien tester voir. Pas évident que ça gagne énorme en vitesse. surement qu'affecter ça à une variable et faire le ou dois être plus rapide ( mais plus gros). )
Posté le 27/11/2008 à 15:25 Membre depuis le 24/08/2007, 729 messages
version non graphique (avec le code bourrin) : http://ti.bank.free.fr/index.php?mod=archives&ac=voir&id=977
version graphique avec le code optimisé par notre ami Baruch : http://ti.bank.free.fr/index.php?mod=archives&ac=voir&id=1001

Si vous voulez tester (ou y jouer aussi grin)
avatarloclamor
Mondo Photo
Le voyage en photo et en 1 clic