π
-
->
<-

Résultat du premier tour du concours d'optimisation.

:32ti73: :32ti73e: :32ti73e2: :32ti76f: :32ti80: :32ti81: :32ti82: :32ti82s: :32ti82sf: :32ti82sfn: :32ti83: :32ti83p: :32ti83pb: :32ti83pr: :32ti83pfr: :32ti83pse: :32ti84pfr: :32ti84p: :32ti84pse: :32ti84pseb: :32ti84pseo: :32ti84pser: :32ti84psev: :32ti84psep: :32ti84pseb: :32ti85: :32ti86: :32tinsk84: :32tinsk84n: :32tinstpk84: :32tinstpk84n:

Résultat du premier tour du concours d'optimisation.

Unread postby nikitouzz » 06 Aug 2012, 01:31

Voici les resultat du petit concours d'optimisation que j'ai lancé il y a une semaine :)

En Axe le premier est Runer112 sur les 5 participant :) Il reporte haut la main avec un code optimiser a 436 octets, en reprenant fidèlement mon code de départ dans ses moindre détaille :) je tiens a le felicitee pour son code qui est pour moi parfait :)

il va donc en finale :)

Code de depart :
Code: Select all
:ClrHome
:[FF818181818181FF]→pic0
:[FFC3A59999A5C3FF]→pic1
:[0000000000000000]→pic9
:0→S
:1→A
:2→B
:ClrDraw
:Repeat getKey(15)
:Pt-Change(A*8,B*8,Pic0)
:DispGraph
:Pt-Change(A*8,B*8,Pic0)
:Pause 100
:If getKey(1) and (B≠7) and (pxl-Test(A*8,B+1*8)=0)
:B+1→B
:S++
:pause 250
:End
:If getKey(2) and (A≠1) and (pxl-Test(A-1*8,B*8)=0)
:A-1→A
:S++
:pause 250
:End
:If getKey(3) and (A≠11) and (pxl-Test(A+1*8,B*8)=0)
:A+1→A
:S+1→S
:pause 250
:End
:If getKey(4) and (B≠1) and (pxl-Test(A*8,B-1*8)=0)
:B-1→B
:S+1→S
:pause 250
:End
:If getKey(3) and (pxl-Test(A+1*8,B*8)=1) and (pxl-Test(A+2*8,B*8)=0) and (A≠10) and (pxl-Test(A+1*8+1,B*8+2)=0)
:Pt-Off(A+1*8,B*8,Pic9)
:Pt-Off(A+2*8,B*8,Pic1)
:A+1→A
:S+1→S
:pause 250
:End
:If getKey(2) and (pxl-Test(A-1*8,B*8)=1) and (pxl-Test(A-2*8,B*8)=0) and (A≠2) and (pxl-Test(A-1*8+1,B*8+2)=0)
:Pt-Off(A-1*8,B*8,Pic9)
:Pt-Off(A-2*8,B*8,Pic1)
:A-1→A
:S+1→S
:pause 250
:End
:If getKey(1) and (pxl-Test(A*8,B+1*8)=1) and (pxl-Test(A*8,B+2*8)=0) and (B≠6) and (pxl-Test(A*8+1,B+1*8+2)=0)
:Pt-Off(A*8,B+1*8,Pic9)
:Pt-Off(A*8,B+2*8,Pic1)
:B+1→B
:S+1→S
:pause 250
:End
:If getKey(4) and (pxl-Test(A*8,B-1*8)=1) and (pxl-Test(A*8,B-2*8)=0) and (B≠2) and (pxl-Test(A*8+1,B-1*8+2)=0)
:Pt-Off(A*8,B-1*8,Pic9)
:Pt-Off(A*8,B-2*8,Pic1)
:B-1→B
:S+1→S
:pause 250
:End
:End


Code d'arrivée :
Code: Select all
:0->^^oDEBUG
:[FF818181818181]->Pic0
:[FFC3A59999A5C3FF]->Pic1
:L1+706->Pic9
:ClrDraw(L1)
:ClrDraw
:2*96+1+L6->P->r2
:(Pic0)Draw()
:...If ^^oDEBUG
:4*96+4+L6->r2
:(Pic1)Draw()
:...
:While 1
:DispGraph
:Pause 100
:4
:While 1
:End!If Select(,TryMv())-1
:3
:While 1
:End!If Select(,TryPs())-1
:4TryPs()
:EndIf getKey(15)
:Lbl KOfs
:[60FF01A0]->GDB0
:Return sign{r1-1+GDB0}
:Lbl CanMv
:ReturnIf +P->r2 and |EDF-|E9381*3plotdot|E0820
:Return {r2}
:Lbl TryMv
:Return!If getKey(->r1)
:Lbl Mv
:ReturnIf KOfs()CanMv()
:r2->P
:S++
:Pause 250
:Pic0
:Lbl DrwMv
:Draw()
:-96->r2
:Pic9
:Lbl Draw
:For(8)
:Select(,{}->{r2}+12->r2)+1
:End
:Lbl SKOfs
:r2-KOfs()
:Return
:Lbl TryPs
:Return!If getKey(->r1)
:ReturnIf KOfs()*2CanMv()
:ReturnIf {SKOfs()+12} xor |EC3
:(Pic1)DrwMv()
:Goto Mv


Code le plus optimisé :
Code: Select all
:0->^^oDEBUG
:[FF818181818181]->Pic0
:[FFC3A59999A5C3FF]->Pic1
:L1+706->Pic9
:ClrDraw(L1)
:ClrDraw
:2*96+1+L6->P->r2
:(Pic0)Draw()
:...If ^^oDEBUG
:4*96+4+L6->r2
:(Pic1)Draw()
:...
:While 1
:DispGraph
:Pause 100
:4
:While 1
:End!If Select(,TryMv())-1
:3
:While 1
:End!If Select(,TryPs())-1
:4TryPs()
:EndIf getKey(15)
:Lbl KOfs
:[60FF01A0]->GDB0
:Return sign{r1-1+GDB0}
:Lbl CanMv
:ReturnIf +P->r2 and |EDF-|E9381*3plotdot|E0820
:Return {r2}
:Lbl TryMv
:Return!If getKey(->r1)
:Lbl Mv
:ReturnIf KOfs()CanMv()
:r2->P
:S++
:Pause 250
:Pic0
:Lbl DrwMv
:Draw()
:-96->r2
:Pic9
:Lbl Draw
:For(8)
:Select(,{}->{r2}+12->r2)+1
:End
:Lbl SKOfs
:r2-KOfs()
:Return
:Lbl TryPs
:Return!If getKey(->r1)
:ReturnIf KOfs()*2CanMv()
:ReturnIf {SKOfs()+12} xor |EC3
:(Pic1)DrwMv()
:Goto Mv



En Basic le gagnant est Linkaro qui remporte le concours avec un score moyen car aucun des 6 participants n'a su me faire un code fonctionnel a 100%.

Il va donc en finale :)

Code de depart :
Code: Select all
:Lbl 0:0→∟AD(1)
:Menu("JEUX","jouer",8,"quitter",9)
:Lbl 8
:ClrHome
:200→D
:Output(4,6,"00000")
:Output(5,6,"0  0")
:Output(6,6,"0  0")
:Output(7,6,"0  0")
:Output(8,6,"00000")
:Lbl 1
:∟AD+1→∟AD
:randInt(1,9)→A
:Repeat D=0
:D-1→D
:Output(1,1,"    ")
:Output(1,1,D)
:Output(2,1,∟AD(1))
:Output(6,8,A)
:0→B
:getKey→B
:B+A→C
:If C=93 or C=95 or C=97 or C=86 or C=88 or C=90 or C=79 or C=81 or C=83
:Goto 1
:End
:ClrHome
:Output(3,5,"SCORE:)
:Output(4,6,∟AD(1))
:If ∟AD(1)>∟AC(1)
:∟AD(1)→∟AC(1)
:Pause
:Goto 0
:Lbl 9


Code d'arrivée :
Code: Select all
DelVar SClrHome
randInt(1,9→A
For(D,200,1,¯1
Output(2,2,"  "
Output(2,1,D
Output(3,1,S
Output(1,1,A
getKey→B
{92,93,94,82,83,84,72,73,74
If B=Ans(A
Then
S+1→S
randInt(1,9→A
End
End
ClrHome
max(S,∟AC(1→∟AC(1
Disp "SCORE:
S


Code le plus optimisé : ( ici c'est le mien )
Code: Select all
:0->S
:900->C
"Menu("","",1,"",2
:Lbl 1
:randint(1,9->F
:while C
:output(2,3,F
:output(5,1,C
:output(4,1,S
:C-1->C
:{92,93,94,82,83,84,72,73,74
:If getkey=Ans(F
:then
:S+1->S
:randint(1,9->F
:end
:end
:Lbl 2
:output(1,1,""
:output(4,6,"SACHA"



Pour la finale :

Le but est de me programmer un snake, en basic pour linkaro et en Axe pour runer112 le plus simple et le plus optimisé possible.
Le code qui techniquement sera supérieur à l'autre sera vainqueur (ne vous inquiétez pas je vais compter l’écart de puissance entre le basic et l'axe).

La finale commence dés aujourd'hui et finis le 16/08/2012 a 12 heures pile. :)

Bonne chance a vous runer112 et linkaro :)


edit by Laurae : majuscules manquantes et erreurs d'orthographe corrigés
Image
mes records personels :

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
User avatar
nikitouzz
Modérateur
Modérateur
 
Posts: 546
Images: 0
TI Points: 13.8/20
Joined: 16 Feb 2012, 19:39
Gender: Male
Class: Terminale et pas des moindre.

Return to News TI-z80: TI-73, 76, 80, 81, 82, 83, 84, 85, 86

Who is online

Users browsing this forum: No registered users and 1 guest

-
Search files
-
Identification






Login with Facebook!
-
Featured files
Partenaire et pub
Achète ta TI en ligne!
-
Search posts
-
Language
Français English
-
Featured topics
Concours TI-Planet 2013 - gagne les calculatrices couleur TI-Nspire CX et TI-84 Plus C Silver Edition avec la chasse au trésor Dragon Ball Z!
Tous les tests de la TI-84+ C SE par TI-Planet !
Jailbreakez votre TI-Nspire et profitez des meilleurs jeux !
Transforme ta TI-Nspire CX en console de jeux Nintendo Game Boy Advance!
Le tutoriel de référence pour apprendre le TI-Basic sur TI-82/83/84!
1
2
3
4
5
-
Donations
alexis james(5.00€)
(04/05/2013)
nikitouzz(1.00€)
(28/10/2012)
Publicité
Offre spéciale
Offre spéciale TI-Planet/JARRETY: TI-Nspire CX CAS à  142€
Offre spéciale TI-Planet/JARRETY: TI-84 Plus C Silver Edition à 116€
-
Sites partenaires
La page de TI-France sur Facebook
Inspired-Lua
Omnimaga
Planete Casio
Festiv'Algo
cnCalc.org
Univers-TI-Collège
Inspired-Lua
Mathovore
Espace-TI
Cemetech
Casiopeia
TI-Emulation
TI-Softwares
1
2
3
4
5
6
7
-
Statistiques
-
Autres sites
Le site de Texas Instruments
education.ti.com/france  (français)
La communauté TI-82
tout82.free.fr
 (français)