π
<-

Opti-Défi n°3 : Juste-prix graphique

Re: Opti-Défi n°3 : Juste-prix graphique

Unread postby Guice » 10 Jul 2014, 11:28

Hello ^^ !
Je sais que le délai est dépassé, je suis en retard !
Voilà quand même ce que je propose pour ce défi, mon programme possède:
> 3 Niveaux de difficulté (Intervalle de génération du nombre mystère plus grand)
> Gestion des meilleurs scores en fonction de la difficulté

J'ai pas eu le temps d'optimiser ne serait-ce qu'un minimum le code, alors il se peut qu'il pique un peu les yeux ^^'

Mon programme:
https://mega.co.nz/#!KQkm3BiY!9HEEyrE6E2bpQr2dKE9uftl0k06vNTrkGWduq-NT4j8

PS: Pour effacer la saisi d'un nombre, c'est la touche Clear

La démo:

Image

Voilà :p J'ai hâte de voir ce que ça a donné de votre côté !
User avatar
Guice
Niveau 5: MO (Membre Overclocké)
Niveau 5: MO (Membre Overclocké)
Level up: 88%
 
Posts: 3
Joined: 15 Jun 2014, 15:19
Gender: Male
Calculator(s):
MyCalcs profile
Class: 1ère année ISEN

Re: Opti-Défi n°3 : Juste-prix graphique

Unread postby Wistaro » 10 Jul 2014, 12:36

Etant celui qui organise le défi, je ne devrais pas participer, mais je présente tout de même mon petit programme!

- Spécificités -

- Menu 100% graphique interactif
- Jouabilité innovante sur les 2 écrans
- 50 niveaux de jeux différents!
- Choix du style possible: blanc ou noir
- Ajout d'un score avec risque: plus le niveau est élevé, plus vous pouvez faire un score élevé. Par exemple, avec le niveau 1 et un fpart de 0, votre score maximal sera de 9 ( si vous trouvez du premier coup), mais si vous passer au lvl 2, le sore maximum passe à 35!
- Sauvegarde du meilleur coup
- Sauvegarde du score le plus élevé.
- Possibilité de reset les scores
- Avertissement lors d'un niveau difficile.

- Commandes -

Au menu principal
- Augmenter le niveau: ALPHA
- Diminuer le niveau: 2ND
- Augmenter le fPart (le nombre de chiffre après la virgule): UP
- Diminuer le fPart: DOWN
- Affecter le style noir: MODE
- Affecter le style blanc: DEL
- Se déplacer dans score/play/exit: RIGHT/DOWN

Au menu des scores:
- Quitter: ENTER
- Effacer les scores: CLEAR

En cour de jeu:
- Rentrer un chiffre: Clavier numérique
- Revenir au menu principal: tapez un chiffre négatif

- Screenshoot -

Image

- Code source (TI-basic z80) -

Code: Select all
:Lbl 0
:Full:AxesOff
:0→Xmin:0→Ymin
:1→∆X:1→∆Y
:ClrDraw
:Lbl 5
:Horizontal 62
:Horizontal 0
:Vertical 94
:Vertical 0
:Line(79,62,79,53
:Line(79,53,94,53
:Text(1,84,"- +
:StorePic 1
:Text(‾1,3,15,"Juste Prix
:Text(50,10,"Score
:Text(50,43,"Play
:Text(50,70,"Exit
:Line(15,51,74,51
:Line(36,0,36,14
:Line(68,14,68,45
:Line(64,14,64,0
:Horizontal 14
:Text(20,7,"Lvl:   1     2     3     4     5
:21→A
:DelVar FText(30,7,"fPart:
:Text(40,7,"Style:
:48→G:2→J
:15→V:39→W
:1→O
:"Yes→Str1
:Repeat K=45
:   getKey→K
:   Text(V,75,"+
:   Text(W,85,"-
:   If V=15:2→X
:   If V=39:‾2→X
:   V+X→V:W-X→W
:   Pt-On(G,4
:   If K=24 or K=26:Pt-Off(G,4
:   G+30(K=26 and J<3)-30(K=24 and J>1→G
:   1+(G-18)/30→J
:   If K=85 or K=95:Text(‾1,30,40," "
:   F+(K=25 and F<9)-(K=34 and F>0→F
:   If K=21 or K=31:Then
:      Line(A,43,A+6,43,0
:      Line(A,43,A,35,0
:      Line(A+6,43,A+6,35,0
:      Line(A,35,A+6,35,0
:   End
:   A+9(K=21 and L<5)-9(K=31 and L>1→A
:   If K=22:1→O
:   If K=23:DelVar O
:   If K=22:"Yes→Str1
:   If K=23:"No  "→Str1
:   Text(30,40,F
:   Text(40,40,Str1
:   Line(A,43,A+6,43
:   Line(A,43,A,35
:   Line(A+6,43,A+6,35
:   Line(A,35,A+6,35
:   1+(A-21)/9→L
:   If K=105 and J=2:Goto Q
:   If K=105 and J=1:Goto S
:   If K=105 and J=3:Goto P
:End
:Lbl Q
:If F>3:Then
:   For(A,45,17,‾1
:      Line(22,A,71,A,0
:   End
:   Line(22,45,71,45
:   Line(71,45,71,17
:   Line(71,17,22,17
:   Line(22,17,22,45
:   Text(19,30,"Attention!
:   Text(30,25,"Niveau expert
:   Pause
:End
:3→dim(ᴸP
:abs(randInt(1,10^L)+round(rand,F→ᴸP(1
:30→Ymax:Horiz
:ClrDraw:ClrHome
:DelVar VDelVar WDelVar C
:Vertical 65
:Text(0,68,"Coup(s):
:Text(16,68,"Niveau:
:Line(65,15,94,15
:Lbl 1
:Text(23,70,L,"  ,  ",F
:Disp "****************
:Input "?>",N
:C+1→C
:If N<0:Goto 0
:If N>ᴸP(1:DelVar V1→W
:If N<ᴸP(1:DelVar W1→V
:If N=ᴸP(1:Goto G
:Text(7,70,C
:If not(O:Then
:   not(V→V
:   not(W→W
:End
:If C=1:Then
:   If O:Then
:      For(Z,0,64
:         Line(Z,30,Z,0
:      End
:   End
:   For(A,15,27
:      Pt-Change(A,14
:      Pt-Change(A,13
:      Pt-Change(A,15
:   End
:   For(A,8,20
:      Pt-Change(21,A
:      Pt-Change(22,A
:      Pt-Change(20,A
:   End
:   For(A,41,54
:      Pt-Change(A,14
:      Pt-Change(A,13
:      Pt-Change(A,15
:   End
:End
:Line(10,25,32,25,W
:Line(10,3,32,3,W
:Line(32,3,32,25,W
:Line(10,3,10,25,W
:Line(36,25,36,3,V
:Line(36,3,58,3,V
:Line(58,3,58,25,V
:Line(58,25,36,25,V
:Goto 1
:Lbl G
:Full:ClrDraw
:RecallPic 1
:Text(‾1,25,30,"Bravo!
:Text(35,05,"Tu as trouve en ",C," coups!
:(F+1)(10^L)-C→S
:Text(50,30,"Score: ",S
:If S>ᴸP(2:S→ᴸP(2
:If C<ᴸP(3) or not(ᴸP(3):C→ᴸP(3
:Pause :Goto 0
:Lbl S
:ClrDraw:RecallPic 1
:Repeat K=105
:   getKey→K
:   If K=45:Then
:      For(A,45,17,‾1
:         Line(22,A,71,A,0
:      End
:      Line(22,45,71,45
:      Line(71,45,71,17
:      Line(71,17,22,17
:      Line(22,17,22,45
:      Text(19,36,"Info!
:      Text(30,32,"Memoire
:      Text(37,32,"effacee
:      DelVar ᴸP
:      3→dim(ᴸP
:      Pause :Goto 0
:   End
:   Text(‾1,3,23,"**Best**
:   Line(25,51,69,51
:   If ᴸP(3:Text(27,7,"Coup(s):   ",ᴸP(3
:   Text(45,7,"Score:   ",ᴸP(2
:End
:For(A,59,11,‾1
:   Line(5,A,71,A,0
:End
:Goto 5
:Lbl P
:ClrDraw:ClrHome:Stop


Lien: http://www.mediafire.com/download/eq8q2 ... DJPWIS.8xp

B-) Enjoy B-)
Nouveau sur le site, ClaudeBot [spider] ? Avant de poster sur le chat et sur le forum, n'oublie pas de lire les règles. En cas de problème, tu peux m'envoyer un message, je réponds rapidement.

Liens utiles:
Image
Découvre mes programmes et mon site!
User avatar
WistaroSuper Modo
Niveau 15: CC (Chevalier des Calculatrices)
Niveau 15: CC (Chevalier des Calculatrices)
Level up: 88.5%
 
Posts: 3191
Images: 37
Joined: 25 Feb 2013, 16:21
Location: Toulouse
Gender: Male
Calculator(s):
MyCalcs profile
Class: Ingénieur en électronique
YouTube: Wistaro
Twitter: Wistaro
GitHub: Wistaro

Re: Opti-Défi n°3 : Juste-prix graphique

Unread postby Persalteas » 10 Jul 2014, 18:07

Eh bien ! Franchement, vous vous défendez largement face au mien...

2 programmes sur trois utilisent un input graphique (ça c'est la classe), deux programmes sur trois utilisent un input par chiffres à taper (ce qui est quand même meilleur pour la fluidité de jeu je trouve), deux programmes sur trois donnent la réponse en graphique (plus joli)...

Malheureusement, il s'agit à chaque fois de deux programmes différents sur trois :D ... Dur de trancher !
(oui, chacun des programmes a deux de ces avantages sur trois :P )
User avatar
PersalteasMembre UPECS
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Level up: 6.2%
 
Posts: 2337
Images: 113
Joined: 04 Feb 2010, 00:00
Location: Evry (France)
Gender: Male
Calculator(s):
MyCalcs profile
Class: PhD candidate, Bioinformatics

Re: Opti-Défi n°3 : Juste-prix graphique

Unread postby m@thieu41 » 10 Jul 2014, 21:27

En tous cas, bravo à vous trois, ce sont vraiment de super programmes !!! :D
User avatar
m@thieu41Premium
Niveau 11: LV (Légende Vivante)
Niveau 11: LV (Légende Vivante)
Level up: 71.3%
 
Posts: 230
Joined: 20 Jun 2013, 14:24
Gender: Male
Calculator(s):
MyCalcs profile
Class: TS

Re: Opti-Défi n°3 : Juste-prix graphique

Unread postby Wistaro » 11 Jul 2014, 07:25

J'aime bien les votre :)


Persalteas, je serais curieux de voir comment fonctionne ton input graphique. J'avais essayé, en attribuant chaque getkey de touche au numéro qui correspond, puis en convertissant ce chiffre en chaîne pour l'ajouter à une autre chaîne et l'afficher. Mais j'ai finalement abandonné, par manque de temps.
Nouveau sur le site, ClaudeBot [spider] ? Avant de poster sur le chat et sur le forum, n'oublie pas de lire les règles. En cas de problème, tu peux m'envoyer un message, je réponds rapidement.

Liens utiles:
Image
Découvre mes programmes et mon site!
User avatar
WistaroSuper Modo
Niveau 15: CC (Chevalier des Calculatrices)
Niveau 15: CC (Chevalier des Calculatrices)
Level up: 88.5%
 
Posts: 3191
Images: 37
Joined: 25 Feb 2013, 16:21
Location: Toulouse
Gender: Male
Calculator(s):
MyCalcs profile
Class: Ingénieur en électronique
YouTube: Wistaro
Twitter: Wistaro
GitHub: Wistaro

Re: Opti-Défi n°3 : Juste-prix graphique

Unread postby Guice » 11 Jul 2014, 11:31

Je sais pas si ça répond à ta question (et je sais pas non plus comment il a fait :p), mais perso, j'aurai fait ça comme ça (Avec la récupération de la valeur des touches 1 2 3 4 5 6 7 8 9 0 en mode bourrin j'avoue^^)

Code: Select all
:ClrDraw
:DelVar CDelVarB25->A
:Repeat C=3
:getKey->K
:Text(31,1,"Input:
:Text(31,A,B
:If K // Désolé :p
:Then
:If K=74
:9->B
:If K=73
:8->B
:If K=72
:7->B
:If K=84
:6->B
:If K=83
:5->B
:If K=82
:4->B
:If K=94
:3->B
:If K=93
:2->B
:If K=92
:1->B
:If K=102
:DelVar B
:A+5(K=105->A
:C+(K=105->C
:End
:End


Comme ça, pas besoin de faire de conversion en chaîne ^^
Image
Last edited by Guice on 11 Jul 2014, 13:57, edited 6 times in total.
User avatar
Guice
Niveau 5: MO (Membre Overclocké)
Niveau 5: MO (Membre Overclocké)
Level up: 88%
 
Posts: 3
Joined: 15 Jun 2014, 15:19
Gender: Male
Calculator(s):
MyCalcs profile
Class: 1ère année ISEN

Re: Opti-Défi n°3 : Juste-prix graphique

Unread postby Wistaro » 11 Jul 2014, 13:16

C'est lourd x)
Nouveau sur le site, ClaudeBot [spider] ? Avant de poster sur le chat et sur le forum, n'oublie pas de lire les règles. En cas de problème, tu peux m'envoyer un message, je réponds rapidement.

Liens utiles:
Image
Découvre mes programmes et mon site!
User avatar
WistaroSuper Modo
Niveau 15: CC (Chevalier des Calculatrices)
Niveau 15: CC (Chevalier des Calculatrices)
Level up: 88.5%
 
Posts: 3191
Images: 37
Joined: 25 Feb 2013, 16:21
Location: Toulouse
Gender: Male
Calculator(s):
MyCalcs profile
Class: Ingénieur en électronique
YouTube: Wistaro
Twitter: Wistaro
GitHub: Wistaro

Re: Opti-Défi n°3 : Juste-prix graphique

Unread postby m@thieu41 » 11 Jul 2014, 13:44

Show/Hide spoilerAfficher/Masquer le spoiler
:If K-0

Bouhouhou :'(
:p


Ca marche, mais effectivement c'est du lourd ;)

J'aurais fait comme ça perso (j'ai pas testé):
Code: Select all
max((K={92,93,94,82,83,84,72,73,74})(seq(A,A,1,9
If Ans or K=102
//Le chiffre est dans Ans


Sinon ya moyen de travailler avec les dizaines/unités de K mais avant faut vérifier que la touche est correct.

EDIT: Rajout de la gestion du 0 ^^
User avatar
m@thieu41Premium
Niveau 11: LV (Légende Vivante)
Niveau 11: LV (Légende Vivante)
Level up: 71.3%
 
Posts: 230
Joined: 20 Jun 2013, 14:24
Gender: Male
Calculator(s):
MyCalcs profile
Class: TS

Re: Opti-Défi n°3 : Juste-prix graphique

Unread postby Persalteas » 11 Jul 2014, 17:37

Là, c'est un bête truc:

Code: Select all
If K=92:"1->Str1
If K=93:"2->Str1
If K=94:"3->Str1
If K=82:"4->Str1
If K=83:"5->Str1
If K=84:"6->Str1
If K=72:"7->Str1
If K=73:"8->Str1
If K=74:"9->Str1
If K=102:"0->Str1
Text(47,9+4length(Str0),"   
Str0+Str1->Str0
Text(44,13,Str0


Mais la méthode de m@thieu41 est bien plus propre. Je ne la connaissais pas, à l'époque... J'ai appris à utiliser correctement les listes que plus tard :P
User avatar
PersalteasMembre UPECS
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Level up: 6.2%
 
Posts: 2337
Images: 113
Joined: 04 Feb 2010, 00:00
Location: Evry (France)
Gender: Male
Calculator(s):
MyCalcs profile
Class: PhD candidate, Bioinformatics

Re: Opti-Défi n°3 : Juste-prix graphique

Unread postby mdr1 » 12 Jul 2014, 18:27

Bienvenue Guice ! Magnifique programme ! ;)

@m@thieu41 :
m@thieu41 wrote:
Code: Select all
max((K={92,93,94,82,83,84,72,73,74})(seq(A,A,1,9
If Ans or K=102
//Le chiffre est dans Ans

Autant mettre le seq avant pour gagner 2 octets :

Code: Select all
max(seq(A,A,1,9)(K={92,93,94,82,83,84,72,73,74
If Ans or K=102
//Le chiffre est dans Ans
Image ImageImage
User avatar
mdr1Premium
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Level up: 44%
 
Posts: 1083
Images: 12
Joined: 28 Mar 2011, 00:00
Gender: Not specified
Calculator(s):
MyCalcs profile
Class: Je voyage toujours en première.

PreviousNext

Return to TI-Basic

Who is online

Users browsing this forum: ClaudeBot [spider] and 7 guests

-
Search
-
Social TI-Planet
-
Featured topics
Comparaisons des meilleurs prix pour acheter sa calculatrice !
"1 calculatrice pour tous", le programme solidaire de Texas Instruments. Reçois gratuitement et sans aucune obligation d'achat, 5 calculatrices couleur programmables en Python à donner aux élèves les plus nécessiteux de ton lycée. Tu peux recevoir au choix 5 TI-82 Advanced Edition Python ou bien 5 TI-83 Premium CE Edition Python.
Enseignant(e), reçois gratuitement 1 exemplaire de test de la TI-82 Advanced Edition Python. À demander d'ici le 31 décembre 2024.
Aidez la communauté à documenter les révisions matérielles en listant vos calculatrices graphiques !
1234
-
Donations / Premium
For more contests, prizes, reviews, helping us pay the server and domains...
Donate
Discover the the advantages of a donor account !
JoinRejoignez the donors and/or premium!les donateurs et/ou premium !


Partner and ad
Notre partenaire Jarrety Calculatrices à acheter chez Calcuso
-
Stats.
1547 utilisateurs:
>1499 invités
>42 membres
>6 robots
Record simultané (sur 6 mois):
6892 utilisateurs (le 07/06/2017)
-
Other interesting websites
Texas Instruments Education
Global | France
 (English / Français)
Banque de programmes TI
ticalc.org
 (English)
La communauté TI-82
tout82.free.fr
 (Français)